effect 4.0.2 → 4.0.3

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 (243) hide show
  1. package/dist/Context.js +3 -3
  2. package/dist/Context.js.map +1 -1
  3. package/dist/Crypto.d.ts +33 -5
  4. package/dist/Crypto.d.ts.map +1 -1
  5. package/dist/Crypto.js +8 -2
  6. package/dist/Crypto.js.map +1 -1
  7. package/dist/DateTime.d.ts +9 -6
  8. package/dist/DateTime.d.ts.map +1 -1
  9. package/dist/DateTime.js +9 -6
  10. package/dist/DateTime.js.map +1 -1
  11. package/dist/Duration.d.ts +6 -6
  12. package/dist/Duration.d.ts.map +1 -1
  13. package/dist/Duration.js +27 -8
  14. package/dist/Duration.js.map +1 -1
  15. package/dist/FileSystem.d.ts +44 -2
  16. package/dist/FileSystem.d.ts.map +1 -1
  17. package/dist/FileSystem.js.map +1 -1
  18. package/dist/Schema.d.ts +473 -1
  19. package/dist/Schema.d.ts.map +1 -1
  20. package/dist/Schema.js +355 -4
  21. package/dist/Schema.js.map +1 -1
  22. package/dist/Stdio.d.ts +7 -1
  23. package/dist/Stdio.d.ts.map +1 -1
  24. package/dist/Stdio.js +1 -0
  25. package/dist/Stdio.js.map +1 -1
  26. package/dist/Stream.d.ts +11 -11
  27. package/dist/Stream.js +5 -5
  28. package/dist/ai/McpServer.d.ts +6 -0
  29. package/dist/ai/McpServer.d.ts.map +1 -1
  30. package/dist/ai/McpServer.js +65 -23
  31. package/dist/ai/McpServer.js.map +1 -1
  32. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +5 -0
  33. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  34. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  35. package/dist/ai/internal/mcpRuntime.js +1 -0
  36. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  37. package/dist/cli/CliOutput.d.ts +27 -0
  38. package/dist/cli/CliOutput.d.ts.map +1 -1
  39. package/dist/cli/CliOutput.js +33 -10
  40. package/dist/cli/CliOutput.js.map +1 -1
  41. package/dist/cli/Command.d.ts.map +1 -1
  42. package/dist/cli/Command.js +6 -3
  43. package/dist/cli/Command.js.map +1 -1
  44. package/dist/cli/Completions.d.ts +3 -3
  45. package/dist/cli/Completions.d.ts.map +1 -1
  46. package/dist/cli/Completions.js +8 -5
  47. package/dist/cli/Completions.js.map +1 -1
  48. package/dist/cli/GlobalFlag.d.ts +5 -4
  49. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  50. package/dist/cli/GlobalFlag.js +3 -3
  51. package/dist/cli/GlobalFlag.js.map +1 -1
  52. package/dist/cli/Prompt.d.ts +17 -1
  53. package/dist/cli/Prompt.d.ts.map +1 -1
  54. package/dist/cli/Prompt.js +119 -114
  55. package/dist/cli/Prompt.js.map +1 -1
  56. package/dist/cli/internal/ansi.d.ts +0 -1
  57. package/dist/cli/internal/ansi.d.ts.map +1 -1
  58. package/dist/cli/internal/ansi.js +20 -3
  59. package/dist/cli/internal/ansi.js.map +1 -1
  60. package/dist/cli/internal/completions/powershell.d.ts +2 -0
  61. package/dist/cli/internal/completions/powershell.d.ts.map +1 -0
  62. package/dist/cli/internal/completions/powershell.js +273 -0
  63. package/dist/cli/internal/completions/powershell.js.map +1 -0
  64. package/dist/cli/internal/completions/zsh.js +3 -2
  65. package/dist/cli/internal/completions/zsh.js.map +1 -1
  66. package/dist/cli/internal/wizard.d.ts +3 -3
  67. package/dist/cli/internal/wizard.d.ts.map +1 -1
  68. package/dist/cli/internal/wizard.js +21 -18
  69. package/dist/cli/internal/wizard.js.map +1 -1
  70. package/dist/cluster/ClusterSchema.d.ts +28 -0
  71. package/dist/cluster/ClusterSchema.d.ts.map +1 -1
  72. package/dist/cluster/ClusterSchema.js +30 -0
  73. package/dist/cluster/ClusterSchema.js.map +1 -1
  74. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  75. package/dist/cluster/ClusterWorkflowEngine.js +10 -18
  76. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  77. package/dist/cluster/MessageStorage.d.ts +18 -3
  78. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  79. package/dist/cluster/MessageStorage.js +31 -11
  80. package/dist/cluster/MessageStorage.js.map +1 -1
  81. package/dist/cluster/Runners.d.ts.map +1 -1
  82. package/dist/cluster/Runners.js +8 -2
  83. package/dist/cluster/Runners.js.map +1 -1
  84. package/dist/cluster/Sharding.d.ts.map +1 -1
  85. package/dist/cluster/Sharding.js +181 -62
  86. package/dist/cluster/Sharding.js.map +1 -1
  87. package/dist/cluster/SqlMessageStorage.d.ts +59 -19
  88. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  89. package/dist/cluster/SqlMessageStorage.js +84 -55
  90. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  91. package/dist/cluster/SqlRunnerStorage.d.ts +68 -19
  92. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  93. package/dist/cluster/SqlRunnerStorage.js +191 -113
  94. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  95. package/dist/cluster/internal/entityManager.js +104 -37
  96. package/dist/cluster/internal/entityManager.js.map +1 -1
  97. package/dist/http/FindMyWay/internal/router.js +3 -6
  98. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  99. package/dist/http/HttpClient.d.ts +6 -0
  100. package/dist/http/HttpClient.d.ts.map +1 -1
  101. package/dist/http/HttpClient.js +39 -2
  102. package/dist/http/HttpClient.js.map +1 -1
  103. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  104. package/dist/http/HttpTraceContext.js +4 -2
  105. package/dist/http/HttpTraceContext.js.map +1 -1
  106. package/dist/internal/effect.js +12 -7
  107. package/dist/internal/effect.js.map +1 -1
  108. package/dist/internal/version.js +1 -1
  109. package/dist/net/AddressResolver.d.ts +145 -0
  110. package/dist/net/AddressResolver.d.ts.map +1 -0
  111. package/dist/net/AddressResolver.js +114 -0
  112. package/dist/net/AddressResolver.js.map +1 -0
  113. package/dist/net/Dns.d.ts +596 -0
  114. package/dist/net/Dns.d.ts.map +1 -0
  115. package/dist/net/Dns.js +549 -0
  116. package/dist/net/Dns.js.map +1 -0
  117. package/dist/net/Host.d.ts +320 -0
  118. package/dist/net/Host.d.ts.map +1 -0
  119. package/dist/net/Host.js +342 -0
  120. package/dist/net/Host.js.map +1 -0
  121. package/dist/net/IpInterface.d.ts +76 -3
  122. package/dist/net/IpInterface.d.ts.map +1 -1
  123. package/dist/net/IpInterface.js +53 -4
  124. package/dist/net/IpInterface.js.map +1 -1
  125. package/dist/net/IpNetwork.d.ts +82 -8
  126. package/dist/net/IpNetwork.d.ts.map +1 -1
  127. package/dist/net/IpNetwork.js +60 -4
  128. package/dist/net/IpNetwork.js.map +1 -1
  129. package/dist/net/NetAddress.d.ts +388 -35
  130. package/dist/net/NetAddress.d.ts.map +1 -1
  131. package/dist/net/NetAddress.js +350 -34
  132. package/dist/net/NetAddress.js.map +1 -1
  133. package/dist/net/index.d.ts +15 -0
  134. package/dist/net/index.d.ts.map +1 -1
  135. package/dist/net/index.js +15 -0
  136. package/dist/net/index.js.map +1 -1
  137. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  138. package/dist/observability/OtlpMetrics.js +15 -21
  139. package/dist/observability/OtlpMetrics.js.map +1 -1
  140. package/dist/observability/PrometheusMetrics.js +1 -0
  141. package/dist/observability/PrometheusMetrics.js.map +1 -1
  142. package/dist/persistence/PersistedQueue.d.ts +32 -3
  143. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  144. package/dist/persistence/PersistedQueue.js +75 -16
  145. package/dist/persistence/PersistedQueue.js.map +1 -1
  146. package/dist/rpc/RpcClient.d.ts +22 -6
  147. package/dist/rpc/RpcClient.d.ts.map +1 -1
  148. package/dist/rpc/RpcClient.js +12 -5
  149. package/dist/rpc/RpcClient.js.map +1 -1
  150. package/dist/rpc/RpcServer.d.ts +6 -0
  151. package/dist/rpc/RpcServer.d.ts.map +1 -1
  152. package/dist/rpc/RpcServer.js +42 -20
  153. package/dist/rpc/RpcServer.js.map +1 -1
  154. package/dist/socket/DatagramSocket.d.ts +456 -0
  155. package/dist/socket/DatagramSocket.d.ts.map +1 -0
  156. package/dist/socket/DatagramSocket.js +535 -0
  157. package/dist/socket/DatagramSocket.js.map +1 -0
  158. package/dist/socket/Socket.d.ts +14 -1
  159. package/dist/socket/Socket.d.ts.map +1 -1
  160. package/dist/socket/Socket.js +9 -1
  161. package/dist/socket/Socket.js.map +1 -1
  162. package/dist/socket/index.d.ts +5 -0
  163. package/dist/socket/index.d.ts.map +1 -1
  164. package/dist/socket/index.js +5 -0
  165. package/dist/socket/index.js.map +1 -1
  166. package/dist/sql/Migrator.d.ts.map +1 -1
  167. package/dist/sql/Migrator.js +7 -2
  168. package/dist/sql/Migrator.js.map +1 -1
  169. package/dist/sql/SqlClient.d.ts +7 -1
  170. package/dist/sql/SqlClient.d.ts.map +1 -1
  171. package/dist/sql/SqlClient.js +31 -6
  172. package/dist/sql/SqlClient.js.map +1 -1
  173. package/dist/testing/TestCrypto.d.ts +73 -0
  174. package/dist/testing/TestCrypto.d.ts.map +1 -0
  175. package/dist/testing/TestCrypto.js +87 -0
  176. package/dist/testing/TestCrypto.js.map +1 -0
  177. package/dist/testing/index.d.ts +5 -0
  178. package/dist/testing/index.d.ts.map +1 -1
  179. package/dist/testing/index.js +5 -0
  180. package/dist/testing/index.js.map +1 -1
  181. package/dist/workflow/DurableDeferred.d.ts +54 -0
  182. package/dist/workflow/DurableDeferred.d.ts.map +1 -1
  183. package/dist/workflow/DurableDeferred.js +78 -49
  184. package/dist/workflow/DurableDeferred.js.map +1 -1
  185. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  186. package/dist/workflow/WorkflowEngine.js +2 -1
  187. package/dist/workflow/WorkflowEngine.js.map +1 -1
  188. package/package.json +1 -1
  189. package/src/Context.ts +3 -3
  190. package/src/Crypto.ts +43 -9
  191. package/src/DateTime.ts +9 -6
  192. package/src/Duration.ts +36 -16
  193. package/src/FileSystem.ts +48 -2
  194. package/src/Schema.ts +669 -5
  195. package/src/Stdio.ts +9 -2
  196. package/src/Stream.ts +11 -11
  197. package/src/ai/McpServer.ts +63 -23
  198. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +5 -0
  199. package/src/ai/internal/mcpProtocol.ts +3 -0
  200. package/src/ai/internal/mcpRuntime.ts +2 -0
  201. package/src/cli/CliOutput.ts +33 -16
  202. package/src/cli/Command.ts +4 -3
  203. package/src/cli/Completions.ts +9 -6
  204. package/src/cli/GlobalFlag.ts +19 -11
  205. package/src/cli/Prompt.ts +159 -149
  206. package/src/cli/internal/ansi.ts +26 -3
  207. package/src/cli/internal/completions/powershell.ts +322 -0
  208. package/src/cli/internal/completions/zsh.ts +4 -2
  209. package/src/cli/internal/wizard.ts +34 -26
  210. package/src/cluster/ClusterSchema.ts +32 -0
  211. package/src/cluster/ClusterWorkflowEngine.ts +13 -24
  212. package/src/cluster/MessageStorage.ts +45 -14
  213. package/src/cluster/Runners.ts +8 -2
  214. package/src/cluster/Sharding.ts +207 -49
  215. package/src/cluster/SqlMessageStorage.ts +118 -84
  216. package/src/cluster/SqlRunnerStorage.ts +224 -128
  217. package/src/cluster/internal/entityManager.ts +151 -55
  218. package/src/http/FindMyWay/internal/router.ts +4 -7
  219. package/src/http/HttpClient.ts +56 -2
  220. package/src/http/HttpTraceContext.ts +8 -2
  221. package/src/internal/effect.ts +15 -13
  222. package/src/internal/version.ts +1 -1
  223. package/src/net/AddressResolver.ts +222 -0
  224. package/src/net/Dns.ts +1035 -0
  225. package/src/net/Host.ts +472 -0
  226. package/src/net/IpInterface.ts +117 -7
  227. package/src/net/IpNetwork.ts +116 -17
  228. package/src/net/NetAddress.ts +611 -76
  229. package/src/net/index.ts +18 -0
  230. package/src/observability/OtlpMetrics.ts +12 -23
  231. package/src/observability/PrometheusMetrics.ts +1 -0
  232. package/src/persistence/PersistedQueue.ts +146 -53
  233. package/src/rpc/RpcClient.ts +41 -19
  234. package/src/rpc/RpcServer.ts +60 -25
  235. package/src/socket/DatagramSocket.ts +919 -0
  236. package/src/socket/Socket.ts +22 -2
  237. package/src/socket/index.ts +6 -0
  238. package/src/sql/Migrator.ts +21 -5
  239. package/src/sql/SqlClient.ts +39 -15
  240. package/src/testing/TestCrypto.ts +94 -0
  241. package/src/testing/index.ts +6 -0
  242. package/src/workflow/DurableDeferred.ts +123 -48
  243. package/src/workflow/WorkflowEngine.ts +2 -1
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import * as Equal from "../Equal.ts";
8
8
  import * as Hash from "../Hash.ts";
