@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.
Files changed (400) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +707 -0
  3. package/dist/application/app.d.ts +138 -0
  4. package/dist/application/app.js +654 -0
  5. package/dist/application/operations.d.ts +9 -0
  6. package/dist/application/operations.js +96 -0
  7. package/dist/cli/cli.d.ts +1 -0
  8. package/dist/cli/cli.js +460 -0
  9. package/dist/cli/help.d.ts +4 -0
  10. package/dist/cli/help.js +49 -0
  11. package/dist/cli/main.d.ts +2 -0
  12. package/dist/cli/main.js +13 -0
  13. package/dist/cli/onboarding.d.ts +14 -0
  14. package/dist/cli/onboarding.js +144 -0
  15. package/dist/cli/output.d.ts +2 -0
  16. package/dist/cli/output.js +231 -0
  17. package/dist/cli/terminal.d.ts +6 -0
  18. package/dist/cli/terminal.js +92 -0
  19. package/dist/cli/update-check.d.ts +1 -0
  20. package/dist/cli/update-check.js +12 -0
  21. package/dist/cli/updates.d.ts +2 -0
  22. package/dist/cli/updates.js +98 -0
  23. package/dist/core.d.ts +14 -0
  24. package/dist/core.js +14 -0
  25. package/dist/doctor/credential-probe.d.ts +7 -0
  26. package/dist/doctor/credential-probe.js +49 -0
  27. package/dist/doctor/doctor.d.ts +4 -0
  28. package/dist/doctor/doctor.js +213 -0
  29. package/dist/doctor/keyring.d.ts +7 -0
  30. package/dist/doctor/keyring.js +150 -0
  31. package/dist/doctor/profile.d.ts +19 -0
  32. package/dist/doctor/profile.js +73 -0
  33. package/dist/doctor/types.d.ts +40 -0
  34. package/dist/doctor/types.js +1 -0
  35. package/dist/domain/amount.d.ts +6 -0
  36. package/dist/domain/amount.js +27 -0
  37. package/dist/domain/errors.d.ts +10 -0
  38. package/dist/domain/errors.js +16 -0
  39. package/dist/labels/directory.d.ts +87 -0
  40. package/dist/labels/directory.js +140 -0
  41. package/dist/labels/personal.d.ts +17 -0
  42. package/dist/labels/personal.js +56 -0
  43. package/dist/labels/presentation.d.ts +154 -0
  44. package/dist/labels/presentation.js +90 -0
  45. package/dist/network/reader.d.ts +31 -0
  46. package/dist/network/reader.js +370 -0
  47. package/dist/network/retry.d.ts +7 -0
  48. package/dist/network/retry.js +53 -0
  49. package/dist/network/work.d.ts +3 -0
  50. package/dist/network/work.js +66 -0
  51. package/dist/pricing/market.d.ts +29 -0
  52. package/dist/pricing/market.js +150 -0
  53. package/dist/pricing/terms.d.ts +6 -0
  54. package/dist/pricing/terms.js +12 -0
  55. package/dist/spending/destination.d.ts +16 -0
  56. package/dist/spending/destination.js +42 -0
  57. package/dist/spending/journal.d.ts +28 -0
  58. package/dist/spending/journal.js +69 -0
  59. package/dist/spending/ledger.d.ts +118 -0
  60. package/dist/spending/ledger.js +444 -0
  61. package/dist/spending/payments.d.ts +67 -0
  62. package/dist/spending/payments.js +424 -0
  63. package/dist/spending/pool.d.ts +13 -0
  64. package/dist/spending/pool.js +38 -0
  65. package/dist/spending/reconcile.d.ts +18 -0
  66. package/dist/spending/reconcile.js +64 -0
  67. package/dist/storage/profiles.d.ts +13 -0
  68. package/dist/storage/profiles.js +86 -0
  69. package/dist/storage/secrets.d.ts +16 -0
  70. package/dist/storage/secrets.js +104 -0
  71. package/dist/storage/state.d.ts +32 -0
  72. package/dist/storage/state.js +255 -0
  73. package/dist/wallet/auto-receive.d.ts +57 -0
  74. package/dist/wallet/auto-receive.js +140 -0
  75. package/dist/wallet/defaults.d.ts +3 -0
  76. package/dist/wallet/defaults.js +26 -0
  77. package/dist/wallet/signing.d.ts +17 -0
  78. package/dist/wallet/signing.js +128 -0
  79. package/dist/wallet/types.d.ts +65 -0
  80. package/dist/wallet/types.js +1 -0
  81. package/dist/wallet/work.d.ts +29 -0
  82. package/dist/wallet/work.js +154 -0
  83. package/dist/watches/manager.d.ts +75 -0
  84. package/dist/watches/manager.js +197 -0
  85. package/node_modules/@attocash/commons-core/Kotlin-DateTime-library-kotlinx-datetime.mjs +6678 -0
  86. package/node_modules/@attocash/commons-core/Kotlin-DateTime-library-kotlinx-datetime.mjs.map +1 -0
  87. package/node_modules/@attocash/commons-core/LICENSE +28 -0
  88. package/node_modules/@attocash/commons-core/README.md +118 -0
  89. package/node_modules/@attocash/commons-core/commons-commons-core.d.mts +1036 -0
  90. package/node_modules/@attocash/commons-core/commons-commons-core.mjs +7701 -0
  91. package/node_modules/@attocash/commons-core/commons-commons-core.mjs.map +1 -0
  92. package/node_modules/@attocash/commons-core/kotlin-kotlin-stdlib.mjs +17681 -0
  93. package/node_modules/@attocash/commons-core/kotlin-kotlin-stdlib.mjs.map +1 -0
  94. package/node_modules/@attocash/commons-core/kotlin_org_jetbrains_kotlin_kotlin_dom_api_compat.mjs +4 -0
  95. package/node_modules/@attocash/commons-core/kotlin_org_jetbrains_kotlin_kotlin_dom_api_compat.mjs.map +1 -0
  96. package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-bytestring.mjs +209 -0
  97. package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-bytestring.mjs.map +1 -0
  98. package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-core.mjs +2284 -0
  99. package/node_modules/@attocash/commons-core/kotlinx-io-kotlinx-io-core.mjs.map +1 -0
  100. package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-core.mjs +6042 -0
  101. package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-core.mjs.map +1 -0
  102. package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
  103. package/node_modules/@attocash/commons-core/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
  104. package/node_modules/@attocash/commons-core/package.json +27 -0
  105. package/node_modules/@attocash/commons-node/LICENSE +28 -0
  106. package/node_modules/@attocash/commons-node/README.md +92 -0
  107. package/node_modules/@attocash/commons-node/commons-commons-node.d.mts +255 -0
  108. package/node_modules/@attocash/commons-node/commons-commons-node.mjs +2977 -0
  109. package/node_modules/@attocash/commons-node/commons-commons-node.mjs.map +1 -0
  110. package/node_modules/@attocash/commons-node/kotlin-logging.mjs +432 -0
  111. package/node_modules/@attocash/commons-node/kotlin-logging.mjs.map +1 -0
  112. package/node_modules/@attocash/commons-node/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
  113. package/node_modules/@attocash/commons-node/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
  114. package/node_modules/@attocash/commons-node/package.json +29 -0
  115. package/node_modules/@attocash/commons-node-remote/LICENSE +28 -0
  116. package/node_modules/@attocash/commons-node-remote/README.md +61 -0
  117. package/node_modules/@attocash/commons-node-remote/commons-commons-node-remote.d.mts +122 -0
  118. package/node_modules/@attocash/commons-node-remote/commons-commons-node-remote.mjs +1810 -0
  119. package/node_modules/@attocash/commons-node-remote/commons-commons-node-remote.mjs.map +1 -0
  120. package/node_modules/@attocash/commons-node-remote/kotlin-logging.mjs +432 -0
  121. package/node_modules/@attocash/commons-node-remote/kotlin-logging.mjs.map +1 -0
  122. package/node_modules/@attocash/commons-node-remote/kotlinx-browser.mjs +8 -0
  123. package/node_modules/@attocash/commons-node-remote/kotlinx-browser.mjs.map +1 -0
  124. package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs +4 -0
  125. package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs.map +1 -0
  126. package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
  127. package/node_modules/@attocash/commons-node-remote/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
  128. package/node_modules/@attocash/commons-node-remote/package.json +31 -0
  129. package/node_modules/@attocash/commons-transport/LICENSE +28 -0
  130. package/node_modules/@attocash/commons-transport/README.md +5 -0
  131. package/node_modules/@attocash/commons-transport/commons-commons-transport.d.mts +64 -0
  132. package/node_modules/@attocash/commons-transport/commons-commons-transport.mjs +249 -0
  133. package/node_modules/@attocash/commons-transport/commons-commons-transport.mjs.map +1 -0
  134. package/node_modules/@attocash/commons-transport/kotlinx-atomicfu.mjs +263 -0
  135. package/node_modules/@attocash/commons-transport/kotlinx-atomicfu.mjs.map +1 -0
  136. package/node_modules/@attocash/commons-transport/kotlinx-browser.mjs +8 -0
  137. package/node_modules/@attocash/commons-transport/kotlinx-browser.mjs.map +1 -0
  138. package/node_modules/@attocash/commons-transport/kotlinx-coroutines-core.mjs +11604 -0
  139. package/node_modules/@attocash/commons-transport/kotlinx-coroutines-core.mjs.map +1 -0
  140. package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json-io.mjs +4 -0
  141. package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json-io.mjs.map +1 -0
  142. package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
  143. package/node_modules/@attocash/commons-transport/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
  144. package/node_modules/@attocash/commons-transport/ktor-ktor-client-content-negotiation.mjs +499 -0
  145. package/node_modules/@attocash/commons-transport/ktor-ktor-client-content-negotiation.mjs.map +1 -0
  146. package/node_modules/@attocash/commons-transport/ktor-ktor-client-core.mjs +6456 -0
  147. package/node_modules/@attocash/commons-transport/ktor-ktor-client-core.mjs.map +1 -0
  148. package/node_modules/@attocash/commons-transport/ktor-ktor-events.mjs +83 -0
  149. package/node_modules/@attocash/commons-transport/ktor-ktor-events.mjs.map +1 -0
  150. package/node_modules/@attocash/commons-transport/ktor-ktor-http-cio.mjs +1714 -0
  151. package/node_modules/@attocash/commons-transport/ktor-ktor-http-cio.mjs.map +1 -0
  152. package/node_modules/@attocash/commons-transport/ktor-ktor-http.mjs +3197 -0
  153. package/node_modules/@attocash/commons-transport/ktor-ktor-http.mjs.map +1 -0
  154. package/node_modules/@attocash/commons-transport/ktor-ktor-io.mjs +2290 -0
  155. package/node_modules/@attocash/commons-transport/ktor-ktor-io.mjs.map +1 -0
  156. package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx-json.mjs +46 -0
  157. package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx-json.mjs.map +1 -0
  158. package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx.mjs +482 -0
  159. package/node_modules/@attocash/commons-transport/ktor-ktor-serialization-kotlinx.mjs.map +1 -0
  160. package/node_modules/@attocash/commons-transport/ktor-ktor-serialization.mjs +165 -0
  161. package/node_modules/@attocash/commons-transport/ktor-ktor-serialization.mjs.map +1 -0
  162. package/node_modules/@attocash/commons-transport/ktor-ktor-sse.mjs +4 -0
  163. package/node_modules/@attocash/commons-transport/ktor-ktor-sse.mjs.map +1 -0
  164. package/node_modules/@attocash/commons-transport/ktor-ktor-utils.mjs +3222 -0
  165. package/node_modules/@attocash/commons-transport/ktor-ktor-utils.mjs.map +1 -0
  166. package/node_modules/@attocash/commons-transport/ktor-ktor-websocket-serialization.mjs +4 -0
  167. package/node_modules/@attocash/commons-transport/ktor-ktor-websocket-serialization.mjs.map +1 -0
  168. package/node_modules/@attocash/commons-transport/ktor-ktor-websockets.mjs +1485 -0
  169. package/node_modules/@attocash/commons-transport/ktor-ktor-websockets.mjs.map +1 -0
  170. package/node_modules/@attocash/commons-transport/package.json +29 -0
  171. package/node_modules/@attocash/commons-worker/LICENSE +28 -0
  172. package/node_modules/@attocash/commons-worker/README.md +48 -0
  173. package/node_modules/@attocash/commons-worker/commons-commons-worker.d.mts +73 -0
  174. package/node_modules/@attocash/commons-worker/commons-commons-worker.mjs +702 -0
  175. package/node_modules/@attocash/commons-worker/commons-commons-worker.mjs.map +1 -0
  176. package/node_modules/@attocash/commons-worker/kotlin-logging.mjs +432 -0
  177. package/node_modules/@attocash/commons-worker/kotlin-logging.mjs.map +1 -0
  178. package/node_modules/@attocash/commons-worker/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
  179. package/node_modules/@attocash/commons-worker/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
  180. package/node_modules/@attocash/commons-worker/package.json +29 -0
  181. package/node_modules/@attocash/commons-worker-remote/LICENSE +28 -0
  182. package/node_modules/@attocash/commons-worker-remote/README.md +60 -0
  183. package/node_modules/@attocash/commons-worker-remote/commons-commons-worker-remote.d.mts +93 -0
  184. package/node_modules/@attocash/commons-worker-remote/commons-commons-worker-remote.mjs +289 -0
  185. package/node_modules/@attocash/commons-worker-remote/commons-commons-worker-remote.mjs.map +1 -0
  186. package/node_modules/@attocash/commons-worker-remote/kotlin-logging.mjs +432 -0
  187. package/node_modules/@attocash/commons-worker-remote/kotlin-logging.mjs.map +1 -0
  188. package/node_modules/@attocash/commons-worker-remote/kotlinx-browser.mjs +8 -0
  189. package/node_modules/@attocash/commons-worker-remote/kotlinx-browser.mjs.map +1 -0
  190. package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs +4 -0
  191. package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json-io.mjs.map +1 -0
  192. package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json.mjs +5294 -0
  193. package/node_modules/@attocash/commons-worker-remote/kotlinx-serialization-kotlinx-serialization-json.mjs.map +1 -0
  194. package/node_modules/@attocash/commons-worker-remote/package.json +31 -0
  195. package/node_modules/@js-joda/core/CHANGELOG.md +363 -0
  196. package/node_modules/@js-joda/core/CheatSheet.md +947 -0
  197. package/node_modules/@js-joda/core/LICENSE +34 -0
  198. package/node_modules/@js-joda/core/README.md +155 -0
  199. package/node_modules/@js-joda/core/bower.json +21 -0
  200. package/node_modules/@js-joda/core/dist/js-joda.d.ts +2452 -0
  201. package/node_modules/@js-joda/core/dist/js-joda.esm.js +13564 -0
  202. package/node_modules/@js-joda/core/dist/js-joda.flow.js +949 -0
  203. package/node_modules/@js-joda/core/dist/js-joda.js +13630 -0
  204. package/node_modules/@js-joda/core/dist/js-joda.js.map +1 -0
  205. package/node_modules/@js-joda/core/dist/js-joda.min.js +5 -0
  206. package/node_modules/@js-joda/core/package.json +76 -0
  207. package/node_modules/@js-joda/core/src/Clock.js +330 -0
  208. package/node_modules/@js-joda/core/src/DayOfWeek.js +451 -0
  209. package/node_modules/@js-joda/core/src/Duration.js +1205 -0
  210. package/node_modules/@js-joda/core/src/Enum.js +30 -0
  211. package/node_modules/@js-joda/core/src/Instant.js +1012 -0
  212. package/node_modules/@js-joda/core/src/LocalDate.js +1703 -0
  213. package/node_modules/@js-joda/core/src/LocalDateTime.js +1686 -0
  214. package/node_modules/@js-joda/core/src/LocalTime.js +1415 -0
  215. package/node_modules/@js-joda/core/src/MathUtil.js +236 -0
  216. package/node_modules/@js-joda/core/src/Month.js +600 -0
  217. package/node_modules/@js-joda/core/src/MonthDay.js +730 -0
  218. package/node_modules/@js-joda/core/src/OffsetDateTime.js +757 -0
  219. package/node_modules/@js-joda/core/src/OffsetTime.js +621 -0
  220. package/node_modules/@js-joda/core/src/Period.js +933 -0
  221. package/node_modules/@js-joda/core/src/StringUtil.js +43 -0
  222. package/node_modules/@js-joda/core/src/Year.js +1015 -0
  223. package/node_modules/@js-joda/core/src/YearConstants.js +21 -0
  224. package/node_modules/@js-joda/core/src/YearMonth.js +1096 -0
  225. package/node_modules/@js-joda/core/src/ZoneId.js +236 -0
  226. package/node_modules/@js-joda/core/src/ZoneIdFactory.js +201 -0
  227. package/node_modules/@js-joda/core/src/ZoneOffset.js +486 -0
  228. package/node_modules/@js-joda/core/src/ZoneRegion.js +72 -0
  229. package/node_modules/@js-joda/core/src/ZonedDateTime.js +2007 -0
  230. package/node_modules/@js-joda/core/src/_init.js +68 -0
  231. package/node_modules/@js-joda/core/src/assert.js +33 -0
  232. package/node_modules/@js-joda/core/src/chrono/ChronoLocalDate.js +230 -0
  233. package/node_modules/@js-joda/core/src/chrono/ChronoLocalDateTime.js +130 -0
  234. package/node_modules/@js-joda/core/src/chrono/ChronoZonedDateTime.js +194 -0
  235. package/node_modules/@js-joda/core/src/chrono/IsoChronology.js +235 -0
  236. package/node_modules/@js-joda/core/src/convert.js +83 -0
  237. package/node_modules/@js-joda/core/src/errors.js +54 -0
  238. package/node_modules/@js-joda/core/src/format/DateTimeBuilder.js +535 -0
  239. package/node_modules/@js-joda/core/src/format/DateTimeFormatter.js +728 -0
  240. package/node_modules/@js-joda/core/src/format/DateTimeFormatterBuilder.js +1545 -0
  241. package/node_modules/@js-joda/core/src/format/DateTimeParseContext.js +297 -0
  242. package/node_modules/@js-joda/core/src/format/DateTimePrintContext.js +138 -0
  243. package/node_modules/@js-joda/core/src/format/DecimalStyle.js +113 -0
  244. package/node_modules/@js-joda/core/src/format/EnumMap.js +70 -0
  245. package/node_modules/@js-joda/core/src/format/ParsePosition.js +31 -0
  246. package/node_modules/@js-joda/core/src/format/ResolverStyle.js +93 -0
  247. package/node_modules/@js-joda/core/src/format/SignStyle.js +38 -0
  248. package/node_modules/@js-joda/core/src/format/StringBuilder.js +47 -0
  249. package/node_modules/@js-joda/core/src/format/TextStyle.js +114 -0
  250. package/node_modules/@js-joda/core/src/format/parser/CharLiteralPrinterParser.js +46 -0
  251. package/node_modules/@js-joda/core/src/format/parser/CompositePrinterParser.js +89 -0
  252. package/node_modules/@js-joda/core/src/format/parser/FractionPrinterParser.js +162 -0
  253. package/node_modules/@js-joda/core/src/format/parser/NumberPrinterParser.js +367 -0
  254. package/node_modules/@js-joda/core/src/format/parser/OffsetIdPrinterParser.js +177 -0
  255. package/node_modules/@js-joda/core/src/format/parser/PadPrinterParserDecorator.js +81 -0
  256. package/node_modules/@js-joda/core/src/format/parser/SettingsParser.js +44 -0
  257. package/node_modules/@js-joda/core/src/format/parser/StringLiteralPrinterParser.js +39 -0
  258. package/node_modules/@js-joda/core/src/format/parser/ZoneIdPrinterParser.js +218 -0
  259. package/node_modules/@js-joda/core/src/js-joda.js +210 -0
  260. package/node_modules/@js-joda/core/src/license-preamble.js +3 -0
  261. package/node_modules/@js-joda/core/src/temporal/ChronoField.js +470 -0
  262. package/node_modules/@js-joda/core/src/temporal/ChronoUnit.js +310 -0
  263. package/node_modules/@js-joda/core/src/temporal/DefaultInterfaceTemporal.js +118 -0
  264. package/node_modules/@js-joda/core/src/temporal/IsoFields.js +859 -0
  265. package/node_modules/@js-joda/core/src/temporal/NativeJsTemporal.js +105 -0
  266. package/node_modules/@js-joda/core/src/temporal/Temporal.js +346 -0
  267. package/node_modules/@js-joda/core/src/temporal/TemporalAccessor.js +125 -0
  268. package/node_modules/@js-joda/core/src/temporal/TemporalAdjuster.js +92 -0
  269. package/node_modules/@js-joda/core/src/temporal/TemporalAdjusters.js +464 -0
  270. package/node_modules/@js-joda/core/src/temporal/TemporalAmount.js +166 -0
  271. package/node_modules/@js-joda/core/src/temporal/TemporalField.js +248 -0
  272. package/node_modules/@js-joda/core/src/temporal/TemporalQueries.js +223 -0
  273. package/node_modules/@js-joda/core/src/temporal/TemporalQueriesFactory.js +77 -0
  274. package/node_modules/@js-joda/core/src/temporal/TemporalQuery.js +107 -0
  275. package/node_modules/@js-joda/core/src/temporal/TemporalUnit.js +179 -0
  276. package/node_modules/@js-joda/core/src/temporal/ValueRange.js +257 -0
  277. package/node_modules/@js-joda/core/src/use.js +20 -0
  278. package/node_modules/@js-joda/core/src/zone/SystemDefaultZoneId.js +31 -0
  279. package/node_modules/@js-joda/core/src/zone/SystemDefaultZoneRules.js +162 -0
  280. package/node_modules/@js-joda/core/src/zone/ZoneOffsetTransition.js +289 -0
  281. package/node_modules/@js-joda/core/src/zone/ZoneRules.js +464 -0
  282. package/node_modules/@js-joda/core/src/zone/ZoneRulesProvider.js +36 -0
  283. package/node_modules/@noble/hashes/LICENSE +21 -0
  284. package/node_modules/@noble/hashes/README.md +563 -0
  285. package/node_modules/@noble/hashes/_blake.d.ts +21 -0
  286. package/node_modules/@noble/hashes/_blake.d.ts.map +1 -0
  287. package/node_modules/@noble/hashes/_blake.js +52 -0
  288. package/node_modules/@noble/hashes/_blake.js.map +1 -0
  289. package/node_modules/@noble/hashes/_md.d.ts +99 -0
  290. package/node_modules/@noble/hashes/_md.d.ts.map +1 -0
  291. package/node_modules/@noble/hashes/_md.js +202 -0
  292. package/node_modules/@noble/hashes/_md.js.map +1 -0
  293. package/node_modules/@noble/hashes/_u64.d.ts +63 -0
  294. package/node_modules/@noble/hashes/_u64.d.ts.map +1 -0
  295. package/node_modules/@noble/hashes/_u64.js +84 -0
  296. package/node_modules/@noble/hashes/_u64.js.map +1 -0
  297. package/node_modules/@noble/hashes/argon2.d.ts +112 -0
  298. package/node_modules/@noble/hashes/argon2.d.ts.map +1 -0
  299. package/node_modules/@noble/hashes/argon2.js +517 -0
  300. package/node_modules/@noble/hashes/argon2.js.map +1 -0
  301. package/node_modules/@noble/hashes/blake1.d.ts +156 -0
  302. package/node_modules/@noble/hashes/blake1.d.ts.map +1 -0
  303. package/node_modules/@noble/hashes/blake1.js +560 -0
  304. package/node_modules/@noble/hashes/blake1.js.map +1 -0
  305. package/node_modules/@noble/hashes/blake2.d.ts +184 -0
  306. package/node_modules/@noble/hashes/blake2.d.ts.map +1 -0
  307. package/node_modules/@noble/hashes/blake2.js +501 -0
  308. package/node_modules/@noble/hashes/blake2.js.map +1 -0
  309. package/node_modules/@noble/hashes/blake3.d.ts +68 -0
  310. package/node_modules/@noble/hashes/blake3.d.ts.map +1 -0
  311. package/node_modules/@noble/hashes/blake3.js +284 -0
  312. package/node_modules/@noble/hashes/blake3.js.map +1 -0
  313. package/node_modules/@noble/hashes/eskdf.d.ts +92 -0
  314. package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -0
  315. package/node_modules/@noble/hashes/eskdf.js +218 -0
  316. package/node_modules/@noble/hashes/eskdf.js.map +1 -0
  317. package/node_modules/@noble/hashes/hkdf.d.ts +64 -0
  318. package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -0
  319. package/node_modules/@noble/hashes/hkdf.js +120 -0
  320. package/node_modules/@noble/hashes/hkdf.js.map +1 -0
  321. package/node_modules/@noble/hashes/hmac.d.ts +47 -0
  322. package/node_modules/@noble/hashes/hmac.d.ts.map +1 -0
  323. package/node_modules/@noble/hashes/hmac.js +93 -0
  324. package/node_modules/@noble/hashes/hmac.js.map +1 -0
  325. package/node_modules/@noble/hashes/index.d.ts +2 -0
  326. package/node_modules/@noble/hashes/index.d.ts.map +1 -0
  327. package/node_modules/@noble/hashes/index.js +35 -0
  328. package/node_modules/@noble/hashes/index.js.map +1 -0
  329. package/node_modules/@noble/hashes/legacy.d.ts +102 -0
  330. package/node_modules/@noble/hashes/legacy.d.ts.map +1 -0
  331. package/node_modules/@noble/hashes/legacy.js +327 -0
  332. package/node_modules/@noble/hashes/legacy.js.map +1 -0
  333. package/node_modules/@noble/hashes/package.json +97 -0
  334. package/node_modules/@noble/hashes/pbkdf2.d.ts +56 -0
  335. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -0
  336. package/node_modules/@noble/hashes/pbkdf2.js +135 -0
  337. package/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
  338. package/node_modules/@noble/hashes/scrypt.d.ts +65 -0
  339. package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -0
  340. package/node_modules/@noble/hashes/scrypt.js +257 -0
  341. package/node_modules/@noble/hashes/scrypt.js.map +1 -0
  342. package/node_modules/@noble/hashes/sha2.d.ts +249 -0
  343. package/node_modules/@noble/hashes/sha2.d.ts.map +1 -0
  344. package/node_modules/@noble/hashes/sha2.js +458 -0
  345. package/node_modules/@noble/hashes/sha2.js.map +1 -0
  346. package/node_modules/@noble/hashes/sha3-addons.d.ts +461 -0
  347. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -0
  348. package/node_modules/@noble/hashes/sha3-addons.js +783 -0
  349. package/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
  350. package/node_modules/@noble/hashes/sha3.d.ts +199 -0
  351. package/node_modules/@noble/hashes/sha3.d.ts.map +1 -0
  352. package/node_modules/@noble/hashes/sha3.js +431 -0
  353. package/node_modules/@noble/hashes/sha3.js.map +1 -0
  354. package/node_modules/@noble/hashes/src/_blake.ts +57 -0
  355. package/node_modules/@noble/hashes/src/_md.ts +222 -0
  356. package/node_modules/@noble/hashes/src/_u64.ts +117 -0
  357. package/node_modules/@noble/hashes/src/argon2.ts +667 -0
  358. package/node_modules/@noble/hashes/src/blake1.ts +614 -0
  359. package/node_modules/@noble/hashes/src/blake2.ts +582 -0
  360. package/node_modules/@noble/hashes/src/blake3.ts +317 -0
  361. package/node_modules/@noble/hashes/src/eskdf.ts +259 -0
  362. package/node_modules/@noble/hashes/src/hkdf.ts +133 -0
  363. package/node_modules/@noble/hashes/src/hmac.ts +126 -0
  364. package/node_modules/@noble/hashes/src/index.ts +33 -0
  365. package/node_modules/@noble/hashes/src/legacy.ts +339 -0
  366. package/node_modules/@noble/hashes/src/pbkdf2.ts +175 -0
  367. package/node_modules/@noble/hashes/src/scrypt.ts +315 -0
  368. package/node_modules/@noble/hashes/src/sha2.ts +530 -0
  369. package/node_modules/@noble/hashes/src/sha3-addons.ts +983 -0
  370. package/node_modules/@noble/hashes/src/sha3.ts +485 -0
  371. package/node_modules/@noble/hashes/src/utils.ts +848 -0
  372. package/node_modules/@noble/hashes/src/webcrypto.ts +239 -0
  373. package/node_modules/@noble/hashes/utils.d.ts +519 -0
  374. package/node_modules/@noble/hashes/utils.d.ts.map +1 -0
  375. package/node_modules/@noble/hashes/utils.js +578 -0
  376. package/node_modules/@noble/hashes/utils.js.map +1 -0
  377. package/node_modules/@noble/hashes/webcrypto.d.ts +120 -0
  378. package/node_modules/@noble/hashes/webcrypto.d.ts.map +1 -0
  379. package/node_modules/@noble/hashes/webcrypto.js +165 -0
  380. package/node_modules/@noble/hashes/webcrypto.js.map +1 -0
  381. package/node_modules/ws/LICENSE +20 -0
  382. package/node_modules/ws/README.md +548 -0
  383. package/node_modules/ws/browser.js +8 -0
  384. package/node_modules/ws/index.js +22 -0
  385. package/node_modules/ws/lib/buffer-util.js +131 -0
  386. package/node_modules/ws/lib/constants.js +19 -0
  387. package/node_modules/ws/lib/event-target.js +292 -0
  388. package/node_modules/ws/lib/extension.js +203 -0
  389. package/node_modules/ws/lib/limiter.js +55 -0
  390. package/node_modules/ws/lib/permessage-deflate.js +530 -0
  391. package/node_modules/ws/lib/receiver.js +743 -0
  392. package/node_modules/ws/lib/sender.js +607 -0
  393. package/node_modules/ws/lib/stream.js +161 -0
  394. package/node_modules/ws/lib/subprotocol.js +62 -0
  395. package/node_modules/ws/lib/validation.js +152 -0
  396. package/node_modules/ws/lib/websocket-server.js +562 -0
  397. package/node_modules/ws/lib/websocket.js +1407 -0
  398. package/node_modules/ws/package.json +74 -0
  399. package/node_modules/ws/wrapper.mjs +21 -0
  400. 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 &plusmn; 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
+ }