@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,93 @@
|
|
|
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 {Enum} from '../Enum';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Enumeration of different ways to resolve dates and times.
|
|
11
|
+
*
|
|
12
|
+
* Parsing a text string occurs in two phases.
|
|
13
|
+
* Phase 1 is a basic text parse according to the fields added to the builder.
|
|
14
|
+
* Phase 2 resolves the parsed field-value pairs into date and/or time objects.
|
|
15
|
+
* This style is used to control how phase 2, resolving, happens.
|
|
16
|
+
*
|
|
17
|
+
* ### Static properties of Class {@link DateTimeFormatter}
|
|
18
|
+
*
|
|
19
|
+
* ResolverStyle.STRICT = new ResolverStyle('STRICT');
|
|
20
|
+
*
|
|
21
|
+
* Style to resolve dates and times strictly.
|
|
22
|
+
*
|
|
23
|
+
* Using strict resolution will ensure that all parsed values are within
|
|
24
|
+
* the outer range of valid values for the field. Individual fields may
|
|
25
|
+
* be further processed for strictness.
|
|
26
|
+
*
|
|
27
|
+
* For example, resolving year-month and day-of-month in the ISO calendar
|
|
28
|
+
* system using strict mode will ensure that the day-of-month is valid
|
|
29
|
+
* for the year-month, rejecting invalid values.
|
|
30
|
+
*
|
|
31
|
+
* ResolverStyle.SMART = new ResolverStyle('SMART');
|
|
32
|
+
*
|
|
33
|
+
* Style to resolve dates and times in a smart, or intelligent, manner.
|
|
34
|
+
*
|
|
35
|
+
* Using smart resolution will perform the sensible default for each
|
|
36
|
+
* field, which may be the same as strict, the same as lenient, or a third
|
|
37
|
+
* behavior. Individual fields will interpret this differently.
|
|
38
|
+
*
|
|
39
|
+
* For example, resolving year-month and day-of-month in the ISO calendar
|
|
40
|
+
* system using smart mode will ensure that the day-of-month is from
|
|
41
|
+
* 1 to 31, converting any value beyond the last valid day-of-month to be
|
|
42
|
+
* the last valid day-of-month.
|
|
43
|
+
*
|
|
44
|
+
* ResolverStyle.LENIENT = new ResolverStyle('LENIENT');
|
|
45
|
+
*
|
|
46
|
+
* Style to resolve dates and times leniently.
|
|
47
|
+
*
|
|
48
|
+
* Using lenient resolution will resolve the values in an appropriate
|
|
49
|
+
* lenient manner. Individual fields will interpret this differently.
|
|
50
|
+
*
|
|
51
|
+
* For example, lenient mode allows the month in the ISO calendar system
|
|
52
|
+
* to be outside the range 1 to 12.
|
|
53
|
+
* For example, month 15 is treated as being 3 months after month 12.
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
export class ResolverStyle extends Enum {}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Style to resolve dates and times strictly.
|
|
60
|
+
*
|
|
61
|
+
* Using strict resolution will ensure that all parsed values are within
|
|
62
|
+
* the outer range of valid values for the field. Individual fields may
|
|
63
|
+
* be further processed for strictness.
|
|
64
|
+
*
|
|
65
|
+
* For example, resolving year-month and day-of-month in the ISO calendar
|
|
66
|
+
* system using strict mode will ensure that the day-of-month is valid
|
|
67
|
+
* for the year-month, rejecting invalid values.
|
|
68
|
+
*/
|
|
69
|
+
ResolverStyle.STRICT = new ResolverStyle('STRICT');
|
|
70
|
+
/**
|
|
71
|
+
* Style to resolve dates and times in a smart, or intelligent, manner.
|
|
72
|
+
*
|
|
73
|
+
* Using smart resolution will perform the sensible default for each
|
|
74
|
+
* field, which may be the same as strict, the same as lenient, or a third
|
|
75
|
+
* behavior. Individual fields will interpret this differently.
|
|
76
|
+
*
|
|
77
|
+
* For example, resolving year-month and day-of-month in the ISO calendar
|
|
78
|
+
* system using smart mode will ensure that the day-of-month is from
|
|
79
|
+
* 1 to 31, converting any value beyond the last valid day-of-month to be
|
|
80
|
+
* the last valid day-of-month.
|
|
81
|
+
*/
|
|
82
|
+
ResolverStyle.SMART = new ResolverStyle('SMART');
|
|
83
|
+
/**
|
|
84
|
+
* Style to resolve dates and times leniently.
|
|
85
|
+
*
|
|
86
|
+
* Using lenient resolution will resolve the values in an appropriate
|
|
87
|
+
* lenient manner. Individual fields will interpret this differently.
|
|
88
|
+
*
|
|
89
|
+
* For example, lenient mode allows the month in the ISO calendar system
|
|
90
|
+
* to be outside the range 1 to 12.
|
|
91
|
+
* For example, month 15 is treated as being 3 months after month 12.
|
|
92
|
+
*/
|
|
93
|
+
ResolverStyle.LENIENT = new ResolverStyle('LENIENT');
|
|
@@ -0,0 +1,38 @@
|
|
|
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 {Enum} from '../Enum';
|
|
8
|
+
|
|
9
|
+
export class SignStyle extends Enum{
|
|
10
|
+
/**
|
|
11
|
+
* Parse helper.
|
|
12
|
+
*
|
|
13
|
+
* @param positive true if positive sign parsed, false for negative sign
|
|
14
|
+
* @param strict true if strict, false if lenient
|
|
15
|
+
* @param fixedWidth true if fixed width, false if not
|
|
16
|
+
* @return true if valid
|
|
17
|
+
*/
|
|
18
|
+
parse(positive, strict, fixedWidth){
|
|
19
|
+
switch (this) {
|
|
20
|
+
case SignStyle.NORMAL: // NORMAL
|
|
21
|
+
// valid if negative or (positive and lenient)
|
|
22
|
+
return !positive || !strict;
|
|
23
|
+
case SignStyle.ALWAYS: // ALWAYS
|
|
24
|
+
case SignStyle.EXCEEDS_PAD: // EXCEEDS_PAD
|
|
25
|
+
return true;
|
|
26
|
+
default:
|
|
27
|
+
// valid if lenient and not fixed width
|
|
28
|
+
return !strict && !fixedWidth;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
SignStyle.NORMAL = new SignStyle('NORMAL');
|
|
35
|
+
SignStyle.NEVER = new SignStyle('NEVER');
|
|
36
|
+
SignStyle.ALWAYS = new SignStyle('ALWAYS');
|
|
37
|
+
SignStyle.EXCEEDS_PAD = new SignStyle('EXCEEDS_PAD');
|
|
38
|
+
SignStyle.NOT_NEGATIVE = new SignStyle('NOT_NEGATIVE');
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @copyright (c) 2016, Philipp Thürwächter & Pattrick Hüper
|
|
3
|
+
* @license BSD-3-Clause (see LICENSE in the root directory of this source tree)
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export class StringBuilder {
|
|
10
|
+
constructor(){
|
|
11
|
+
this._str = '';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
append(str){
|
|
15
|
+
this._str += str;
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
appendChar(str){
|
|
20
|
+
this._str += str[0];
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
insert(offset, str){
|
|
25
|
+
this._str = this._str.slice(0, offset) + str + this._str.slice(offset);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
replace(start, end, str){
|
|
30
|
+
this._str = this._str.slice(0, start) + str + this._str.slice(end);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
length(){
|
|
35
|
+
return this._str.length;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
setLength(length){
|
|
39
|
+
this._str = this._str.slice(0, length);
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
toString() {
|
|
45
|
+
return this._str;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @copyright (c) 2016, Philipp Thürwächter & Pattrick Hüper
|
|
3
|
+
* @license BSD-3-Clause (see LICENSE.md in the root directory of this source tree)
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {Enum} from '../Enum';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Enumeration of the style of text formatting and parsing.
|
|
10
|
+
*
|
|
11
|
+
* Text styles define three sizes for the formatted text - 'full', 'short' and 'narrow'.
|
|
12
|
+
* Each of these three sizes is available in both 'standard' and 'stand-alone' variations.
|
|
13
|
+
*
|
|
14
|
+
* The difference between the three sizes is obvious in most languages.
|
|
15
|
+
* For example, in English the 'full' month is 'January', the 'short' month is 'Jan'
|
|
16
|
+
* and the 'narrow' month is 'J'. Note that the narrow size is often not unique.
|
|
17
|
+
* For example, 'January', 'June' and 'July' all have the 'narrow' text 'J'.
|
|
18
|
+
*
|
|
19
|
+
* The difference between the 'standard' and 'stand-alone' forms is trickier to describe
|
|
20
|
+
* as there is no difference in English. However, in other languages there is a difference
|
|
21
|
+
* in the word used when the text is used alone, as opposed to in a complete date.
|
|
22
|
+
* For example, the word used for a month when used alone in a date picker is different
|
|
23
|
+
* to the word used for month in association with a day and year in a date.
|
|
24
|
+
*
|
|
25
|
+
* ### Specification for implementors
|
|
26
|
+
*
|
|
27
|
+
* This is immutable and thread-safe enum.
|
|
28
|
+
*/
|
|
29
|
+
export class TextStyle extends Enum {
|
|
30
|
+
/**
|
|
31
|
+
* Checks if the style is stand-alone.
|
|
32
|
+
*
|
|
33
|
+
* @return {boolean} true if the style is stand-alone
|
|
34
|
+
*/
|
|
35
|
+
isStandalone() {
|
|
36
|
+
switch (this) {
|
|
37
|
+
case TextStyle.FULL_STANDALONE:
|
|
38
|
+
case TextStyle.SHORT_STANDALONE:
|
|
39
|
+
case TextStyle.NARROW_STANDALONE:
|
|
40
|
+
return true;
|
|
41
|
+
default:
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Converts the style to the equivalent stand-alone style.
|
|
48
|
+
*
|
|
49
|
+
* @return {TextStyle} the matching stand-alone style
|
|
50
|
+
*/
|
|
51
|
+
asStandalone() {
|
|
52
|
+
switch (this) {
|
|
53
|
+
case TextStyle.FULL:
|
|
54
|
+
return TextStyle.FULL_STANDALONE;
|
|
55
|
+
case TextStyle.SHORT:
|
|
56
|
+
return TextStyle.SHORT_STANDALONE;
|
|
57
|
+
case TextStyle.NARROW:
|
|
58
|
+
return TextStyle.NARROW_STANDALONE;
|
|
59
|
+
default:
|
|
60
|
+
// all others are already standalone
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Converts the style to the equivalent normal style.
|
|
67
|
+
*
|
|
68
|
+
* @return {TextStyle} the matching normal style
|
|
69
|
+
*/
|
|
70
|
+
asNormal() {
|
|
71
|
+
switch (this) {
|
|
72
|
+
case TextStyle.FULL_STANDALONE:
|
|
73
|
+
return TextStyle.FULL;
|
|
74
|
+
case TextStyle.SHORT_STANDALONE:
|
|
75
|
+
return TextStyle.SHORT;
|
|
76
|
+
case TextStyle.NARROW_STANDALONE:
|
|
77
|
+
return TextStyle.NARROW;
|
|
78
|
+
default:
|
|
79
|
+
// all others are already normal
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Full text, typically the full description.
|
|
87
|
+
* For example, day-of-week Monday might output "Monday".
|
|
88
|
+
*/
|
|
89
|
+
TextStyle.FULL = new TextStyle('FULL');
|
|
90
|
+
/**
|
|
91
|
+
* Full text for stand-alone use, typically the full description.
|
|
92
|
+
* For example, day-of-week Monday might output "Monday".
|
|
93
|
+
*/
|
|
94
|
+
TextStyle.FULL_STANDALONE = new TextStyle('FULL_STANDALONE');
|
|
95
|
+
/**
|
|
96
|
+
* Short text, typically an abbreviation.
|
|
97
|
+
* For example, day-of-week Monday might output "Mon".
|
|
98
|
+
*/
|
|
99
|
+
TextStyle.SHORT = new TextStyle('SHORT');
|
|
100
|
+
/**
|
|
101
|
+
* Short text for stand-alone use, typically an abbreviation.
|
|
102
|
+
* For example, day-of-week Monday might output "Mon".
|
|
103
|
+
*/
|
|
104
|
+
TextStyle.SHORT_STANDALONE = new TextStyle('SHORT_STANDALONE');
|
|
105
|
+
/**
|
|
106
|
+
* Narrow text, typically a single letter.
|
|
107
|
+
* For example, day-of-week Monday might output "M".
|
|
108
|
+
*/
|
|
109
|
+
TextStyle.NARROW = new TextStyle('NARROW');
|
|
110
|
+
/**
|
|
111
|
+
* Narrow text for stand-alone use, typically a single letter.
|
|
112
|
+
* For example, day-of-week Monday might output "M".
|
|
113
|
+
*/
|
|
114
|
+
TextStyle.NARROW_STANDALONE = new TextStyle('NARROW_STANDALONE');
|
|
@@ -0,0 +1,46 @@
|
|
|
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 {IllegalArgumentException} from '../../errors';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Prints or parses a char literal.
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
export class CharLiteralPrinterParser {
|
|
14
|
+
|
|
15
|
+
constructor(literal) {
|
|
16
|
+
if (literal.length > 1) {
|
|
17
|
+
throw new IllegalArgumentException('invalid literal, too long: "' + literal + '"');
|
|
18
|
+
}
|
|
19
|
+
this._literal = literal;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
print(context, buf) {
|
|
23
|
+
buf.append(this._literal);
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
parse(context, text, position) {
|
|
28
|
+
const length = text.length;
|
|
29
|
+
if (position === length) {
|
|
30
|
+
return ~position;
|
|
31
|
+
}
|
|
32
|
+
const ch = text.charAt(position);
|
|
33
|
+
if (context.charEquals(this._literal, ch) === false) {
|
|
34
|
+
return ~position;
|
|
35
|
+
}
|
|
36
|
+
return position + this._literal.length;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
toString() {
|
|
40
|
+
if (this._literal === '\'') {
|
|
41
|
+
return "''";
|
|
42
|
+
}
|
|
43
|
+
return "'" + this._literal + "'";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
export class CompositePrinterParser {
|
|
11
|
+
|
|
12
|
+
constructor(printerParsers, optional) {
|
|
13
|
+
this._printerParsers = printerParsers;
|
|
14
|
+
this._optional = optional;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Returns a copy of this printer-parser with the optional flag changed.
|
|
19
|
+
*
|
|
20
|
+
* @param {boolean} optional the optional flag to set in the copy
|
|
21
|
+
* @return {CompositePrinterParser} the new printer-parser, not null
|
|
22
|
+
*/
|
|
23
|
+
withOptional(optional) {
|
|
24
|
+
if (optional === this._optional) {
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
return new CompositePrinterParser(this._printerParsers, optional);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
print(context, buf) {
|
|
31
|
+
const length = buf.length();
|
|
32
|
+
if (this._optional) {
|
|
33
|
+
context.startOptional();
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
for (let i=0; i<this._printerParsers.length; i++) {
|
|
37
|
+
const pp = this._printerParsers[i];
|
|
38
|
+
if (pp.print(context, buf) === false) {
|
|
39
|
+
buf.setLength(length); // reset buffer
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} finally {
|
|
44
|
+
if (this._optional) {
|
|
45
|
+
context.endOptional();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
parse(context, text, position) {
|
|
52
|
+
if (this._optional) {
|
|
53
|
+
context.startOptional();
|
|
54
|
+
let pos = position;
|
|
55
|
+
for (let i=0; i<this._printerParsers.length; i++) {
|
|
56
|
+
const pp = this._printerParsers[i];
|
|
57
|
+
pos = pp.parse(context, text, pos);
|
|
58
|
+
if (pos < 0) {
|
|
59
|
+
context.endOptional(false);
|
|
60
|
+
return position; // return original position
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
context.endOptional(true);
|
|
64
|
+
return pos;
|
|
65
|
+
} else {
|
|
66
|
+
for (let i=0; i<this._printerParsers.length; i++) {
|
|
67
|
+
const pp = this._printerParsers[i];
|
|
68
|
+
position = pp.parse(context, text, position);
|
|
69
|
+
if (position < 0) {
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return position;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
toString() {
|
|
78
|
+
let buf = '';
|
|
79
|
+
if (this._printerParsers != null) {
|
|
80
|
+
buf += this._optional ? '[' : '(';
|
|
81
|
+
for (let i=0; i<this._printerParsers.length; i++) {
|
|
82
|
+
const pp = this._printerParsers[i];
|
|
83
|
+
buf += pp.toString();
|
|
84
|
+
}
|
|
85
|
+
buf += this._optional ? ']' : ')';
|
|
86
|
+
}
|
|
87
|
+
return buf;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
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 {IllegalArgumentException} from '../../errors';
|
|
9
|
+
import {MathUtil} from '../../MathUtil';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* TODO optimize FractionPrinterParser, fix documentation
|
|
13
|
+
*
|
|
14
|
+
* Prints and parses a numeric date-time field with optional padding.
|
|
15
|
+
* @private
|
|
16
|
+
*/
|
|
17
|
+
export class FractionPrinterParser {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Constructor.
|
|
21
|
+
*
|
|
22
|
+
* @param {TemporalField} field the field to output, not null
|
|
23
|
+
* @param {Number} minWidth the minimum width to output, from 0 to 9
|
|
24
|
+
* @param {Number} maxWidth the maximum width to output, from 0 to 9
|
|
25
|
+
* @param {boolean} decimalPoint whether to output the localized decimal point symbol
|
|
26
|
+
*/
|
|
27
|
+
constructor(field, minWidth, maxWidth, decimalPoint) {
|
|
28
|
+
requireNonNull(field, 'field');
|
|
29
|
+
if (field.range().isFixed() === false) {
|
|
30
|
+
throw new IllegalArgumentException('Field must have a fixed set of values: ' + field);
|
|
31
|
+
}
|
|
32
|
+
if (minWidth < 0 || minWidth > 9) {
|
|
33
|
+
throw new IllegalArgumentException('Minimum width must be from 0 to 9 inclusive but was ' + minWidth);
|
|
34
|
+
}
|
|
35
|
+
if (maxWidth < 1 || maxWidth > 9) {
|
|
36
|
+
throw new IllegalArgumentException('Maximum width must be from 1 to 9 inclusive but was ' + maxWidth);
|
|
37
|
+
}
|
|
38
|
+
if (maxWidth < minWidth) {
|
|
39
|
+
throw new IllegalArgumentException('Maximum width must exceed or equal the minimum width but ' +
|
|
40
|
+
maxWidth + ' < ' + minWidth);
|
|
41
|
+
}
|
|
42
|
+
this.field = field;
|
|
43
|
+
this.minWidth = minWidth;
|
|
44
|
+
this.maxWidth = maxWidth;
|
|
45
|
+
this.decimalPoint = decimalPoint;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
print(context, buf) {
|
|
49
|
+
const value = context.getValue(this.field);
|
|
50
|
+
if (value === null) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const symbols = context.symbols();
|
|
54
|
+
if (value === 0) { // scale is zero if value is zero
|
|
55
|
+
if (this.minWidth > 0) {
|
|
56
|
+
if (this.decimalPoint) {
|
|
57
|
+
buf.append(symbols.decimalSeparator());
|
|
58
|
+
}
|
|
59
|
+
for (let i = 0; i < this.minWidth; i++) {
|
|
60
|
+
buf.append(symbols.zeroDigit());
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
} else {
|
|
64
|
+
let fraction = this.convertToFraction(value, symbols.zeroDigit());
|
|
65
|
+
const outputScale = Math.min(Math.max(fraction.length, this.minWidth), this.maxWidth);
|
|
66
|
+
fraction = fraction.substr(0, outputScale);
|
|
67
|
+
if(fraction * 1 > 0 ) {
|
|
68
|
+
while (fraction.length > this.minWidth && fraction[fraction.length - 1] === '0') {
|
|
69
|
+
fraction = fraction.substr(0, fraction.length - 1);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
let str = fraction;
|
|
73
|
+
str = symbols.convertNumberToI18N(str);
|
|
74
|
+
if (this.decimalPoint) {
|
|
75
|
+
buf.append(symbols.decimalSeparator());
|
|
76
|
+
}
|
|
77
|
+
buf.append(str);
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
parse(context, text, position) {
|
|
83
|
+
const effectiveMin = (context.isStrict() ? this.minWidth : 0);
|
|
84
|
+
const effectiveMax = (context.isStrict() ? this.maxWidth : 9);
|
|
85
|
+
const length = text.length;
|
|
86
|
+
if (position === length) {
|
|
87
|
+
// valid if whole field is optional, invalid if minimum width
|
|
88
|
+
return (effectiveMin > 0 ? ~position : position);
|
|
89
|
+
}
|
|
90
|
+
if (this.decimalPoint) {
|
|
91
|
+
if (text[position] !== context.symbols().decimalSeparator()) {
|
|
92
|
+
// valid if whole field is optional, invalid if minimum width
|
|
93
|
+
return (effectiveMin > 0 ? ~position : position);
|
|
94
|
+
}
|
|
95
|
+
position++;
|
|
96
|
+
}
|
|
97
|
+
const minEndPos = position + effectiveMin;
|
|
98
|
+
if (minEndPos > length) {
|
|
99
|
+
return ~position; // need at least min width digits
|
|
100
|
+
}
|
|
101
|
+
const maxEndPos = Math.min(position + effectiveMax, length);
|
|
102
|
+
let total = 0; // can use int because we are only parsing up to 9 digits
|
|
103
|
+
let pos = position;
|
|
104
|
+
while (pos < maxEndPos) {
|
|
105
|
+
const ch = text.charAt(pos++);
|
|
106
|
+
const digit = context.symbols().convertToDigit(ch);
|
|
107
|
+
if (digit < 0) {
|
|
108
|
+
if (pos < minEndPos) {
|
|
109
|
+
return ~position; // need at least min width digits
|
|
110
|
+
}
|
|
111
|
+
pos--;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
total = total * 10 + digit;
|
|
115
|
+
}
|
|
116
|
+
const moveLeft = pos - position;
|
|
117
|
+
const scale = Math.pow(10, moveLeft);
|
|
118
|
+
const value = this.convertFromFraction(total, scale);
|
|
119
|
+
return context.setParsedField(this.field, value, position, pos);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
*
|
|
124
|
+
* @param {Number} value the value to convert, must be valid for this rule
|
|
125
|
+
* @param {String} zeroDigit the character for zero
|
|
126
|
+
* @return {String} the value as a fraction within the range, from 0 to 1, not null
|
|
127
|
+
*/
|
|
128
|
+
convertToFraction(value, zeroDigit) {
|
|
129
|
+
const range = this.field.range();
|
|
130
|
+
range.checkValidValue(value, this.field);
|
|
131
|
+
const _min = range.minimum();
|
|
132
|
+
const _range = range.maximum() - _min + 1;
|
|
133
|
+
const _value = value - _min;
|
|
134
|
+
const _scaled = MathUtil.intDiv((_value * 1000000000), _range);
|
|
135
|
+
let fraction = '' + _scaled;
|
|
136
|
+
while(fraction.length < 9){
|
|
137
|
+
fraction = zeroDigit + fraction;
|
|
138
|
+
}
|
|
139
|
+
return fraction;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
* @param {Number} total the fraction to convert, not null
|
|
145
|
+
* @param {Number} scale the scale, not null
|
|
146
|
+
* @return {Number} the value of the field, valid for this rule
|
|
147
|
+
* @throws DateTimeException if the value cannot be converted
|
|
148
|
+
*/
|
|
149
|
+
convertFromFraction(total, scale) {
|
|
150
|
+
const range = this.field.range();
|
|
151
|
+
const _min = range.minimum();
|
|
152
|
+
const _range = range.maximum() - _min + 1;
|
|
153
|
+
const _value = MathUtil.intDiv((total * _range), scale);
|
|
154
|
+
return _value;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
toString() {
|
|
158
|
+
const decimal = (this.decimalPoint ? ',DecimalPoint' : '');
|
|
159
|
+
return 'Fraction(' + this.field + ',' + this.minWidth + ',' + this.maxWidth + decimal + ')';
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|