@attocash/cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +28 -0
- package/README.md +707 -0
- package/dist/application/app.d.ts +138 -0
- package/dist/application/app.js +654 -0
- package/dist/application/operations.d.ts +9 -0
- package/dist/application/operations.js +96 -0
- package/dist/cli/cli.d.ts +1 -0
- package/dist/cli/cli.js +460 -0
- package/dist/cli/help.d.ts +4 -0
- package/dist/cli/help.js +49 -0
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.js +13 -0
- package/dist/cli/onboarding.d.ts +14 -0
- package/dist/cli/onboarding.js +144 -0
- package/dist/cli/output.d.ts +2 -0
- package/dist/cli/output.js +231 -0
- package/dist/cli/terminal.d.ts +6 -0
- package/dist/cli/terminal.js +92 -0
- package/dist/cli/update-check.d.ts +1 -0
- package/dist/cli/update-check.js +12 -0
- package/dist/cli/updates.d.ts +2 -0
- package/dist/cli/updates.js +98 -0
- package/dist/core.d.ts +14 -0
- package/dist/core.js +14 -0
- package/dist/doctor/credential-probe.d.ts +7 -0
- package/dist/doctor/credential-probe.js +49 -0
- package/dist/doctor/doctor.d.ts +4 -0
- package/dist/doctor/doctor.js +213 -0
- package/dist/doctor/keyring.d.ts +7 -0
- package/dist/doctor/keyring.js +150 -0
- package/dist/doctor/profile.d.ts +19 -0
- package/dist/doctor/profile.js +73 -0
- package/dist/doctor/types.d.ts +40 -0
- package/dist/doctor/types.js +1 -0
- package/dist/domain/amount.d.ts +6 -0
- package/dist/domain/amount.js +27 -0
- package/dist/domain/errors.d.ts +10 -0
- package/dist/domain/errors.js +16 -0
- package/dist/labels/directory.d.ts +87 -0
- package/dist/labels/directory.js +140 -0
- package/dist/labels/personal.d.ts +17 -0
- package/dist/labels/personal.js +56 -0
- package/dist/labels/presentation.d.ts +154 -0
- package/dist/labels/presentation.js +90 -0
- package/dist/network/reader.d.ts +31 -0
- package/dist/network/reader.js +370 -0
- package/dist/network/retry.d.ts +7 -0
- package/dist/network/retry.js +53 -0
- package/dist/network/work.d.ts +3 -0
- package/dist/network/work.js +66 -0
- package/dist/pricing/market.d.ts +29 -0
- package/dist/pricing/market.js +150 -0
- package/dist/pricing/terms.d.ts +6 -0
- package/dist/pricing/terms.js +12 -0
- package/dist/spending/destination.d.ts +16 -0
- package/dist/spending/destination.js +42 -0
- package/dist/spending/journal.d.ts +28 -0
- package/dist/spending/journal.js +69 -0
- package/dist/spending/ledger.d.ts +118 -0
- package/dist/spending/ledger.js +444 -0
- package/dist/spending/payments.d.ts +67 -0
- package/dist/spending/payments.js +424 -0
- package/dist/spending/pool.d.ts +13 -0
- package/dist/spending/pool.js +38 -0
- package/dist/spending/reconcile.d.ts +18 -0
- package/dist/spending/reconcile.js +64 -0
- package/dist/storage/profiles.d.ts +13 -0
- package/dist/storage/profiles.js +86 -0
- package/dist/storage/secrets.d.ts +16 -0
- package/dist/storage/secrets.js +104 -0
- package/dist/storage/state.d.ts +32 -0
- package/dist/storage/state.js +255 -0
- package/dist/wallet/auto-receive.d.ts +57 -0
- package/dist/wallet/auto-receive.js +140 -0
- package/dist/wallet/defaults.d.ts +3 -0
- package/dist/wallet/defaults.js +26 -0
- package/dist/wallet/signing.d.ts +17 -0
- package/dist/wallet/signing.js +128 -0
- package/dist/wallet/types.d.ts +65 -0
- package/dist/wallet/types.js +1 -0
- package/dist/wallet/work.d.ts +29 -0
- package/dist/wallet/work.js +154 -0
- package/dist/watches/manager.d.ts +75 -0
- package/dist/watches/manager.js +197 -0
- package/node_modules/@attocash/commons-core/Kotlin-DateTime-library-kotlinx-datetime.mjs +6678 -0
- package/node_modules/@attocash/commons-core/Kotlin-DateTime-library-kotlinx-datetime.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/LICENSE +28 -0
- package/node_modules/@attocash/commons-core/README.md +118 -0
- package/node_modules/@attocash/commons-core/commons-commons-core.d.mts +1036 -0
- package/node_modules/@attocash/commons-core/commons-commons-core.mjs +7701 -0
- package/node_modules/@attocash/commons-core/commons-commons-core.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/kotlin-kotlin-stdlib.mjs +17681 -0
- package/node_modules/@attocash/commons-core/kotlin-kotlin-stdlib.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/kotlin_org_jetbrains_kotlin_kotlin_dom_api_compat.mjs +4 -0
- package/node_modules/@attocash/commons-core/kotlin_org_jetbrains_kotlin_kotlin_dom_api_compat.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-bytestring.mjs +209 -0
- package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-bytestring.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-core.mjs +2284 -0
- package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-core.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-core.mjs +6042 -0
- package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-core.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
- package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
- package/node_modules/@attocash/commons-core/package.json +27 -0
- package/node_modules/@attocash/commons-node/LICENSE +28 -0
- package/node_modules/@attocash/commons-node/README.md +92 -0
- package/node_modules/@attocash/commons-node/commons-commons-node.d.mts +255 -0
- package/node_modules/@attocash/commons-node/commons-commons-node.mjs +2977 -0
- package/node_modules/@attocash/commons-node/commons-commons-node.mjs.map +1 -0
- package/node_modules/@attocash/commons-node/kotlin-logging.mjs +432 -0
- package/node_modules/@attocash/commons-node/kotlin-logging.mjs.map +1 -0
- package/node_modules/@attocash/commons-node/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
- package/node_modules/@attocash/commons-node/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
- package/node_modules/@attocash/commons-node/package.json +29 -0
- package/node_modules/@attocash/commons-node-remote/LICENSE +28 -0
- package/node_modules/@attocash/commons-node-remote/README.md +61 -0
- package/node_modules/@attocash/commons-node-remote/commons-commons-node-remote.d.mts +122 -0
- package/node_modules/@attocash/commons-node-remote/commons-commons-node-remote.mjs +1810 -0
- package/node_modules/@attocash/commons-node-remote/commons-commons-node-remote.mjs.map +1 -0
- package/node_modules/@attocash/commons-node-remote/kotlin-logging.mjs +432 -0
- package/node_modules/@attocash/commons-node-remote/kotlin-logging.mjs.map +1 -0
- package/node_modules/@attocash/commons-node-remote/kotlinx-browser.mjs +8 -0
- package/node_modules/@attocash/commons-node-remote/kotlinx-browser.mjs.map +1 -0
- package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs +4 -0
- package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs.map +1 -0
- package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
- package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
- package/node_modules/@attocash/commons-node-remote/package.json +31 -0
- package/node_modules/@attocash/commons-transport/LICENSE +28 -0
- package/node_modules/@attocash/commons-transport/README.md +5 -0
- package/node_modules/@attocash/commons-transport/commons-commons-transport.d.mts +64 -0
- package/node_modules/@attocash/commons-transport/commons-commons-transport.mjs +249 -0
- package/node_modules/@attocash/commons-transport/commons-commons-transport.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/kotlinx-atomicfu.mjs +263 -0
- package/node_modules/@attocash/commons-transport/kotlinx-atomicfu.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/kotlinx-browser.mjs +8 -0
- package/node_modules/@attocash/commons-transport/kotlinx-browser.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/kotlinx-coroutines-core.mjs +11604 -0
- package/node_modules/@attocash/commons-transport/kotlinx-coroutines-core.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json-io.mjs +4 -0
- package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json-io.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
- package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-client-content-negotiation.mjs +499 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-client-content-negotiation.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-client-core.mjs +6456 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-client-core.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-events.mjs +83 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-events.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-http-cio.mjs +1714 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-http-cio.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-http.mjs +3197 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-http.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-io.mjs +2290 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-io.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx-json.mjs +46 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx-json.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx.mjs +482 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-serialization.mjs +165 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-serialization.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-sse.mjs +4 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-sse.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-utils.mjs +3222 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-utils.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-websocket-serialization.mjs +4 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-websocket-serialization.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-websockets.mjs +1485 -0
- package/node_modules/@attocash/commons-transport/ktor-ktor-websockets.mjs.map +1 -0
- package/node_modules/@attocash/commons-transport/package.json +29 -0
- package/node_modules/@attocash/commons-worker/LICENSE +28 -0
- package/node_modules/@attocash/commons-worker/README.md +48 -0
- package/node_modules/@attocash/commons-worker/commons-commons-worker.d.mts +73 -0
- package/node_modules/@attocash/commons-worker/commons-commons-worker.mjs +702 -0
- package/node_modules/@attocash/commons-worker/commons-commons-worker.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker/kotlin-logging.mjs +432 -0
- package/node_modules/@attocash/commons-worker/kotlin-logging.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
- package/node_modules/@attocash/commons-worker/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker/package.json +29 -0
- package/node_modules/@attocash/commons-worker-remote/LICENSE +28 -0
- package/node_modules/@attocash/commons-worker-remote/README.md +60 -0
- package/node_modules/@attocash/commons-worker-remote/commons-commons-worker-remote.d.mts +93 -0
- package/node_modules/@attocash/commons-worker-remote/commons-commons-worker-remote.mjs +289 -0
- package/node_modules/@attocash/commons-worker-remote/commons-commons-worker-remote.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker-remote/kotlin-logging.mjs +432 -0
- package/node_modules/@attocash/commons-worker-remote/kotlin-logging.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker-remote/kotlinx-browser.mjs +8 -0
- package/node_modules/@attocash/commons-worker-remote/kotlinx-browser.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs +4 -0
- package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
- package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
- package/node_modules/@attocash/commons-worker-remote/package.json +31 -0
- package/node_modules/@js-joda/core/CHANGELOG.md +363 -0
- package/node_modules/@js-joda/core/CheatSheet.md +947 -0
- package/node_modules/@js-joda/core/LICENSE +34 -0
- package/node_modules/@js-joda/core/README.md +155 -0
- package/node_modules/@js-joda/core/bower.json +21 -0
- package/node_modules/@js-joda/core/dist/js-joda.d.ts +2452 -0
- package/node_modules/@js-joda/core/dist/js-joda.esm.js +13564 -0
- package/node_modules/@js-joda/core/dist/js-joda.flow.js +949 -0
- package/node_modules/@js-joda/core/dist/js-joda.js +13630 -0
- package/node_modules/@js-joda/core/dist/js-joda.js.map +1 -0
- package/node_modules/@js-joda/core/dist/js-joda.min.js +5 -0
- package/node_modules/@js-joda/core/package.json +76 -0
- package/node_modules/@js-joda/core/src/Clock.js +330 -0
- package/node_modules/@js-joda/core/src/DayOfWeek.js +451 -0
- package/node_modules/@js-joda/core/src/Duration.js +1205 -0
- package/node_modules/@js-joda/core/src/Enum.js +30 -0
- package/node_modules/@js-joda/core/src/Instant.js +1012 -0
- package/node_modules/@js-joda/core/src/LocalDate.js +1703 -0
- package/node_modules/@js-joda/core/src/LocalDateTime.js +1686 -0
- package/node_modules/@js-joda/core/src/LocalTime.js +1415 -0
- package/node_modules/@js-joda/core/src/MathUtil.js +236 -0
- package/node_modules/@js-joda/core/src/Month.js +600 -0
- package/node_modules/@js-joda/core/src/MonthDay.js +730 -0
- package/node_modules/@js-joda/core/src/OffsetDateTime.js +757 -0
- package/node_modules/@js-joda/core/src/OffsetTime.js +621 -0
- package/node_modules/@js-joda/core/src/Period.js +933 -0
- package/node_modules/@js-joda/core/src/StringUtil.js +43 -0
- package/node_modules/@js-joda/core/src/Year.js +1015 -0
- package/node_modules/@js-joda/core/src/YearConstants.js +21 -0
- package/node_modules/@js-joda/core/src/YearMonth.js +1096 -0
- package/node_modules/@js-joda/core/src/ZoneId.js +236 -0
- package/node_modules/@js-joda/core/src/ZoneIdFactory.js +201 -0
- package/node_modules/@js-joda/core/src/ZoneOffset.js +486 -0
- package/node_modules/@js-joda/core/src/ZoneRegion.js +72 -0
- package/node_modules/@js-joda/core/src/ZonedDateTime.js +2007 -0
- package/node_modules/@js-joda/core/src/_init.js +68 -0
- package/node_modules/@js-joda/core/src/assert.js +33 -0
- package/node_modules/@js-joda/core/src/chrono/ChronoLocalDate.js +230 -0
- package/node_modules/@js-joda/core/src/chrono/ChronoLocalDateTime.js +130 -0
- package/node_modules/@js-joda/core/src/chrono/ChronoZonedDateTime.js +194 -0
- package/node_modules/@js-joda/core/src/chrono/IsoChronology.js +235 -0
- package/node_modules/@js-joda/core/src/convert.js +83 -0
- package/node_modules/@js-joda/core/src/errors.js +54 -0
- package/node_modules/@js-joda/core/src/format/DateTimeBuilder.js +535 -0
- package/node_modules/@js-joda/core/src/format/DateTimeFormatter.js +728 -0
- package/node_modules/@js-joda/core/src/format/DateTimeFormatterBuilder.js +1545 -0
- package/node_modules/@js-joda/core/src/format/DateTimeParseContext.js +297 -0
- package/node_modules/@js-joda/core/src/format/DateTimePrintContext.js +138 -0
- package/node_modules/@js-joda/core/src/format/DecimalStyle.js +113 -0
- package/node_modules/@js-joda/core/src/format/EnumMap.js +70 -0
- package/node_modules/@js-joda/core/src/format/ParsePosition.js +31 -0
- package/node_modules/@js-joda/core/src/format/ResolverStyle.js +93 -0
- package/node_modules/@js-joda/core/src/format/SignStyle.js +38 -0
- package/node_modules/@js-joda/core/src/format/StringBuilder.js +47 -0
- package/node_modules/@js-joda/core/src/format/TextStyle.js +114 -0
- package/node_modules/@js-joda/core/src/format/parser/CharLiteralPrinterParser.js +46 -0
- package/node_modules/@js-joda/core/src/format/parser/CompositePrinterParser.js +89 -0
- package/node_modules/@js-joda/core/src/format/parser/FractionPrinterParser.js +162 -0
- package/node_modules/@js-joda/core/src/format/parser/NumberPrinterParser.js +367 -0
- package/node_modules/@js-joda/core/src/format/parser/OffsetIdPrinterParser.js +177 -0
- package/node_modules/@js-joda/core/src/format/parser/PadPrinterParserDecorator.js +81 -0
- package/node_modules/@js-joda/core/src/format/parser/SettingsParser.js +44 -0
- package/node_modules/@js-joda/core/src/format/parser/StringLiteralPrinterParser.js +39 -0
- package/node_modules/@js-joda/core/src/format/parser/ZoneIdPrinterParser.js +218 -0
- package/node_modules/@js-joda/core/src/js-joda.js +210 -0
- package/node_modules/@js-joda/core/src/license-preamble.js +3 -0
- package/node_modules/@js-joda/core/src/temporal/ChronoField.js +470 -0
- package/node_modules/@js-joda/core/src/temporal/ChronoUnit.js +310 -0
- package/node_modules/@js-joda/core/src/temporal/DefaultInterfaceTemporal.js +118 -0
- package/node_modules/@js-joda/core/src/temporal/IsoFields.js +859 -0
- package/node_modules/@js-joda/core/src/temporal/NativeJsTemporal.js +105 -0
- package/node_modules/@js-joda/core/src/temporal/Temporal.js +346 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalAccessor.js +125 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalAdjuster.js +92 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalAdjusters.js +464 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalAmount.js +166 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalField.js +248 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalQueries.js +223 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalQueriesFactory.js +77 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalQuery.js +107 -0
- package/node_modules/@js-joda/core/src/temporal/TemporalUnit.js +179 -0
- package/node_modules/@js-joda/core/src/temporal/ValueRange.js +257 -0
- package/node_modules/@js-joda/core/src/use.js +20 -0
- package/node_modules/@js-joda/core/src/zone/SystemDefaultZoneId.js +31 -0
- package/node_modules/@js-joda/core/src/zone/SystemDefaultZoneRules.js +162 -0
- package/node_modules/@js-joda/core/src/zone/ZoneOffsetTransition.js +289 -0
- package/node_modules/@js-joda/core/src/zone/ZoneRules.js +464 -0
- package/node_modules/@js-joda/core/src/zone/ZoneRulesProvider.js +36 -0
- package/node_modules/@noble/hashes/LICENSE +21 -0
- package/node_modules/@noble/hashes/README.md +563 -0
- package/node_modules/@noble/hashes/_blake.d.ts +21 -0
- package/node_modules/@noble/hashes/_blake.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_blake.js +52 -0
- package/node_modules/@noble/hashes/_blake.js.map +1 -0
- package/node_modules/@noble/hashes/_md.d.ts +99 -0
- package/node_modules/@noble/hashes/_md.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_md.js +202 -0
- package/node_modules/@noble/hashes/_md.js.map +1 -0
- package/node_modules/@noble/hashes/_u64.d.ts +63 -0
- package/node_modules/@noble/hashes/_u64.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_u64.js +84 -0
- package/node_modules/@noble/hashes/_u64.js.map +1 -0
- package/node_modules/@noble/hashes/argon2.d.ts +112 -0
- package/node_modules/@noble/hashes/argon2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/argon2.js +517 -0
- package/node_modules/@noble/hashes/argon2.js.map +1 -0
- package/node_modules/@noble/hashes/blake1.d.ts +156 -0
- package/node_modules/@noble/hashes/blake1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake1.js +560 -0
- package/node_modules/@noble/hashes/blake1.js.map +1 -0
- package/node_modules/@noble/hashes/blake2.d.ts +184 -0
- package/node_modules/@noble/hashes/blake2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake2.js +501 -0
- package/node_modules/@noble/hashes/blake2.js.map +1 -0
- package/node_modules/@noble/hashes/blake3.d.ts +68 -0
- package/node_modules/@noble/hashes/blake3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake3.js +284 -0
- package/node_modules/@noble/hashes/blake3.js.map +1 -0
- package/node_modules/@noble/hashes/eskdf.d.ts +92 -0
- package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/eskdf.js +218 -0
- package/node_modules/@noble/hashes/eskdf.js.map +1 -0
- package/node_modules/@noble/hashes/hkdf.d.ts +64 -0
- package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hkdf.js +120 -0
- package/node_modules/@noble/hashes/hkdf.js.map +1 -0
- package/node_modules/@noble/hashes/hmac.d.ts +47 -0
- package/node_modules/@noble/hashes/hmac.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hmac.js +93 -0
- package/node_modules/@noble/hashes/hmac.js.map +1 -0
- package/node_modules/@noble/hashes/index.d.ts +2 -0
- package/node_modules/@noble/hashes/index.d.ts.map +1 -0
- package/node_modules/@noble/hashes/index.js +35 -0
- package/node_modules/@noble/hashes/index.js.map +1 -0
- package/node_modules/@noble/hashes/legacy.d.ts +102 -0
- package/node_modules/@noble/hashes/legacy.d.ts.map +1 -0
- package/node_modules/@noble/hashes/legacy.js +327 -0
- package/node_modules/@noble/hashes/legacy.js.map +1 -0
- package/node_modules/@noble/hashes/package.json +97 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts +56 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/pbkdf2.js +135 -0
- package/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
- package/node_modules/@noble/hashes/scrypt.d.ts +65 -0
- package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -0
- package/node_modules/@noble/hashes/scrypt.js +257 -0
- package/node_modules/@noble/hashes/scrypt.js.map +1 -0
- package/node_modules/@noble/hashes/sha2.d.ts +249 -0
- package/node_modules/@noble/hashes/sha2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha2.js +458 -0
- package/node_modules/@noble/hashes/sha2.js.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts +461 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.js +783 -0
- package/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
- package/node_modules/@noble/hashes/sha3.d.ts +199 -0
- package/node_modules/@noble/hashes/sha3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3.js +431 -0
- package/node_modules/@noble/hashes/sha3.js.map +1 -0
- package/node_modules/@noble/hashes/src/_blake.ts +57 -0
- package/node_modules/@noble/hashes/src/_md.ts +222 -0
- package/node_modules/@noble/hashes/src/_u64.ts +117 -0
- package/node_modules/@noble/hashes/src/argon2.ts +667 -0
- package/node_modules/@noble/hashes/src/blake1.ts +614 -0
- package/node_modules/@noble/hashes/src/blake2.ts +582 -0
- package/node_modules/@noble/hashes/src/blake3.ts +317 -0
- package/node_modules/@noble/hashes/src/eskdf.ts +259 -0
- package/node_modules/@noble/hashes/src/hkdf.ts +133 -0
- package/node_modules/@noble/hashes/src/hmac.ts +126 -0
- package/node_modules/@noble/hashes/src/index.ts +33 -0
- package/node_modules/@noble/hashes/src/legacy.ts +339 -0
- package/node_modules/@noble/hashes/src/pbkdf2.ts +175 -0
- package/node_modules/@noble/hashes/src/scrypt.ts +315 -0
- package/node_modules/@noble/hashes/src/sha2.ts +530 -0
- package/node_modules/@noble/hashes/src/sha3-addons.ts +983 -0
- package/node_modules/@noble/hashes/src/sha3.ts +485 -0
- package/node_modules/@noble/hashes/src/utils.ts +848 -0
- package/node_modules/@noble/hashes/src/webcrypto.ts +239 -0
- package/node_modules/@noble/hashes/utils.d.ts +519 -0
- package/node_modules/@noble/hashes/utils.d.ts.map +1 -0
- package/node_modules/@noble/hashes/utils.js +578 -0
- package/node_modules/@noble/hashes/utils.js.map +1 -0
- package/node_modules/@noble/hashes/webcrypto.d.ts +120 -0
- package/node_modules/@noble/hashes/webcrypto.d.ts.map +1 -0
- package/node_modules/@noble/hashes/webcrypto.js +165 -0
- package/node_modules/@noble/hashes/webcrypto.js.map +1 -0
- package/node_modules/ws/LICENSE +20 -0
- package/node_modules/ws/README.md +548 -0
- package/node_modules/ws/browser.js +8 -0
- package/node_modules/ws/index.js +22 -0
- package/node_modules/ws/lib/buffer-util.js +131 -0
- package/node_modules/ws/lib/constants.js +19 -0
- package/node_modules/ws/lib/event-target.js +292 -0
- package/node_modules/ws/lib/extension.js +203 -0
- package/node_modules/ws/lib/limiter.js +55 -0
- package/node_modules/ws/lib/permessage-deflate.js +530 -0
- package/node_modules/ws/lib/receiver.js +743 -0
- package/node_modules/ws/lib/sender.js +607 -0
- package/node_modules/ws/lib/stream.js +161 -0
- package/node_modules/ws/lib/subprotocol.js +62 -0
- package/node_modules/ws/lib/validation.js +152 -0
- package/node_modules/ws/lib/websocket-server.js +562 -0
- package/node_modules/ws/lib/websocket.js +1407 -0
- package/node_modules/ws/package.json +74 -0
- package/node_modules/ws/wrapper.mjs +21 -0
- package/package.json +53 -0
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright (c) 2016, Philipp Thürwächter & Pattrick Hüper
|
|
3
|
+
* @copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos
|
|
4
|
+
* @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import {requireNonNull} from './assert';
|
|
8
|
+
import {DateTimeException} from './errors';
|
|
9
|
+
import {MathUtil} from './MathUtil';
|
|
10
|
+
|
|
11
|
+
import {LocalTime} from './LocalTime';
|
|
12
|
+
import {ZoneId} from './ZoneId';
|
|
13
|
+
|
|
14
|
+
import {ChronoField} from './temporal/ChronoField';
|
|
15
|
+
import {TemporalQueries} from './temporal/TemporalQueries';
|
|
16
|
+
|
|
17
|
+
import {ZoneRules} from './zone/ZoneRules';
|
|
18
|
+
|
|
19
|
+
const SECONDS_CACHE = {};
|
|
20
|
+
const ID_CACHE = {};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* ### Static properties of Class {@link LocalDate}
|
|
25
|
+
*
|
|
26
|
+
* ZoneOffset.MAX_SECONDS = 18 * LocalTime.SECONDS_PER_HOUR;
|
|
27
|
+
*
|
|
28
|
+
* ZoneOffset.UTC = ZoneOffset.ofTotalSeconds(0);
|
|
29
|
+
*
|
|
30
|
+
* ZoneOffset.MIN = ZoneOffset.ofTotalSeconds(-ZoneOffset.MAX_SECONDS);
|
|
31
|
+
*
|
|
32
|
+
* ZoneOffset.MAX = ZoneOffset.ofTotalSeconds(ZoneOffset.MAX_SECONDS);
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
export class ZoneOffset extends ZoneId {
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param {number} totalSeconds
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
constructor(totalSeconds){
|
|
42
|
+
super();
|
|
43
|
+
ZoneOffset._validateTotalSeconds(totalSeconds);
|
|
44
|
+
this._totalSeconds = MathUtil.safeToInt(totalSeconds);
|
|
45
|
+
this._rules = ZoneRules.of(this);
|
|
46
|
+
this._id = ZoneOffset._buildId(totalSeconds);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @returns {number}
|
|
52
|
+
*/
|
|
53
|
+
totalSeconds() {
|
|
54
|
+
return this._totalSeconds;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* @returns {string}
|
|
60
|
+
*/
|
|
61
|
+
id() {
|
|
62
|
+
return this._id;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
*
|
|
67
|
+
* @param {number} totalSeconds
|
|
68
|
+
* @returns {string}
|
|
69
|
+
*/
|
|
70
|
+
static _buildId(totalSeconds) {
|
|
71
|
+
if (totalSeconds === 0) {
|
|
72
|
+
return 'Z';
|
|
73
|
+
} else {
|
|
74
|
+
const absTotalSeconds = Math.abs(totalSeconds);
|
|
75
|
+
const absHours = MathUtil.intDiv(absTotalSeconds, LocalTime.SECONDS_PER_HOUR);
|
|
76
|
+
const absMinutes = MathUtil.intMod(MathUtil.intDiv(absTotalSeconds, LocalTime.SECONDS_PER_MINUTE), LocalTime.MINUTES_PER_HOUR);
|
|
77
|
+
let buf = '' + (totalSeconds < 0 ? '-' : '+')
|
|
78
|
+
+ (absHours < 10 ? '0' : '') + (absHours)
|
|
79
|
+
+ (absMinutes < 10 ? ':0' : ':') + (absMinutes);
|
|
80
|
+
const absSeconds = MathUtil.intMod(absTotalSeconds, LocalTime.SECONDS_PER_MINUTE);
|
|
81
|
+
if (absSeconds !== 0) {
|
|
82
|
+
buf += (absSeconds < 10 ? ':0' : ':') + (absSeconds);
|
|
83
|
+
}
|
|
84
|
+
return buf;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @param {number} totalSeconds
|
|
92
|
+
* @private
|
|
93
|
+
*/
|
|
94
|
+
static _validateTotalSeconds(totalSeconds){
|
|
95
|
+
if (Math.abs(totalSeconds) > ZoneOffset.MAX_SECONDS) {
|
|
96
|
+
throw new DateTimeException('Zone offset not in valid range: -18:00 to +18:00');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
* @param {number} hours
|
|
103
|
+
* @param {number} minutes
|
|
104
|
+
* @param {number} seconds
|
|
105
|
+
* @private
|
|
106
|
+
*/
|
|
107
|
+
static _validate(hours, minutes, seconds) {
|
|
108
|
+
if (hours < -18 || hours > 18) {
|
|
109
|
+
throw new DateTimeException('Zone offset hours not in valid range: value ' + hours +
|
|
110
|
+
' is not in the range -18 to 18');
|
|
111
|
+
}
|
|
112
|
+
if (hours > 0) {
|
|
113
|
+
if (minutes < 0 || seconds < 0) {
|
|
114
|
+
throw new DateTimeException('Zone offset minutes and seconds must be positive because hours is positive');
|
|
115
|
+
}
|
|
116
|
+
} else if (hours < 0) {
|
|
117
|
+
if (minutes > 0 || seconds > 0) {
|
|
118
|
+
throw new DateTimeException('Zone offset minutes and seconds must be negative because hours is negative');
|
|
119
|
+
}
|
|
120
|
+
} else if ((minutes > 0 && seconds < 0) || (minutes < 0 && seconds > 0)) {
|
|
121
|
+
throw new DateTimeException('Zone offset minutes and seconds must have the same sign');
|
|
122
|
+
}
|
|
123
|
+
if (Math.abs(minutes) > 59) {
|
|
124
|
+
throw new DateTimeException('Zone offset minutes not in valid range: abs(value) ' +
|
|
125
|
+
Math.abs(minutes) + ' is not in the range 0 to 59');
|
|
126
|
+
}
|
|
127
|
+
if (Math.abs(seconds) > 59) {
|
|
128
|
+
throw new DateTimeException('Zone offset seconds not in valid range: abs(value) ' +
|
|
129
|
+
Math.abs(seconds) + ' is not in the range 0 to 59');
|
|
130
|
+
}
|
|
131
|
+
if (Math.abs(hours) === 18 && (Math.abs(minutes) > 0 || Math.abs(seconds) > 0)) {
|
|
132
|
+
throw new DateTimeException('Zone offset not in valid range: -18:00 to +18:00');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
//-----------------------------------------------------------------------
|
|
137
|
+
/**
|
|
138
|
+
* Obtains an instance of {@link ZoneOffset} using the ID.
|
|
139
|
+
*
|
|
140
|
+
* This method parses the string ID of a {@link ZoneOffset} to
|
|
141
|
+
* return an instance. The parsing accepts all the formats generated by
|
|
142
|
+
* {@link getId}, plus some additional formats:
|
|
143
|
+
*
|
|
144
|
+
* * {@link Z} - for UTC
|
|
145
|
+
* * `+h`
|
|
146
|
+
* * `+hh`
|
|
147
|
+
* * `+hh:mm`
|
|
148
|
+
* * `-hh:mm`
|
|
149
|
+
* * `+hhmm`
|
|
150
|
+
* * `-hhmm`
|
|
151
|
+
* * `+hh:mm:ss`
|
|
152
|
+
* * `-hh:mm:ss`
|
|
153
|
+
* * `+hhmmss`
|
|
154
|
+
* * `-hhmmss`
|
|
155
|
+
*
|
|
156
|
+
* Note that ± means either the plus or minus symbol.
|
|
157
|
+
*
|
|
158
|
+
* The ID of the returned offset will be normalized to one of the formats
|
|
159
|
+
* described by {@link getId}.
|
|
160
|
+
*
|
|
161
|
+
* The maximum supported range is from +18:00 to -18:00 inclusive.
|
|
162
|
+
*
|
|
163
|
+
* @param {string} offsetId the offset ID, not null
|
|
164
|
+
* @return {ZoneOffset} the zone-offset, not null
|
|
165
|
+
* @throws DateTimeException if the offset ID is invalid
|
|
166
|
+
*/
|
|
167
|
+
static of(offsetId) {
|
|
168
|
+
requireNonNull(offsetId, 'offsetId');
|
|
169
|
+
// "Z" is always in the cache
|
|
170
|
+
const offset = ID_CACHE[offsetId];
|
|
171
|
+
if (offset != null) {
|
|
172
|
+
return offset;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// parse - +h, +hh, +hhmm, +hh:mm, +hhmmss, +hh:mm:ss
|
|
176
|
+
let hours, minutes, seconds;
|
|
177
|
+
switch (offsetId.length) {
|
|
178
|
+
case 2:
|
|
179
|
+
offsetId = offsetId[0] + '0' + offsetId[1]; // fallthru
|
|
180
|
+
// eslint-disable-next-line no-fallthrough
|
|
181
|
+
case 3:
|
|
182
|
+
hours = ZoneOffset._parseNumber(offsetId, 1, false);
|
|
183
|
+
minutes = 0;
|
|
184
|
+
seconds = 0;
|
|
185
|
+
break;
|
|
186
|
+
case 5:
|
|
187
|
+
hours = ZoneOffset._parseNumber(offsetId, 1, false);
|
|
188
|
+
minutes = ZoneOffset._parseNumber(offsetId, 3, false);
|
|
189
|
+
seconds = 0;
|
|
190
|
+
break;
|
|
191
|
+
case 6:
|
|
192
|
+
hours = ZoneOffset._parseNumber(offsetId, 1, false);
|
|
193
|
+
minutes = ZoneOffset._parseNumber(offsetId, 4, true);
|
|
194
|
+
seconds = 0;
|
|
195
|
+
break;
|
|
196
|
+
case 7:
|
|
197
|
+
hours = ZoneOffset._parseNumber(offsetId, 1, false);
|
|
198
|
+
minutes = ZoneOffset._parseNumber(offsetId, 3, false);
|
|
199
|
+
seconds = ZoneOffset._parseNumber(offsetId, 5, false);
|
|
200
|
+
break;
|
|
201
|
+
case 9:
|
|
202
|
+
hours = ZoneOffset._parseNumber(offsetId, 1, false);
|
|
203
|
+
minutes = ZoneOffset._parseNumber(offsetId, 4, true);
|
|
204
|
+
seconds = ZoneOffset._parseNumber(offsetId, 7, true);
|
|
205
|
+
break;
|
|
206
|
+
default:
|
|
207
|
+
throw new DateTimeException('Invalid ID for ZoneOffset, invalid format: ' + offsetId);
|
|
208
|
+
}
|
|
209
|
+
const first = offsetId[0];
|
|
210
|
+
if (first !== '+' && first !== '-') {
|
|
211
|
+
throw new DateTimeException('Invalid ID for ZoneOffset, plus/minus not found when expected: ' + offsetId);
|
|
212
|
+
}
|
|
213
|
+
if (first === '-') {
|
|
214
|
+
return ZoneOffset.ofHoursMinutesSeconds(-hours, -minutes, -seconds);
|
|
215
|
+
} else {
|
|
216
|
+
return ZoneOffset.ofHoursMinutesSeconds(hours, minutes, seconds);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Parse a two digit zero-prefixed number.
|
|
222
|
+
*
|
|
223
|
+
* @param {string} offsetId - the offset ID, not null
|
|
224
|
+
* @param {number} pos - the position to parse, valid
|
|
225
|
+
* @param {boolean} precededByColon - should this number be prefixed by a precededByColon
|
|
226
|
+
* @return {number} the parsed number, from 0 to 99
|
|
227
|
+
*/
|
|
228
|
+
static _parseNumber(offsetId, pos, precededByColon) {
|
|
229
|
+
if (precededByColon && offsetId[pos - 1] !== ':') {
|
|
230
|
+
throw new DateTimeException('Invalid ID for ZoneOffset, colon not found when expected: ' + offsetId);
|
|
231
|
+
}
|
|
232
|
+
const ch1 = offsetId[pos];
|
|
233
|
+
const ch2 = offsetId[pos + 1];
|
|
234
|
+
if (ch1 < '0' || ch1 > '9' || ch2 < '0' || ch2 > '9') {
|
|
235
|
+
throw new DateTimeException('Invalid ID for ZoneOffset, non numeric characters found: ' + offsetId);
|
|
236
|
+
}
|
|
237
|
+
return (ch1.charCodeAt(0) - 48) * 10 + (ch2.charCodeAt(0) - 48);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
*
|
|
242
|
+
* @param {number} hours
|
|
243
|
+
* @returns {ZoneOffset}
|
|
244
|
+
*/
|
|
245
|
+
static ofHours(hours) {
|
|
246
|
+
return ZoneOffset.ofHoursMinutesSeconds(hours, 0, 0);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
*
|
|
251
|
+
* @param {number} hours
|
|
252
|
+
* @param {number} minutes
|
|
253
|
+
* @returns {ZoneOffset}
|
|
254
|
+
*/
|
|
255
|
+
static ofHoursMinutes(hours, minutes) {
|
|
256
|
+
return ZoneOffset.ofHoursMinutesSeconds(hours, minutes, 0);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
*
|
|
261
|
+
* @param {number} hours
|
|
262
|
+
* @param {number} minutes
|
|
263
|
+
* @param {number} seconds
|
|
264
|
+
* @returns {ZoneOffset}
|
|
265
|
+
*/
|
|
266
|
+
static ofHoursMinutesSeconds(hours, minutes, seconds) {
|
|
267
|
+
ZoneOffset._validate(hours, minutes, seconds);
|
|
268
|
+
const totalSeconds = hours * LocalTime.SECONDS_PER_HOUR + minutes * LocalTime.SECONDS_PER_MINUTE + seconds;
|
|
269
|
+
return ZoneOffset.ofTotalSeconds(totalSeconds);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
*
|
|
274
|
+
* @param {number} totalMinutes
|
|
275
|
+
* @returns {ZoneOffset}
|
|
276
|
+
*/
|
|
277
|
+
static ofTotalMinutes(totalMinutes) {
|
|
278
|
+
const totalSeconds = totalMinutes * LocalTime.SECONDS_PER_MINUTE;
|
|
279
|
+
return ZoneOffset.ofTotalSeconds(totalSeconds);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
*
|
|
284
|
+
* @param {number} totalSeconds
|
|
285
|
+
* @returns {ZoneOffset}
|
|
286
|
+
*/
|
|
287
|
+
static ofTotalSeconds(totalSeconds) {
|
|
288
|
+
if (totalSeconds % (15 * LocalTime.SECONDS_PER_MINUTE) === 0) {
|
|
289
|
+
const totalSecs = totalSeconds;
|
|
290
|
+
let result = SECONDS_CACHE[totalSecs];
|
|
291
|
+
if (result == null) {
|
|
292
|
+
result = new ZoneOffset(totalSeconds);
|
|
293
|
+
SECONDS_CACHE[totalSecs] = result;
|
|
294
|
+
ID_CACHE[result.id()] = result;
|
|
295
|
+
}
|
|
296
|
+
return result;
|
|
297
|
+
} else {
|
|
298
|
+
return new ZoneOffset(totalSeconds);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Gets the associated time-zone rules.
|
|
304
|
+
*
|
|
305
|
+
* The rules will always return this offset when queried.
|
|
306
|
+
* The implementation class is immutable, thread-safe and serializable.
|
|
307
|
+
*
|
|
308
|
+
* @return {ZoneRules} the rules, not null
|
|
309
|
+
*/
|
|
310
|
+
rules() {
|
|
311
|
+
return this._rules;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Gets the value of the specified field from this offset as an `int`.
|
|
316
|
+
*
|
|
317
|
+
* This queries this offset for the value for the specified field.
|
|
318
|
+
* The returned value will always be within the valid range of values for the field.
|
|
319
|
+
* If it is not possible to return the value, because the field is not supported
|
|
320
|
+
* or for some other reason, an exception is thrown.
|
|
321
|
+
*
|
|
322
|
+
* If the field is a {@link ChronoField} then the query is implemented here.
|
|
323
|
+
* The {@link OFFSET_SECONDS} field returns the value of the offset.
|
|
324
|
+
* All other {@link ChronoField} instances will throw a {@link DateTimeException}.
|
|
325
|
+
*
|
|
326
|
+
* If the field is not a {@link ChronoField}, then the result of this method
|
|
327
|
+
* is obtained by invoking {@link TemporalField.getFrom}
|
|
328
|
+
* passing `this` as the argument. Whether the value can be obtained,
|
|
329
|
+
* and what the value represents, is determined by the field.
|
|
330
|
+
*
|
|
331
|
+
* @param {TemporalField} field - the field to get, not null
|
|
332
|
+
* @return {number} the value for the field
|
|
333
|
+
* @throws DateTimeException if a value for the field cannot be obtained
|
|
334
|
+
* @throws ArithmeticException if numeric overflow occurs
|
|
335
|
+
*/
|
|
336
|
+
get(field) {
|
|
337
|
+
return this.getLong(field);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Gets the value of the specified field from this offset as a `long`.
|
|
342
|
+
*
|
|
343
|
+
* This queries this offset for the value for the specified field.
|
|
344
|
+
* If it is not possible to return the value, because the field is not supported
|
|
345
|
+
* or for some other reason, an exception is thrown.
|
|
346
|
+
*
|
|
347
|
+
* If the field is a {@link ChronoField} then the query is implemented here.
|
|
348
|
+
* The {@link OFFSET_SECONDS} field returns the value of the offset.
|
|
349
|
+
* All other {@link ChronoField} instances will throw a {@link DateTimeException}.
|
|
350
|
+
*
|
|
351
|
+
* If the field is not a {@link ChronoField}, then the result of this method
|
|
352
|
+
* is obtained by invoking {@link TemporalField.getFrom}
|
|
353
|
+
* passing `this` as the argument. Whether the value can be obtained,
|
|
354
|
+
* and what the value represents, is determined by the field.
|
|
355
|
+
*
|
|
356
|
+
* @param {TemporalField} field - the field to get, not null
|
|
357
|
+
* @return {number} the value for the field
|
|
358
|
+
* @throws DateTimeException if a value for the field cannot be obtained
|
|
359
|
+
* @throws ArithmeticException if numeric overflow occurs
|
|
360
|
+
*/
|
|
361
|
+
getLong(field) {
|
|
362
|
+
if (field === ChronoField.OFFSET_SECONDS) {
|
|
363
|
+
return this._totalSeconds;
|
|
364
|
+
} else if (field instanceof ChronoField) {
|
|
365
|
+
throw new DateTimeException('Unsupported field: ' + field);
|
|
366
|
+
}
|
|
367
|
+
return field.getFrom(this);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
//-----------------------------------------------------------------------
|
|
371
|
+
/**
|
|
372
|
+
* Queries this offset using the specified query.
|
|
373
|
+
*
|
|
374
|
+
* This queries this offset using the specified query strategy object.
|
|
375
|
+
* The {@link TemporalQuery} object defines the logic to be used to
|
|
376
|
+
* obtain the result. Read the documentation of the query to understand
|
|
377
|
+
* what the result of this method will be.
|
|
378
|
+
*
|
|
379
|
+
* The result of this method is obtained by invoking the
|
|
380
|
+
* {@link TemporalQuery#queryFrom} method on the
|
|
381
|
+
* specified query passing `this` as the argument.
|
|
382
|
+
*
|
|
383
|
+
* @param {TemporalQuery} query - the query to invoke, not null
|
|
384
|
+
* @return {*} the query result, null may be returned (defined by the query)
|
|
385
|
+
* @throws DateTimeException if unable to query (defined by the query)
|
|
386
|
+
* @throws ArithmeticException if numeric overflow occurs (defined by the query)
|
|
387
|
+
*/
|
|
388
|
+
query(query) {
|
|
389
|
+
requireNonNull(query, 'query');
|
|
390
|
+
if (query === TemporalQueries.offset() || query === TemporalQueries.zone()) {
|
|
391
|
+
return this;
|
|
392
|
+
} else if (query === TemporalQueries.localDate() || query === TemporalQueries.localTime() ||
|
|
393
|
+
query === TemporalQueries.precision() || query === TemporalQueries.chronology() || query === TemporalQueries.zoneId()) {
|
|
394
|
+
return null;
|
|
395
|
+
}
|
|
396
|
+
return query.queryFrom(this);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Adjusts the specified temporal object to have the same offset as this object.
|
|
401
|
+
*
|
|
402
|
+
* This returns a temporal object of the same observable type as the input
|
|
403
|
+
* with the offset changed to be the same as this.
|
|
404
|
+
*
|
|
405
|
+
* The adjustment is equivalent to using {@link Temporal#with}
|
|
406
|
+
* passing {@link ChronoField#OFFSET_SECONDS} as the field.
|
|
407
|
+
*
|
|
408
|
+
* In most cases, it is clearer to reverse the calling pattern by using
|
|
409
|
+
* {@link Temporal#with}:
|
|
410
|
+
* <pre>
|
|
411
|
+
* // these two lines are equivalent, but the second approach is recommended
|
|
412
|
+
* temporal = thisOffset.adjustInto(temporal);
|
|
413
|
+
* temporal = temporal.with(thisOffset);
|
|
414
|
+
* </pre>
|
|
415
|
+
*
|
|
416
|
+
* This instance is immutable and unaffected by this method call.
|
|
417
|
+
*
|
|
418
|
+
* @param {Temporal} temporal - the target object to be adjusted, not null
|
|
419
|
+
* @return {Temporal} the adjusted object, not null
|
|
420
|
+
* @throws DateTimeException if unable to make the adjustment
|
|
421
|
+
* @throws ArithmeticException if numeric overflow occurs
|
|
422
|
+
*/
|
|
423
|
+
adjustInto(temporal) {
|
|
424
|
+
return temporal.with(ChronoField.OFFSET_SECONDS, this._totalSeconds);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* Compares this offset to another offset in descending order.
|
|
429
|
+
*
|
|
430
|
+
* The offsets are compared in the order that they occur for the same time
|
|
431
|
+
* of day around the world. Thus, an offset of `+10:00` comes before an
|
|
432
|
+
* offset of `+09:00` and so on down to `-18:00`.
|
|
433
|
+
*
|
|
434
|
+
* The comparison is "consistent with equals", as defined by {@link Comparable}.
|
|
435
|
+
*
|
|
436
|
+
* @param {!ZoneOffset} other - the other date to compare to, not null
|
|
437
|
+
* @return {number} the comparator value, negative if less, positive if greater
|
|
438
|
+
* @throws NullPointerException if {@link other} is null
|
|
439
|
+
*/
|
|
440
|
+
compareTo(other) {
|
|
441
|
+
requireNonNull(other, 'other');
|
|
442
|
+
return other._totalSeconds - this._totalSeconds;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* Checks if this offset is equal to another offset.
|
|
448
|
+
*
|
|
449
|
+
* The comparison is based on the amount of the offset in seconds.
|
|
450
|
+
* This is equivalent to a comparison by ID.
|
|
451
|
+
*
|
|
452
|
+
* @param {*} obj - the object to check, null returns false
|
|
453
|
+
* @return {boolean} true if this is equal to the other offset
|
|
454
|
+
*/
|
|
455
|
+
equals(obj) {
|
|
456
|
+
if (this === obj) {
|
|
457
|
+
return true;
|
|
458
|
+
}
|
|
459
|
+
if (obj instanceof ZoneOffset) {
|
|
460
|
+
return this._totalSeconds === obj._totalSeconds;
|
|
461
|
+
}
|
|
462
|
+
return false;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* @return {number}
|
|
467
|
+
*/
|
|
468
|
+
hashCode(){
|
|
469
|
+
return this._totalSeconds;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
*
|
|
474
|
+
* @returns {string}
|
|
475
|
+
*/
|
|
476
|
+
toString(){
|
|
477
|
+
return this._id;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export function _init() {
|
|
482
|
+
ZoneOffset.MAX_SECONDS = 18 * LocalTime.SECONDS_PER_HOUR;
|
|
483
|
+
ZoneOffset.UTC = ZoneOffset.ofTotalSeconds(0);
|
|
484
|
+
ZoneOffset.MIN = ZoneOffset.ofTotalSeconds(-ZoneOffset.MAX_SECONDS);
|
|
485
|
+
ZoneOffset.MAX = ZoneOffset.ofTotalSeconds(ZoneOffset.MAX_SECONDS);
|
|
486
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @copyright (c) 2016, Philipp Thürwächter & Pattrick Hüper
|
|
3
|
+
* @copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos
|
|
4
|
+
* @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
import {ZoneId} from './ZoneId';
|
|
9
|
+
import {ZoneRulesProvider} from './zone/ZoneRulesProvider';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A geographical region where the same time-zone rules apply.
|
|
13
|
+
*
|
|
14
|
+
* Time-zone information is categorized as a set of rules defining when and
|
|
15
|
+
* how the offset from UTC/Greenwich changes. These rules are accessed using
|
|
16
|
+
* identifiers based on geographical regions, such as countries or states.
|
|
17
|
+
* The most common region classification is the Time Zone Database (TZDB),
|
|
18
|
+
* which defines regions such as 'Europe/Paris' and 'Asia/Tokyo'.
|
|
19
|
+
*
|
|
20
|
+
* The region identifier, modeled by this class, is distinct from the
|
|
21
|
+
* underlying rules, modeled by {@link ZoneRules}.
|
|
22
|
+
* The rules are defined by governments and change frequently.
|
|
23
|
+
* By contrast, the region identifier is well-defined and long-lived.
|
|
24
|
+
* This separation also allows rules to be shared between regions if appropriate.
|
|
25
|
+
*
|
|
26
|
+
* ### Specification for implementors
|
|
27
|
+
*
|
|
28
|
+
* This class is immutable and thread-safe.
|
|
29
|
+
*/
|
|
30
|
+
export class ZoneRegion extends ZoneId {
|
|
31
|
+
/**
|
|
32
|
+
* not yet implemented
|
|
33
|
+
* @param {string} zoneId
|
|
34
|
+
* @return {ZoneId}
|
|
35
|
+
*/
|
|
36
|
+
static ofId(zoneId){
|
|
37
|
+
const rules = ZoneRulesProvider.getRules(zoneId);
|
|
38
|
+
return new ZoneRegion(zoneId, rules);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//-------------------------------------------------------------------------
|
|
42
|
+
/**
|
|
43
|
+
* Constructor.
|
|
44
|
+
*
|
|
45
|
+
* @param {string} id the time-zone ID, not null
|
|
46
|
+
* @param {ZoneRules} rules the rules, null for lazy lookup
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
constructor(id, rules) {
|
|
50
|
+
super();
|
|
51
|
+
this._id = id;
|
|
52
|
+
this._rules = rules;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//-----------------------------------------------------------------------
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* @returns {string}
|
|
59
|
+
*/
|
|
60
|
+
id() {
|
|
61
|
+
return this._id;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
*
|
|
66
|
+
* @returns {ZoneRules}
|
|
67
|
+
*/
|
|
68
|
+
rules() {
|
|
69
|
+
return this._rules;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
}
|