9
+ import * as Inspectable from "../Inspectable.ts";
9
10
  import * as Result from "../Result.ts";
10
11
  import * as NetAddress from "./NetAddress.ts";
11
12
  declare const TypeId: "~effect/net/IpInterface";
@@ -19,13 +20,11 @@ declare const TypeId: "~effect/net/IpInterface";
19
20
  * @category models
20
21
  * @since 4.0.0
21
22
  */
22
- export interface IpInterface<out A extends NetAddress.IpAddress = NetAddress.IpAddress> extends Equal.Equal, Hash.Hash {
23
+ export interface IpInterface<out A extends NetAddress.IpAddress = NetAddress.IpAddress> extends Equal.Equal, Hash.Hash, Inspectable.Inspectable {
23
24
  readonly _tag: "IpInterface";
24
25
  readonly address: A;
25
26
  readonly prefixLength: number;
26
27
  readonly [TypeId]: typeof TypeId;
27
- toString(): string;
28
- toJSON(): string;
29
28
  }
30
29
  /**
31
30
  * An IPv4 host address and prefix length.
@@ -43,6 +42,42 @@ export type Ipv4Interface = IpInterface<NetAddress.Ipv4Address>;
43
42
  * @since 4.0.0
44
43
  */
45
44
  export type Ipv6Interface = IpInterface<NetAddress.Ipv6Address>;
45
+ /**
46
+ * An address and prefix length, generic over the accepted address input.
47
+ *
48
+ * @see {@link make} for the checked constructor
49
+ * @stability unstable
50
+ * @category models
51
+ * @since 4.0.0
52
+ */
53
+ export interface IpInterfaceParts<A extends NetAddress.IpAddressInput = NetAddress.IpAddressInput> {
54
+ readonly address: A;
55
+ readonly prefixLength: number;
56
+ }
57
+ /**
58
+ * An interface address, or a string or parts to convert to one.
59
+ *
60
+ * @stability unstable
61
+ * @category models
62
+ * @since 4.0.0
63
+ */
64
+ export type IpInterfaceInput = IpInterface | string | IpInterfaceParts;
65
+ /**
66
+ * An IPv4 interface address, or a string or parts to convert to one.
67
+ *
68
+ * @stability unstable
69
+ * @category models
70
+ * @since 4.0.0
71
+ */
72
+ export type Ipv4InterfaceInput = Ipv4Interface | string | IpInterfaceParts<NetAddress.Ipv4AddressInput>;
73
+ /**
74
+ * An IPv6 interface address, or a string or parts to convert to one.
75
+ *
76
+ * @stability unstable
77
+ * @category models
78
+ * @since 4.0.0
79
+ */
80
+ export type Ipv6InterfaceInput = Ipv6Interface | string | IpInterfaceParts<NetAddress.Ipv6AddressInput>;
46
81
  /**
47
82
  * Companion types for parsing IP interface addresses.
48
83
  *
@@ -131,6 +166,44 @@ export declare const ipv6FromString: (input: string, options?: IpInterface.Parse
131
166
  * @since 4.0.0
132
167
  */
133
168
  export declare const fromString: (input: string, options?: IpInterface.ParseOptions) => Result.Result<IpInterface, NetAddress.NetAddressError>;
169
+ /**
170
+ * Converts an `Ipv4InterfaceInput` to an IPv4 interface address, parsing
171
+ * strings like `ipv4FromString` with the given options, converting parts like
172
+ * `make`, and returning interface addresses unchanged.
173
+ *
174
+ * @stability unstable
175
+ * @category constructors
176
+ * @since 4.0.0
177
+ */
178
+ export declare const ipv4FromInput: (input: Ipv4InterfaceInput, options?: IpInterface.ParseOptions) => Result.Result<Ipv4Interface, NetAddress.NetAddressError>;
179
+ /**
180
+ * Converts an `Ipv6InterfaceInput` to an IPv6 interface address, parsing
181
+ * strings like `ipv6FromString` with the given options, converting parts like
182
+ * `make`, and returning interface addresses unchanged.
183
+ *
184
+ * @stability unstable
185
+ * @category constructors
186
+ * @since 4.0.0
187
+ */
188
+ export declare const ipv6FromInput: (input: Ipv6InterfaceInput, options?: IpInterface.ParseOptions) => Result.Result<Ipv6Interface, NetAddress.NetAddressError>;
189
+ /**
190
+ * Converts an `IpInterfaceInput` to an interface address, parsing strings like
191
+ * `fromString` with the given options, converting parts like `make`, and
192
+ * returning interface addresses unchanged.
193
+ *
194
+ * @stability unstable
195
+ * @category constructors
196
+ * @since 4.0.0
197
+ */
198
+ export declare const fromInput: (input: IpInterfaceInput, options?: IpInterface.ParseOptions) => Result.Result<IpInterface, NetAddress.NetAddressError>;
199
+ /**
200
+ * Converts a trusted `IpInterfaceInput` to an interface address, throwing on failure.
201
+ *
202
+ * @stability unstable
203
+ * @category unsafe
204
+ * @since 4.0.0
205
+ */
206
+ export declare const fromInputUnsafe: (input: IpInterfaceInput, options?: IpInterface.ParseOptions) => IpInterface;
134
207
  /**
135
208
  * Creates a trusted interface address, throwing when its prefix length is invalid.
136
209
  *
@@ -1 +1 @@
1
- {"version":3,"file":"IpInterface.d.ts","sourceRoot":"","sources":["../../src/net/IpInterface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAGlC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,QAAA,MAAM,MAAM,EAAG,yBAAkC,CAAA;AAEjD;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAE,SAAQ,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI;IACpH,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,IAAI,MAAM,CAAA;IAClB,MAAM,IAAI,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAE/D;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC;;;;;;;OAOG;IACH,UAAiB,YAAY;QAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KAC1C;CACF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,MAAO,OAAO,KAAG,CAAC,IAAI,aACO,CAAA;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,MAAO,OAAO,KAAG,CAAC,IAAI,aACO,CAAA;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,MAAO,OAAO,KAAG,CAAC,IAAI,WAAqC,CAAA;AA2BrF;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,UAAU,CAAC,SAAS,WACxC,CAAC,gBACI,MAAM,KACnB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,eAAe,CAO1D,CAAA;AAuBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,UAClB,MAAM,YACH,WAAW,CAAC,YAAY,KACjC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,eAAe,CAMvD,CAAA;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,UAClB,MAAM,YACH,WAAW,CAAC,YAAY,KACjC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,eAAe,CAMvD,CAAA;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,UACd,MAAM,YACH,WAAW,CAAC,YAAY,KACjC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,eAAe,CAMrD,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,UAAU,CAAC,SAAS,WAAW,CAAC,gBAAgB,MAAM,KAAG,WAAW,CAAC,CAAC,CAC3D,CAAA;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,YAAY,WAAW,CAAC,YAAY,KAAG,WACtC,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,SAAU,WAAW,KAAG,MAAqE,CAAA"}
1
+ {"version":3,"file":"IpInterface.d.ts","sourceRoot":"","sources":["../../src/net/IpInterface.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import * as Equal from "../Equal.js";
8
8
  import * as Hash from "../Hash.js";
9
- import { NodeInspectSymbol } from "../Inspectable.js";
9
+ import * as Inspectable from "../Inspectable.js";
10
10
  import { hasProperty } from "../Predicate.js";
11
11
  import * as Result from "../Result.js";
12
12
  import * as NetAddress from "./NetAddress.js";
@@ -36,6 +36,7 @@ export const isIpv6Interface = u => isIpInterface(u) && NetAddress.isIpv6Address
36
36
  */
37
37
  export const isIpInterface = u => hasProperty(u, TypeId);
38
38
  const IpInterfaceProto = {
39
+ ...Inspectable.BaseProto,
39
40
  _tag: "IpInterface",
40
41
  [TypeId]: TypeId,
41
42
  [Equal.symbol](that) {
@@ -49,9 +50,6 @@ const IpInterfaceProto = {
49
50
  },
50
51
  toJSON() {
51
52
  return this.toString();
52
- },
53
- [NodeInspectSymbol]() {
54
- return this.toJSON();
55
53
  }
56
54
  };
57
55
  const interfaceError = (input, message) => Result.fail(new NetAddress.NetAddressError({
@@ -133,6 +131,57 @@ export const ipv6FromString = (input, options) => Result.flatMap(parseAddressWit
133
131
  * @since 4.0.0
134
132
  */
135
133
  export const fromString = (input, options) => Result.flatMap(parseAddressWithPrefix(input, options), parts => Result.flatMap(NetAddress.ipFromString(parts.address), address => make(address, parts.prefixLength ?? NetAddress.width(address))));
134
+ const fromParts = (input, toAddress) => hasProperty(input, "address") && hasProperty(input, "prefixLength") ? Result.flatMap(toAddress(input.address), address => make(address, input.prefixLength)) : interfaceError(input, "expected an address and prefix length");
135
+ /**
136
+ * Converts an `Ipv4InterfaceInput` to an IPv4 interface address, parsing
137
+ * strings like `ipv4FromString` with the given options, converting parts like
138
+ * `make`, and returning interface addresses unchanged.
139
+ *
140
+ * @stability unstable
141
+ * @category constructors
142
+ * @since 4.0.0
143
+ */
144
+ export const ipv4FromInput = (input, options) => {
145
+ if (isIpv4Interface(input)) return Result.succeed(input);
146
+ if (typeof input === "string") return ipv4FromString(input, options);
147
+ return fromParts(input, NetAddress.ipv4FromInput);
148
+ };
149
+ /**
150
+ * Converts an `Ipv6InterfaceInput` to an IPv6 interface address, parsing
151
+ * strings like `ipv6FromString` with the given options, converting parts like
152
+ * `make`, and returning interface addresses unchanged.
153
+ *
154
+ * @stability unstable
155
+ * @category constructors
156
+ * @since 4.0.0
157
+ */
158
+ export const ipv6FromInput = (input, options) => {
159
+ if (isIpv6Interface(input)) return Result.succeed(input);
160
+ if (typeof input === "string") return ipv6FromString(input, options);
161
+ return fromParts(input, NetAddress.ipv6FromInput);
162
+ };
163
+ /**
164
+ * Converts an `IpInterfaceInput` to an interface address, parsing strings like
165
+ * `fromString` with the given options, converting parts like `make`, and
166
+ * returning interface addresses unchanged.
167
+ *
168
+ * @stability unstable
169
+ * @category constructors
170
+ * @since 4.0.0
171
+ */
172
+ export const fromInput = (input, options) => {
173
+ if (isIpInterface(input)) return Result.succeed(input);
174
+ if (typeof input === "string") return fromString(input, options);
175
+ return fromParts(input, NetAddress.ipFromInput);
176
+ };
177
+ /**
178
+ * Converts a trusted `IpInterfaceInput` to an interface address, throwing on failure.
179
+ *
180
+ * @stability unstable
181
+ * @category unsafe
182
+ * @since 4.0.0
183
+ */
184
+ export const fromInputUnsafe = (input, options) => Result.getOrThrow(fromInput(input, options));
136
185
  /**
137
186
  * Creates a trusted interface address, throwing when its prefix length is invalid.
138
187
  *
@@ -1 +1 @@
1
- {"version":3,"file":"IpInterface.js","names":[],"sources":["../../src/net/IpInterface.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"IpInterface.js","names":[],"sources":["../../src/net/IpInterface.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import * as Equal from "../Equal.ts";
8
8
  import * as Hash from "../Hash.ts";
9
+ import * as Inspectable from "../Inspectable.ts";
9
10
  import * as Result from "../Result.ts";
10
11
  import * as IpInterface from "./IpInterface.ts";
11
12
  import * as NetAddress from "./NetAddress.ts";
@@ -20,13 +21,11 @@ declare const TypeId: "~effect/net/IpNetwork";
20
21
  * @category models
21
22
  * @since 4.0.0
22
23
  */
23
- export interface IpNetwork<out A extends NetAddress.IpAddress = NetAddress.IpAddress> extends Equal.Equal, Hash.Hash {
24
+ export interface IpNetwork<out A extends NetAddress.IpAddress = NetAddress.IpAddress> extends Equal.Equal, Hash.Hash, Inspectable.Inspectable {
24
25
  readonly _tag: "IpNetwork";
25
26
  readonly address: A;
26
27
  readonly prefixLength: number;
27
28
  readonly [TypeId]: typeof TypeId;
28
- toString(): string;
29
- toJSON(): string;
30
29
  }
31
30
  /**
32
31
  * An immutable canonical IPv4 network prefix.
@@ -44,6 +43,40 @@ export type Ipv4Network = IpNetwork<NetAddress.Ipv4Address>;
44
43
  * @since 4.0.0
45
44
  */
46
45
  export type Ipv6Network = IpNetwork<NetAddress.Ipv6Address>;
46
+ /**
47
+ * A network address and prefix length, generic over the accepted address
48
+ * input. The address must have no host bits set.
49
+ *
50
+ * @see {@link make} for the checked constructor
51
+ * @stability unstable
52
+ * @category models
53
+ * @since 4.0.0
54
+ */
55
+ export type IpNetworkParts<A extends NetAddress.IpAddressInput = NetAddress.IpAddressInput> = IpInterface.IpInterfaceParts<A>;
56
+ /**
57
+ * An IP network prefix, or a CIDR string or parts to convert to one.
58
+ *
59
+ * @stability unstable
60
+ * @category models
61
+ * @since 4.0.0
62
+ */
63
+ export type IpNetworkInput = IpNetwork | string | IpNetworkParts;
64
+ /**
65
+ * An IPv4 network prefix, or a CIDR string or parts to convert to one.
66
+ *
67
+ * @stability unstable
68
+ * @category models
69
+ * @since 4.0.0
70
+ */
71
+ export type Ipv4NetworkInput = Ipv4Network | string | IpNetworkParts<NetAddress.Ipv4AddressInput>;
72
+ /**
73
+ * An IPv6 network prefix, or a CIDR string or parts to convert to one.
74
+ *
75
+ * @stability unstable
76
+ * @category models
77
+ * @since 4.0.0
78
+ */
79
+ export type Ipv6NetworkInput = Ipv6Network | string | IpNetworkParts<NetAddress.Ipv6AddressInput>;
47
80
  /**
48
81
  * Returns `true` when a value is an IPv4 network prefix.
49
82
  *
@@ -68,7 +101,6 @@ export declare const isIpv6Network: (u: unknown) => u is Ipv6Network;
68
101
  * @since 4.0.0
69
102
  */
70
103
  export declare const isIpNetwork: (u: unknown) => u is IpNetwork;
71
- type IpAddressFamily<A extends NetAddress.IpAddress> = A extends NetAddress.Ipv4Address ? NetAddress.Ipv4Address : A extends NetAddress.Ipv6Address ? NetAddress.Ipv6Address : never;
72
104
  /**
73
105
  * Creates a network prefix when the address has no host bits set.
74
106
  *
@@ -94,7 +126,7 @@ export declare const make: <A extends NetAddress.IpAddress>(address: A, prefixLe
94
126
  * @category constructors
95
127
  * @since 4.0.0
96
128
  */
97
- export declare const fromAddress: <A extends NetAddress.IpAddress>(address: A, prefixLength: number) => Result.Result<IpNetwork<IpAddressFamily<A>>, NetAddress.NetAddressError>;
129
+ export declare const fromAddress: <A extends NetAddress.IpAddress>(address: A, prefixLength: number) => Result.Result<IpNetwork<NetAddress.Family<A>>, NetAddress.NetAddressError>;
98
130
  /**
99
131
  * Returns the canonical network containing an interface address. The derived
100
132
  * address retains its IPv4 or IPv6 family but not refinements on the input.
@@ -103,7 +135,7 @@ export declare const fromAddress: <A extends NetAddress.IpAddress>(address: A, p
103
135
  * @category conversions
104
136
  * @since 4.0.0
105
137
  */
106
- export declare const fromInterface: <A extends NetAddress.IpAddress>(self: IpInterface.IpInterface<A>) => IpNetwork<IpAddressFamily<A>>;
138
+ export declare const fromInterface: <A extends NetAddress.IpAddress>(self: IpInterface.IpInterface<A>) => IpNetwork<NetAddress.Family<A>>;
107
139
  /**
108
140
  * Parses a strict IPv4 network prefix in CIDR notation.
109
141
  *
@@ -128,6 +160,48 @@ export declare const ipv6FromString: (input: string) => Result.Result<Ipv6Networ
128
160
  * @since 4.0.0
129
161
  */
130
162
  export declare const fromString: (input: string) => Result.Result<IpNetwork, NetAddress.NetAddressError>;
163
+ /**
164
+ * Converts an `Ipv4NetworkInput` to an IPv4 network prefix, parsing strings
165
+ * like `ipv4FromString`, converting parts like `make`, and returning network
166
+ * prefixes unchanged.
167
+ *
168
+ * @stability unstable
169
+ * @category constructors
170
+ * @since 4.0.0
171
+ */
172
+ export declare const ipv4FromInput: (input: Ipv4NetworkInput) => Result.Result<Ipv4Network, NetAddress.NetAddressError>;
173
+ /**
174
+ * Converts an `Ipv6NetworkInput` to an IPv6 network prefix, parsing strings
175
+ * like `ipv6FromString`, converting parts like `make`, and returning network
176
+ * prefixes unchanged.
177
+ *
178
+ * @stability unstable
179
+ * @category constructors
180
+ * @since 4.0.0
181
+ */
182
+ export declare const ipv6FromInput: (input: Ipv6NetworkInput) => Result.Result<Ipv6Network, NetAddress.NetAddressError>;
183
+ /**
184
+ * Converts an `IpNetworkInput` to a network prefix, parsing strings like
185
+ * `fromString`, converting parts like `make`, and returning network prefixes
186
+ * unchanged.
187
+ *
188
+ * **Gotchas**
189
+ *
190
+ * Like `make`, an address with host bits set is rejected rather than truncated.
191
+ *
192
+ * @stability unstable
193
+ * @category constructors
194
+ * @since 4.0.0
195
+ */
196
+ export declare const fromInput: (input: IpNetworkInput) => Result.Result<IpNetwork, NetAddress.NetAddressError>;
197
+ /**
198
+ * Converts a trusted `IpNetworkInput` to a network prefix, throwing on failure.
199
+ *
200
+ * @stability unstable
201
+ * @category unsafe
202
+ * @since 4.0.0
203
+ */
204
+ export declare const fromInputUnsafe: (input: IpNetworkInput) => IpNetwork;
131
205
  /**
132
206
  * Creates a trusted network prefix, throwing when its address or prefix is invalid.
133
207
  *
@@ -145,7 +219,7 @@ export declare const makeUnsafe: <A extends NetAddress.IpAddress>(address: A, pr
145
219
  * @category unsafe
146
220
  * @since 4.0.0
147
221
  */
148
- export declare const fromAddressUnsafe: <A extends NetAddress.IpAddress>(address: A, prefixLength: number) => IpNetwork<IpAddressFamily<A>>;
222
+ export declare const fromAddressUnsafe: <A extends NetAddress.IpAddress>(address: A, prefixLength: number) => IpNetwork<NetAddress.Family<A>>;
149
223
  /**
150
224
  * Parses a trusted network prefix in CIDR notation, throwing on failure.
151
225
  *
@@ -179,7 +253,7 @@ export declare const firstAddress: <A extends NetAddress.IpAddress>(self: IpNetw
179
253
  * @category getters
180
254
  * @since 4.0.0
181
255
  */
182
- export declare const lastAddress: <A extends NetAddress.IpAddress>(self: IpNetwork<A>) => IpAddressFamily<A>;
256
+ export declare const lastAddress: <A extends NetAddress.IpAddress>(self: IpNetwork<A>) => NetAddress.Family<A>;
183
257
  /**
184
258
  * Returns the exact number of addresses in a network prefix.
185
259
  *
@@ -1 +1 @@
1
- {"version":3,"file":"IpNetwork.d.ts","sourceRoot":"","sources":["../../src/net/IpNetwork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IpNetwork.d.ts","sourceRoot":"","sources":["../../src/net/IpNetwork.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  import * as Equal from "../Equal.js";
8
8
  import { dual } from "../Function.js";
9
9
  import * as Hash from "../Hash.js";
10
- import { NodeInspectSymbol } from "../Inspectable.js";
10
+ import * as Inspectable from "../Inspectable.js";
11
11
  import { hasProperty } from "../Predicate.js";
12
12
  import * as Result from "../Result.js";
13
13
  import * as IpInterface from "./IpInterface.js";
@@ -38,6 +38,7 @@ export const isIpv6Network = u => isIpNetwork(u) && NetAddress.isIpv6Address(u.a
38
38
  */
39
39
  export const isIpNetwork = u => hasProperty(u, TypeId);
40
40
  const IpNetworkProto = {
41
+ ...Inspectable.BaseProto,
41
42
  _tag: "IpNetwork",
42
43
  [TypeId]: TypeId,
43
44
  [Equal.symbol](that) {
@@ -51,9 +52,6 @@ const IpNetworkProto = {
51
52
  },
52
53
  toJSON() {
53
54
  return this.toString();
54
- },
55
- [NodeInspectSymbol]() {
56
- return this.toJSON();
57
55
  }
58
56
  };
59
57
  const fromInterfaceValue = value => {
@@ -165,6 +163,64 @@ export const fromString = input => {
165
163
  prefix: "required"
166
164
  }), value => make(value.address, value.prefixLength));
167
165
  };
166
+ const fromParts = (input, toAddress) => hasProperty(input, "address") && hasProperty(input, "prefixLength") ? Result.flatMap(toAddress(input.address), address => make(address, input.prefixLength)) : Result.fail(new NetAddress.NetAddressError({
167
+ input,
168
+ message: "expected an address and prefix length"
169
+ }));
170
+ /**
171
+ * Converts an `Ipv4NetworkInput` to an IPv4 network prefix, parsing strings
172
+ * like `ipv4FromString`, converting parts like `make`, and returning network
173
+ * prefixes unchanged.
174
+ *
175
+ * @stability unstable
176
+ * @category constructors
177
+ * @since 4.0.0
178
+ */
179
+ export const ipv4FromInput = input => {
180
+ if (isIpv4Network(input)) return Result.succeed(input);
181
+ if (typeof input === "string") return ipv4FromString(input);
182
+ return fromParts(input, NetAddress.ipv4FromInput);
183
+ };
184
+ /**
185
+ * Converts an `Ipv6NetworkInput` to an IPv6 network prefix, parsing strings
186
+ * like `ipv6FromString`, converting parts like `make`, and returning network
187
+ * prefixes unchanged.
188
+ *
189
+ * @stability unstable
190
+ * @category constructors
191
+ * @since 4.0.0
192
+ */
193
+ export const ipv6FromInput = input => {
194
+ if (isIpv6Network(input)) return Result.succeed(input);
195
+ if (typeof input === "string") return ipv6FromString(input);
196
+ return fromParts(input, NetAddress.ipv6FromInput);
197
+ };
198
+ /**
199
+ * Converts an `IpNetworkInput` to a network prefix, parsing strings like
200
+ * `fromString`, converting parts like `make`, and returning network prefixes
201
+ * unchanged.
202
+ *
203
+ * **Gotchas**
204
+ *
205
+ * Like `make`, an address with host bits set is rejected rather than truncated.
206
+ *
207
+ * @stability unstable
208
+ * @category constructors
209
+ * @since 4.0.0
210
+ */
211
+ export const fromInput = input => {
212
+ if (isIpNetwork(input)) return Result.succeed(input);
213
+ if (typeof input === "string") return fromString(input);
214
+ return fromParts(input, NetAddress.ipFromInput);
215
+ };
216
+ /**
217
+ * Converts a trusted `IpNetworkInput` to a network prefix, throwing on failure.
218
+ *
219
+ * @stability unstable
220
+ * @category unsafe
221
+ * @since 4.0.0
222
+ */
223
+ export const fromInputUnsafe = input => Result.getOrThrow(fromInput(input));
168
224
  /**
169
225
  * Creates a trusted network prefix, throwing when its address or prefix is invalid.
170
226
  *
@@ -1 +1 @@
1
- {"version":3,"file":"IpNetwork.js","names":[],"sources":["../../src/net/IpNetwork.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"IpNetwork.js","names":[],"sources":["../../src/net/IpNetwork.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;AAMA,OAAO,KAAK,KAAK,MAAM,aAAa;AACpC,SAAS,IAAI,QAAQ,gBAAgB;AACrC,OAAO,KAAK,IAAI,MAAM,YAAY;AAClC,OAAO,KAAK,WAAW,MAAM,mBAAmB;AAChD,SAAS,WAAW,QAAQ,iBAAiB;AAC7C,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,WAAW,MAAM,kBAAkB;AAC/C,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C,MAAM,MAAM,GAAG,uBAAgC;AA8E/C;;;;;;;AAOA,OAAO,MAAM,aAAa,GAAI,CAAU,IAAuB,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AAEpH;;;;;;;AAOA,OAAO,MAAM,aAAa,GAAI,CAAU,IAAuB,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AAEpH;;;;;;;AAOA,OAAO,MAAM,WAAW,GAAI,CAAU,IAAqB,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;AAEjF,MAAM,cAAc,GAAG;EACrB,GAAG,WAAW,CAAC,SAAS;EACxB,IAAI,EAAE,WAAW;EACjB,CAAC,MAAM,GAAG,MAAM;EAChB,CAAC,KAAK,CAAC,MAAM,EAAmB,IAAiB;IAC/C,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;EACjH,CAAC;EACD,CAAC,IAAI,CAAC,MAAM,IAAC;IACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC9E,CAAC;EACD,QAAQ;IACN,OAAO,MAAM,CAAC,IAAI,CAAC;EACrB,CAAC;EACD,MAAM;IACJ,OAAO,IAAI,CAAC,QAAQ,EAAE;EACxB;CACD;AAED,MAAM,kBAAkB,GAAoC,KAAiC,IAAkB;EAC7G,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;IACxD,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,YAAY,EAAE,KAAK,CAAC;GACrB,CAAC;EACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,OAAO,GAAI,OAA6B,IAC5C,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC;AAEzG,MAAM,SAAS,GAAG,CAChB,OAAU,EACV,KAA4B,KACJ;EACxB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;EACnC,OAAQ,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GACrC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,GACrC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,KAA4B,EAAE,YAAoB,KAAmB;EACtF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;EAC/C,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC;EACpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;IAC/B,IAAI,KAAK,GAAG,UAAU,EAAE,OAAO,IAAI;IACnC,IAAI,KAAK,KAAK,UAAU,IAAI,WAAW,KAAK,CAAC,EAAE,OAAO,IAAI,IAAK,IAAI,IAAK,CAAC,GAAG,WAAY,GAAI,IAAI,CAAC;IACjG,OAAO,CAAC;EACV,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;AAWA,OAAO,MAAM,IAAI,GAAG,CAClB,OAAU,EACV,YAAoB,KACuC;EAC3D,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAG,KAAK,IAAI;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;MACvD,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,UAAU,CAAC,eAAe,CAAC;QAAE,KAAK,EAAE,OAAO;QAAE,OAAO,EAAE;MAAgC,CAAE,CAAC,CAC9F;IACH;IACA,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;EAClD,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;AAaA,OAAO,MAAM,WAAW,GAAG,CACzB,OAAU,EACV,YAAoB,KAC0D;EAC9E,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAG,KAAK,IAAI;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;IAC5E,OAAO,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;EAC/E,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;AAQA,OAAO,MAAM,aAAa,GACxB,IAAgC,IACI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;AAExF;;;;;;;AAOA,OAAO,MAAM,cAAc,GAAI,KAAa,IAA4D;EACtG,OAAO,MAAM,CAAC,OAAO,CACnB,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE;EAAU,CAAE,CAAC,EACxD,KAAK,IAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CACnD;AACH,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,cAAc,GAAI,KAAa,IAA4D;EACtG,OAAO,MAAM,CAAC,OAAO,CACnB,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE;EAAU,CAAE,CAAC,EACxD,KAAK,IAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CACnD;AACH,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,UAAU,GAAI,KAAa,IAA0D;EAChG,OAAO,MAAM,CAAC,OAAO,CACnB,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE;EAAU,CAAE,CAAC,EACpD,KAAK,IAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CACnD;AACH,CAAC;AAED,MAAM,SAAS,GAAG,CAChB,KAAwB,EACxB,SAAqE,KAErE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,GAC/D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAG,OAAO,IAAK,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,GACxF,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC;EAAE,KAAK;EAAE,OAAO,EAAE;AAAuC,CAAE,CAAC,CAAC;AAE9G;;;;;;;;;AASA,OAAO,MAAM,aAAa,GAAI,KAAuB,IAA4D;EAC/G,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;EACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,cAAc,CAAC,KAAK,CAAC;EAC3D,OAAO,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC;AACnD,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAM,aAAa,GAAI,KAAuB,IAA4D;EAC/G,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;EACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,cAAc,CAAC,KAAK,CAAC;EAC3D,OAAO,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;AAaA,OAAO,MAAM,SAAS,GAAI,KAAqB,IAA0D;EACvG,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;EACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;EACvD,OAAO,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC;AACjD,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,eAAe,GAAI,KAAqB,IAAgB,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAExG;;;;;;;AAOA,OAAO,MAAM,UAAU,GAAG,CAAiC,OAAU,EAAE,YAAoB,KACzF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAEhD;;;;;;;;;AASA,OAAO,MAAM,iBAAiB,GAAG,CAC/B,OAAU,EACV,YAAoB,KACgB,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAE3F;;;;;;;AAOA,OAAO,MAAM,gBAAgB,GAAI,KAAa,IAAgB,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAElG;;;;;;;AAOA,OAAO,MAAM,MAAM,GAAI,IAAe,IAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;AAE9G;;;;;;;AAOA,OAAO,MAAM,YAAY,GAAoC,IAAkB,IAAQ,IAAI,CAAC,OAAO;AAEnG;;;;;;;;;AASA,OAAO,MAAM,WAAW,GAAoC,IAAkB,IAA0B;EACtG,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;EACnC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;EACvE,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,GAAI,WAAW,CAAC,KAAK,CAAC,GAAG,IAAK,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,YAAY,GAAI,IAAe,IAC1C,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAEzE,MAAM,aAAa,GAAG,CAAC,IAAe,EAAE,OAA6B,KAAa;EAChF,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK;EAC9F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;EACtC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;EAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,QAAQ,gBAiBjB,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC;AAE1B;;;;;;;AAOA,OAAO,MAAM,eAAe,gBAiBxB,IAAI,CAAC,CAAC,EAAE,CAAC,IAAe,EAAE,KAAgB,KAAa;EACzD,OAAO,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;AACtF,CAAC,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAM,QAAQ,gBAiBjB,IAAI,CAAC,CAAC,EAAE,CAAC,IAAe,EAAE,KAAgB,KAAa;EACzD,OAAO,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,GAC1C,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAClC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;AACxC,CAAC,CAAC","ignoreList":[]}