@ariestools/sdk 7.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 (409) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +45 -0
  3. package/dist/_pkg/api/neutral/ApiClient.d.ts +10 -0
  4. package/dist/_pkg/api/neutral/ApiConfig.d.ts +9 -0
  5. package/dist/_pkg/api/neutral/ApiEndpoint.d.ts +19 -0
  6. package/dist/_pkg/api/neutral/ApiStage.d.ts +11 -0
  7. package/dist/_pkg/api/neutral/getApiStage.d.ts +8 -0
  8. package/dist/_pkg/api/neutral/index.d.ts +6 -0
  9. package/dist/_pkg/api/neutral/index.mjs +78 -0
  10. package/dist/_pkg/api/neutral/model.d.ts +3 -0
  11. package/dist/_pkg/api/neutral/model.mjs +1 -0
  12. package/dist/_pkg/array/neutral/containsAll.d.ts +8 -0
  13. package/dist/_pkg/array/neutral/distinct.d.ts +6 -0
  14. package/dist/_pkg/array/neutral/filterAs.d.ts +8 -0
  15. package/dist/_pkg/array/neutral/filterAsync.d.ts +9 -0
  16. package/dist/_pkg/array/neutral/findAs.d.ts +15 -0
  17. package/dist/_pkg/array/neutral/flatten.d.ts +8 -0
  18. package/dist/_pkg/array/neutral/index.d.ts +8 -0
  19. package/dist/_pkg/array/neutral/index.mjs +80 -0
  20. package/dist/_pkg/array/neutral/uniq.d.ts +14 -0
  21. package/dist/_pkg/arraybuffer/neutral/equalArrayBuffers.d.ts +8 -0
  22. package/dist/_pkg/arraybuffer/neutral/index.d.ts +5 -0
  23. package/dist/_pkg/arraybuffer/neutral/index.mjs +74 -0
  24. package/dist/_pkg/arraybuffer/neutral/isArrayBuffer.d.ts +7 -0
  25. package/dist/_pkg/arraybuffer/neutral/toArrayBuffer.d.ts +11 -0
  26. package/dist/_pkg/arraybuffer/neutral/toUint8Array.d.ts +11 -0
  27. package/dist/_pkg/assert/neutral/assertDefinedEx.d.ts +41 -0
  28. package/dist/_pkg/assert/neutral/assertEx.d.ts +41 -0
  29. package/dist/_pkg/assert/neutral/index.d.ts +4 -0
  30. package/dist/_pkg/assert/neutral/index.mjs +30 -0
  31. package/dist/_pkg/assert/neutral/model.d.ts +2 -0
  32. package/dist/_pkg/assert/neutral/model.mjs +1 -0
  33. package/dist/_pkg/assert/neutral/types.d.ts +36 -0
  34. package/dist/_pkg/base/neutral/Base.d.ts +53 -0
  35. package/dist/_pkg/base/neutral/UniqueBase.d.ts +10 -0
  36. package/dist/_pkg/base/neutral/globallyUnique.d.ts +21 -0
  37. package/dist/_pkg/base/neutral/index.d.ts +4 -0
  38. package/dist/_pkg/base/neutral/index.mjs +164 -0
  39. package/dist/_pkg/base/neutral/model.d.ts +2 -0
  40. package/dist/_pkg/base/neutral/model.mjs +1 -0
  41. package/dist/_pkg/creatable/neutral/AbstractCreatable.d.ts +123 -0
  42. package/dist/_pkg/creatable/neutral/Creatable.d.ts +49 -0
  43. package/dist/_pkg/creatable/neutral/Factory.d.ts +28 -0
  44. package/dist/_pkg/creatable/neutral/index.d.ts +5 -0
  45. package/dist/_pkg/creatable/neutral/index.mjs +396 -0
  46. package/dist/_pkg/creatable/neutral/lib/getFunctionName.d.ts +7 -0
  47. package/dist/_pkg/creatable/neutral/lib/getRootFunction.d.ts +8 -0
  48. package/dist/_pkg/creatable/neutral/lib/index.d.ts +3 -0
  49. package/dist/_pkg/creatable/neutral/model/CreatableInstance.d.ts +16 -0
  50. package/dist/_pkg/creatable/neutral/model/CreatableParams.d.ts +16 -0
  51. package/dist/_pkg/creatable/neutral/model/CreatableStatusReporter.d.ts +15 -0
  52. package/dist/_pkg/creatable/neutral/model/Labels.d.ts +24 -0
  53. package/dist/_pkg/creatable/neutral/model/index.d.ts +5 -0
  54. package/dist/_pkg/creatable/neutral/model.d.ts +3 -0
  55. package/dist/_pkg/creatable/neutral/model.mjs +1 -0
  56. package/dist/_pkg/decimal-precision/neutral/fromFixedPoint.d.ts +8 -0
  57. package/dist/_pkg/decimal-precision/neutral/index.d.ts +4 -0
  58. package/dist/_pkg/decimal-precision/neutral/index.mjs +39 -0
  59. package/dist/_pkg/decimal-precision/neutral/toDecimalPrecision.d.ts +8 -0
  60. package/dist/_pkg/decimal-precision/neutral/toFixedPoint.d.ts +8 -0
  61. package/dist/_pkg/delay/neutral/delay.d.ts +7 -0
  62. package/dist/_pkg/delay/neutral/index.d.ts +2 -0
  63. package/dist/_pkg/delay/neutral/index.mjs +9 -0
  64. package/dist/_pkg/ellipsize/neutral/index.d.ts +8 -0
  65. package/dist/_pkg/ellipsize/neutral/index.mjs +10 -0
  66. package/dist/_pkg/enum/neutral/Enum.d.ts +88 -0
  67. package/dist/_pkg/enum/neutral/index.d.ts +2 -0
  68. package/dist/_pkg/enum/neutral/index.mjs +8 -0
  69. package/dist/_pkg/enum/neutral/model.d.ts +2 -0
  70. package/dist/_pkg/enum/neutral/model.mjs +1 -0
  71. package/dist/_pkg/error/neutral/assert.d.ts +12 -0
  72. package/dist/_pkg/error/neutral/handleError.d.ts +15 -0
  73. package/dist/_pkg/error/neutral/index.d.ts +3 -0
  74. package/dist/_pkg/error/neutral/index.mjs +32 -0
  75. package/dist/_pkg/error/neutral/model.d.ts +2 -0
  76. package/dist/_pkg/error/neutral/model.mjs +1 -0
  77. package/dist/_pkg/events/neutral/BaseEmitter.d.ts +74 -0
  78. package/dist/_pkg/events/neutral/Events/Events.d.ts +132 -0
  79. package/dist/_pkg/events/neutral/Events/index.d.ts +2 -0
  80. package/dist/_pkg/events/neutral/index.d.ts +4 -0
  81. package/dist/_pkg/events/neutral/index.mjs +415 -0
  82. package/dist/_pkg/events/neutral/model/Event.d.ts +21 -0
  83. package/dist/_pkg/events/neutral/model/EventEmitter.d.ts +25 -0
  84. package/dist/_pkg/events/neutral/model/index.d.ts +3 -0
  85. package/dist/_pkg/events/neutral/model.d.ts +3 -0
  86. package/dist/_pkg/events/neutral/model.mjs +1 -0
  87. package/dist/_pkg/exists/neutral/index.d.ts +10 -0
  88. package/dist/_pkg/exists/neutral/index.mjs +8 -0
  89. package/dist/_pkg/fetch/neutral/FetchClient.d.ts +46 -0
  90. package/dist/_pkg/fetch/neutral/FetchError.d.ts +80 -0
  91. package/dist/_pkg/fetch/neutral/FetchJsonClient.d.ts +19 -0
  92. package/dist/_pkg/fetch/neutral/fetchCompress.d.ts +12 -0
  93. package/dist/_pkg/fetch/neutral/fetchJson.d.ts +7 -0
  94. package/dist/_pkg/fetch/neutral/index.d.ts +11 -0
  95. package/dist/_pkg/fetch/neutral/index.mjs +365 -0
  96. package/dist/_pkg/fetch/neutral/methods.d.ts +12 -0
  97. package/dist/_pkg/fetch/neutral/model.d.ts +5 -0
  98. package/dist/_pkg/fetch/neutral/model.mjs +1 -0
  99. package/dist/_pkg/fetch/neutral/parseJson.d.ts +16 -0
  100. package/dist/_pkg/fetch/neutral/types.d.ts +12 -0
  101. package/dist/_pkg/forget/neutral/ForgetConfig.d.ts +21 -0
  102. package/dist/_pkg/forget/neutral/ForgetNodeConfig.d.ts +13 -0
  103. package/dist/_pkg/forget/neutral/ForgetPromise.d.ts +49 -0
  104. package/dist/_pkg/forget/neutral/ForgetPromiseNode.d.ts +15 -0
  105. package/dist/_pkg/forget/neutral/forget.d.ts +10 -0
  106. package/dist/_pkg/forget/neutral/forgetNode.d.ts +9 -0
  107. package/dist/_pkg/forget/neutral/index.d.ts +2 -0
  108. package/dist/_pkg/forget/neutral/index.mjs +162 -0
  109. package/dist/_pkg/forget/neutral/model.d.ts +3 -0
  110. package/dist/_pkg/forget/neutral/model.mjs +1 -0
  111. package/dist/_pkg/forget/neutral/neutral/index.d.ts +4 -0
  112. package/dist/_pkg/forget/neutral/node/index.d.ts +4 -0
  113. package/dist/_pkg/function-name/neutral/functionName.d.ts +7 -0
  114. package/dist/_pkg/function-name/neutral/index.d.ts +2 -0
  115. package/dist/_pkg/function-name/neutral/index.mjs +27 -0
  116. package/dist/_pkg/hex/neutral/HexRegEx.d.ts +19 -0
  117. package/dist/_pkg/hex/neutral/address/AddressTransformZod.d.ts +10 -0
  118. package/dist/_pkg/hex/neutral/address/AddressValidationZod.d.ts +10 -0
  119. package/dist/_pkg/hex/neutral/address/address.d.ts +18 -0
  120. package/dist/_pkg/hex/neutral/address/as.d.ts +13 -0
  121. package/dist/_pkg/hex/neutral/address/index.d.ts +7 -0
  122. package/dist/_pkg/hex/neutral/address/is.d.ts +12 -0
  123. package/dist/_pkg/hex/neutral/address/to.d.ts +12 -0
  124. package/dist/_pkg/hex/neutral/ethAddress.d.ts +45 -0
  125. package/dist/_pkg/hex/neutral/hash/as.d.ts +11 -0
  126. package/dist/_pkg/hex/neutral/hash/hash.d.ts +28 -0
  127. package/dist/_pkg/hex/neutral/hash/index.d.ts +5 -0
  128. package/dist/_pkg/hex/neutral/hash/is.d.ts +9 -0
  129. package/dist/_pkg/hex/neutral/hash/zod.d.ts +6 -0
  130. package/dist/_pkg/hex/neutral/hex/as.d.ts +11 -0
  131. package/dist/_pkg/hex/neutral/hex/from/from.d.ts +8 -0
  132. package/dist/_pkg/hex/neutral/hex/from/fromArrayBuffer.d.ts +8 -0
  133. package/dist/_pkg/hex/neutral/hex/from/fromBigInt.d.ts +8 -0
  134. package/dist/_pkg/hex/neutral/hex/from/fromHexString.d.ts +9 -0
  135. package/dist/_pkg/hex/neutral/hex/from/fromNumber.d.ts +9 -0
  136. package/dist/_pkg/hex/neutral/hex/from/index.d.ts +6 -0
  137. package/dist/_pkg/hex/neutral/hex/hex.d.ts +17 -0
  138. package/dist/_pkg/hex/neutral/hex/index.d.ts +9 -0
  139. package/dist/_pkg/hex/neutral/hex/is.d.ts +9 -0
  140. package/dist/_pkg/hex/neutral/hex/isHexZero.d.ts +7 -0
  141. package/dist/_pkg/hex/neutral/hex/legacy.d.ts +7 -0
  142. package/dist/_pkg/hex/neutral/hex/nibble.d.ts +13 -0
  143. package/dist/_pkg/hex/neutral/hex/to.d.ts +8 -0
  144. package/dist/_pkg/hex/neutral/hexToBigInt.d.ts +8 -0
  145. package/dist/_pkg/hex/neutral/index.d.ts +8 -0
  146. package/dist/_pkg/hex/neutral/index.mjs +381 -0
  147. package/dist/_pkg/hex/neutral/model.d.ts +3 -0
  148. package/dist/_pkg/hex/neutral/model.mjs +1 -0
  149. package/dist/_pkg/hex/neutral/zod.d.ts +6 -0
  150. package/dist/_pkg/logger/neutral/ConsoleLogger.d.ts +7 -0
  151. package/dist/_pkg/logger/neutral/IdLogger.d.ts +19 -0
  152. package/dist/_pkg/logger/neutral/LevelLogger.d.ts +47 -0
  153. package/dist/_pkg/logger/neutral/NoOpLogFunction.d.ts +3 -0
  154. package/dist/_pkg/logger/neutral/SilentLogger.d.ts +17 -0
  155. package/dist/_pkg/logger/neutral/getFunctionName.d.ts +7 -0
  156. package/dist/_pkg/logger/neutral/index.d.ts +7 -0
  157. package/dist/_pkg/logger/neutral/index.mjs +126 -0
  158. package/dist/_pkg/object/neutral/AsObjectFactory.d.ts +8 -0
  159. package/dist/_pkg/object/neutral/AsTypeFactory.d.ts +11 -0
  160. package/dist/_pkg/object/neutral/EmptyObject.d.ts +2 -0
  161. package/dist/_pkg/object/neutral/IsObjectFactory.d.ts +16 -0
  162. package/dist/_pkg/object/neutral/JsonObject.d.ts +49 -0
  163. package/dist/_pkg/object/neutral/ObjectWrapper.d.ts +9 -0
  164. package/dist/_pkg/object/neutral/OmitStartsWith.d.ts +18 -0
  165. package/dist/_pkg/object/neutral/Optional.d.ts +3 -0
  166. package/dist/_pkg/object/neutral/Override.d.ts +4 -0
  167. package/dist/_pkg/object/neutral/PartialRecord.d.ts +3 -0
  168. package/dist/_pkg/object/neutral/PickStartsWith.d.ts +9 -0
  169. package/dist/_pkg/object/neutral/Simplify.d.ts +5 -0
  170. package/dist/_pkg/object/neutral/StringKeyObject.d.ts +3 -0
  171. package/dist/_pkg/object/neutral/Validator.d.ts +13 -0
  172. package/dist/_pkg/object/neutral/WithAdditional.d.ts +4 -0
  173. package/dist/_pkg/object/neutral/asObject.d.ts +4 -0
  174. package/dist/_pkg/object/neutral/deepMerge.d.ts +49 -0
  175. package/dist/_pkg/object/neutral/index-deprecated.d.ts +2 -0
  176. package/dist/_pkg/object/neutral/index-un-deprecated.d.ts +22 -0
  177. package/dist/_pkg/object/neutral/index-un-deprecated.mjs +320 -0
  178. package/dist/_pkg/object/neutral/index.d.ts +3 -0
  179. package/dist/_pkg/object/neutral/index.mjs +435 -0
  180. package/dist/_pkg/object/neutral/isType.d.ts +4 -0
  181. package/dist/_pkg/object/neutral/model.d.ts +14 -0
  182. package/dist/_pkg/object/neutral/model.mjs +1 -0
  183. package/dist/_pkg/object/neutral/omitBy.d.ts +21 -0
  184. package/dist/_pkg/object/neutral/pickBy.d.ts +21 -0
  185. package/dist/_pkg/object/neutral/removeFields.d.ts +9 -0
  186. package/dist/_pkg/object/neutral/toSafeJson.d.ts +41 -0
  187. package/dist/_pkg/object-model/neutral/AnyObject.d.ts +8 -0
  188. package/dist/_pkg/object-model/neutral/AsTypeFactory.d.ts +12 -0
  189. package/dist/_pkg/object-model/neutral/AsTypeFunction.d.ts +14 -0
  190. package/dist/_pkg/object-model/neutral/Compare.d.ts +3 -0
  191. package/dist/_pkg/object-model/neutral/EmptyObject.d.ts +8 -0
  192. package/dist/_pkg/object-model/neutral/index.d.ts +6 -0
  193. package/dist/_pkg/object-model/neutral/index.mjs +1 -0
  194. package/dist/_pkg/object-model/neutral/model.d.ts +6 -0
  195. package/dist/_pkg/object-model/neutral/model.mjs +1 -0
  196. package/dist/_pkg/object-model/neutral/types.d.ts +25 -0
  197. package/dist/_pkg/platform/browser/browser/index.d.ts +9 -0
  198. package/dist/_pkg/platform/browser/index-browser.d.ts +2 -0
  199. package/dist/_pkg/platform/browser/index-browser.mjs +18 -0
  200. package/dist/_pkg/platform/browser/index-node.d.ts +2 -0
  201. package/dist/_pkg/platform/browser/node/index.d.ts +9 -0
  202. package/dist/_pkg/platform/node/browser/index.d.ts +9 -0
  203. package/dist/_pkg/platform/node/index-browser.d.ts +2 -0
  204. package/dist/_pkg/platform/node/index-node.d.ts +2 -0
  205. package/dist/_pkg/platform/node/index-node.mjs +18 -0
  206. package/dist/_pkg/platform/node/node/index.d.ts +9 -0
  207. package/dist/_pkg/profile/neutral/index.d.ts +2 -0
  208. package/dist/_pkg/profile/neutral/index.mjs +37 -0
  209. package/dist/_pkg/profile/neutral/model.d.ts +2 -0
  210. package/dist/_pkg/profile/neutral/model.mjs +1 -0
  211. package/dist/_pkg/profile/neutral/profiler.d.ts +17 -0
  212. package/dist/_pkg/promise/neutral/PromiseEx.d.ts +24 -0
  213. package/dist/_pkg/promise/neutral/fulfilled.d.ts +7 -0
  214. package/dist/_pkg/promise/neutral/fulfilledValues.d.ts +20 -0
  215. package/dist/_pkg/promise/neutral/index.d.ts +7 -0
  216. package/dist/_pkg/promise/neutral/index.mjs +57 -0
  217. package/dist/_pkg/promise/neutral/model.d.ts +3 -0
  218. package/dist/_pkg/promise/neutral/model.mjs +1 -0
  219. package/dist/_pkg/promise/neutral/rejected.d.ts +7 -0
  220. package/dist/_pkg/promise/neutral/toPromise.d.ts +8 -0
  221. package/dist/_pkg/promise/neutral/types.d.ts +23 -0
  222. package/dist/_pkg/retry/neutral/index.d.ts +2 -0
  223. package/dist/_pkg/retry/neutral/index.mjs +28 -0
  224. package/dist/_pkg/retry/neutral/model.d.ts +2 -0
  225. package/dist/_pkg/retry/neutral/model.mjs +1 -0
  226. package/dist/_pkg/retry/neutral/retry.d.ts +23 -0
  227. package/dist/_pkg/set/neutral/index.d.ts +2 -0
  228. package/dist/_pkg/set/neutral/index.mjs +20 -0
  229. package/dist/_pkg/set/neutral/lib/difference.d.ts +8 -0
  230. package/dist/_pkg/set/neutral/lib/index.d.ts +4 -0
  231. package/dist/_pkg/set/neutral/lib/intersection.d.ts +8 -0
  232. package/dist/_pkg/set/neutral/lib/union.d.ts +8 -0
  233. package/dist/_pkg/static-implements/neutral/index.d.ts +2 -0
  234. package/dist/_pkg/static-implements/neutral/index.mjs +10 -0
  235. package/dist/_pkg/static-implements/neutral/staticImplements.d.ts +7 -0
  236. package/dist/_pkg/storage/neutral/KeyValueStore.d.ts +34 -0
  237. package/dist/_pkg/storage/neutral/index.d.ts +2 -0
  238. package/dist/_pkg/storage/neutral/index.mjs +1 -0
  239. package/dist/_pkg/storage/neutral/model.d.ts +2 -0
  240. package/dist/_pkg/storage/neutral/model.mjs +1 -0
  241. package/dist/_pkg/telemetry/neutral/index.d.ts +3 -0
  242. package/dist/_pkg/telemetry/neutral/index.mjs +152 -0
  243. package/dist/_pkg/telemetry/neutral/model.d.ts +2 -0
  244. package/dist/_pkg/telemetry/neutral/model.mjs +1 -0
  245. package/dist/_pkg/telemetry/neutral/span.d.ts +51 -0
  246. package/dist/_pkg/telemetry/neutral/timeBudget.d.ts +12 -0
  247. package/dist/_pkg/telemetry-exporter/neutral/XyConsoleSpanExporter.d.ts +40 -0
  248. package/dist/_pkg/telemetry-exporter/neutral/index.d.ts +2 -0
  249. package/dist/_pkg/telemetry-exporter/neutral/index.mjs +88 -0
  250. package/dist/_pkg/timer/neutral/index.d.ts +2 -0
  251. package/dist/_pkg/timer/neutral/index.mjs +75 -0
  252. package/dist/_pkg/timer/neutral/setTimeoutEx.d.ts +37 -0
  253. package/dist/_pkg/typeof/neutral/Brand.d.ts +5 -0
  254. package/dist/_pkg/typeof/neutral/IdentityFunction.d.ts +3 -0
  255. package/dist/_pkg/typeof/neutral/ObjectTypeShape.d.ts +5 -0
  256. package/dist/_pkg/typeof/neutral/TypeOfTypes.d.ts +3 -0
  257. package/dist/_pkg/typeof/neutral/Typed.d.ts +41 -0
  258. package/dist/_pkg/typeof/neutral/ifDefined.d.ts +8 -0
  259. package/dist/_pkg/typeof/neutral/ifTypeOf.d.ts +11 -0
  260. package/dist/_pkg/typeof/neutral/index.d.ts +12 -0
  261. package/dist/_pkg/typeof/neutral/index.mjs +255 -0
  262. package/dist/_pkg/typeof/neutral/is.d.ts +116 -0
  263. package/dist/_pkg/typeof/neutral/isType.d.ts +9 -0
  264. package/dist/_pkg/typeof/neutral/model.d.ts +7 -0
  265. package/dist/_pkg/typeof/neutral/model.mjs +1 -0
  266. package/dist/_pkg/typeof/neutral/typeOf.d.ts +8 -0
  267. package/dist/_pkg/typeof/neutral/validateType.d.ts +10 -0
  268. package/dist/_pkg/url/browser/index-browser.d.ts +12 -0
  269. package/dist/_pkg/url/browser/index-browser.mjs +12 -0
  270. package/dist/_pkg/url/browser/index-neutral.d.ts +12 -0
  271. package/dist/_pkg/url/browser/index-node.d.ts +13 -0
  272. package/dist/_pkg/url/browser/lib/index.d.ts +2 -0
  273. package/dist/_pkg/url/browser/lib/isLocalhost.d.ts +7 -0
  274. package/dist/_pkg/url/neutral/index-browser.d.ts +12 -0
  275. package/dist/_pkg/url/neutral/index-neutral.d.ts +12 -0
  276. package/dist/_pkg/url/neutral/index-neutral.mjs +12 -0
  277. package/dist/_pkg/url/neutral/index-node.d.ts +13 -0
  278. package/dist/_pkg/url/neutral/lib/index.d.ts +2 -0
  279. package/dist/_pkg/url/neutral/lib/isLocalhost.d.ts +7 -0
  280. package/dist/_pkg/url/node/index-browser.d.ts +12 -0
  281. package/dist/_pkg/url/node/index-neutral.d.ts +12 -0
  282. package/dist/_pkg/url/node/index-node.d.ts +13 -0
  283. package/dist/_pkg/url/node/index-node.mjs +15 -0
  284. package/dist/_pkg/url/node/lib/index.d.ts +2 -0
  285. package/dist/_pkg/url/node/lib/isLocalhost.d.ts +7 -0
  286. package/dist/_pkg/zod/neutral/Config.d.ts +8 -0
  287. package/dist/_pkg/zod/neutral/index.d.ts +8 -0
  288. package/dist/_pkg/zod/neutral/index.mjs +127 -0
  289. package/dist/_pkg/zod/neutral/model.d.ts +2 -0
  290. package/dist/_pkg/zod/neutral/model.mjs +1 -0
  291. package/dist/_pkg/zod/neutral/zodAllFactory.d.ts +20 -0
  292. package/dist/_pkg/zod/neutral/zodAsAsyncFactory.d.ts +14 -0
  293. package/dist/_pkg/zod/neutral/zodAsFactory.d.ts +14 -0
  294. package/dist/_pkg/zod/neutral/zodIsFactory.d.ts +8 -0
  295. package/dist/_pkg/zod/neutral/zodToAsyncFactory.d.ts +14 -0
  296. package/dist/_pkg/zod/neutral/zodToFactory.d.ts +14 -0
  297. package/dist/browser/index.d.ts +32 -0
  298. package/dist/browser/index.mjs +32 -0
  299. package/dist/browser/platform.d.ts +1 -0
  300. package/dist/browser/platform.mjs +1 -0
  301. package/dist/browser/url.d.ts +1 -0
  302. package/dist/browser/url.mjs +1 -0
  303. package/dist/neutral/api.d.ts +1 -0
  304. package/dist/neutral/api.mjs +1 -0
  305. package/dist/neutral/api.model.d.ts +1 -0
  306. package/dist/neutral/api.model.mjs +1 -0
  307. package/dist/neutral/array.d.ts +1 -0
  308. package/dist/neutral/array.mjs +1 -0
  309. package/dist/neutral/arraybuffer.d.ts +1 -0
  310. package/dist/neutral/arraybuffer.mjs +1 -0
  311. package/dist/neutral/assert.d.ts +1 -0
  312. package/dist/neutral/assert.mjs +1 -0
  313. package/dist/neutral/assert.model.d.ts +1 -0
  314. package/dist/neutral/assert.model.mjs +1 -0
  315. package/dist/neutral/base.d.ts +1 -0
  316. package/dist/neutral/base.mjs +1 -0
  317. package/dist/neutral/base.model.d.ts +1 -0
  318. package/dist/neutral/base.model.mjs +1 -0
  319. package/dist/neutral/creatable.d.ts +1 -0
  320. package/dist/neutral/creatable.mjs +1 -0
  321. package/dist/neutral/creatable.model.d.ts +1 -0
  322. package/dist/neutral/creatable.model.mjs +1 -0
  323. package/dist/neutral/decimal-precision.d.ts +1 -0
  324. package/dist/neutral/decimal-precision.mjs +1 -0
  325. package/dist/neutral/delay.d.ts +1 -0
  326. package/dist/neutral/delay.mjs +1 -0
  327. package/dist/neutral/ellipsize.d.ts +1 -0
  328. package/dist/neutral/ellipsize.mjs +1 -0
  329. package/dist/neutral/enum.d.ts +1 -0
  330. package/dist/neutral/enum.mjs +1 -0
  331. package/dist/neutral/enum.model.d.ts +1 -0
  332. package/dist/neutral/enum.model.mjs +1 -0
  333. package/dist/neutral/error.d.ts +1 -0
  334. package/dist/neutral/error.mjs +1 -0
  335. package/dist/neutral/error.model.d.ts +1 -0
  336. package/dist/neutral/error.model.mjs +1 -0
  337. package/dist/neutral/events.d.ts +1 -0
  338. package/dist/neutral/events.mjs +1 -0
  339. package/dist/neutral/events.model.d.ts +1 -0
  340. package/dist/neutral/events.model.mjs +1 -0
  341. package/dist/neutral/exists.d.ts +1 -0
  342. package/dist/neutral/exists.mjs +1 -0
  343. package/dist/neutral/fetch.d.ts +1 -0
  344. package/dist/neutral/fetch.mjs +1 -0
  345. package/dist/neutral/fetch.model.d.ts +1 -0
  346. package/dist/neutral/fetch.model.mjs +1 -0
  347. package/dist/neutral/forget.d.ts +1 -0
  348. package/dist/neutral/forget.mjs +1 -0
  349. package/dist/neutral/forget.model.d.ts +1 -0
  350. package/dist/neutral/forget.model.mjs +1 -0
  351. package/dist/neutral/function-name.d.ts +1 -0
  352. package/dist/neutral/function-name.mjs +1 -0
  353. package/dist/neutral/hex.d.ts +1 -0
  354. package/dist/neutral/hex.mjs +1 -0
  355. package/dist/neutral/hex.model.d.ts +1 -0
  356. package/dist/neutral/hex.model.mjs +1 -0
  357. package/dist/neutral/logger.d.ts +1 -0
  358. package/dist/neutral/logger.mjs +1 -0
  359. package/dist/neutral/model.d.ts +18 -0
  360. package/dist/neutral/model.mjs +18 -0
  361. package/dist/neutral/object.d.ts +1 -0
  362. package/dist/neutral/object.mjs +1 -0
  363. package/dist/neutral/object.model.d.ts +1 -0
  364. package/dist/neutral/object.model.mjs +1 -0
  365. package/dist/neutral/profile.d.ts +1 -0
  366. package/dist/neutral/profile.mjs +1 -0
  367. package/dist/neutral/profile.model.d.ts +1 -0
  368. package/dist/neutral/profile.model.mjs +1 -0
  369. package/dist/neutral/promise.d.ts +1 -0
  370. package/dist/neutral/promise.mjs +1 -0
  371. package/dist/neutral/promise.model.d.ts +1 -0
  372. package/dist/neutral/promise.model.mjs +1 -0
  373. package/dist/neutral/retry.d.ts +1 -0
  374. package/dist/neutral/retry.mjs +1 -0
  375. package/dist/neutral/retry.model.d.ts +1 -0
  376. package/dist/neutral/retry.model.mjs +1 -0
  377. package/dist/neutral/set.d.ts +1 -0
  378. package/dist/neutral/set.mjs +1 -0
  379. package/dist/neutral/static-implements.d.ts +1 -0
  380. package/dist/neutral/static-implements.mjs +1 -0
  381. package/dist/neutral/storage.d.ts +1 -0
  382. package/dist/neutral/storage.mjs +1 -0
  383. package/dist/neutral/storage.model.d.ts +1 -0
  384. package/dist/neutral/storage.model.mjs +1 -0
  385. package/dist/neutral/telemetry-exporter.d.ts +1 -0
  386. package/dist/neutral/telemetry-exporter.mjs +1 -0
  387. package/dist/neutral/telemetry.d.ts +1 -0
  388. package/dist/neutral/telemetry.mjs +1 -0
  389. package/dist/neutral/telemetry.model.d.ts +1 -0
  390. package/dist/neutral/telemetry.model.mjs +1 -0
  391. package/dist/neutral/timer.d.ts +1 -0
  392. package/dist/neutral/timer.mjs +1 -0
  393. package/dist/neutral/typeof.d.ts +1 -0
  394. package/dist/neutral/typeof.mjs +1 -0
  395. package/dist/neutral/typeof.model.d.ts +1 -0
  396. package/dist/neutral/typeof.model.mjs +1 -0
  397. package/dist/neutral/url.d.ts +1 -0
  398. package/dist/neutral/url.mjs +1 -0
  399. package/dist/neutral/zod.d.ts +1 -0
  400. package/dist/neutral/zod.mjs +1 -0
  401. package/dist/neutral/zod.model.d.ts +1 -0
  402. package/dist/neutral/zod.model.mjs +1 -0
  403. package/dist/node/index.d.ts +32 -0
  404. package/dist/node/index.mjs +32 -0
  405. package/dist/node/platform.d.ts +1 -0
  406. package/dist/node/platform.mjs +1 -0
  407. package/dist/node/url.d.ts +1 -0
  408. package/dist/node/url.mjs +1 -0
  409. package/package.json +339 -0
@@ -0,0 +1,415 @@
1
+ // src/BaseEmitter.ts
2
+ import { Base as Base2 } from "../../base/neutral/index.mjs";
3
+
4
+ // src/Events/Events.ts
5
+ import { assertEx } from "../../assert/neutral/index.mjs";
6
+ import { Base } from "../../base/neutral/index.mjs";
7
+ import { handleError } from "../../error/neutral/index.mjs";
8
+ import { forget } from "../../forget/neutral/index.mjs";
9
+ import { isDefined } from "../../typeof/neutral/index.mjs";
10
+ var NO_META_EVENT_ERROR_MESSAGE = "`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`";
11
+ var processGlobal = globalThis;
12
+ var resolvedPromise = Promise.resolve();
13
+ var isMetaEvent = (eventName) => eventName === "listenerAdded" || eventName === "listenerRemoved";
14
+ var Events = class _Events extends Base {
15
+ static anyMap = /* @__PURE__ */ new WeakMap();
16
+ static eventsMap = /* @__PURE__ */ new WeakMap();
17
+ static isGlobalDebugEnabled = false;
18
+ // this is here to be able to query the type, not use
19
+ eventData = {};
20
+ _canEmitMetaEvents = false;
21
+ constructor(params = {}) {
22
+ const mutatedParams = { ...params };
23
+ if (mutatedParams.debug) {
24
+ mutatedParams.debug.logger ??= (type, debugName, eventName, eventData) => {
25
+ let eventDataString;
26
+ try {
27
+ eventDataString = JSON.stringify(eventData);
28
+ } catch {
29
+ eventDataString = `Object with the following keys failed to stringify: ${Object.keys(eventData ?? {}).join(",")}`;
30
+ }
31
+ const eventNameString = typeof eventName === "symbol" || typeof eventName === "number" ? eventName.toString() : eventName;
32
+ const currentTime = /* @__PURE__ */ new Date();
33
+ const logTime = `${currentTime.getHours()}:${currentTime.getMinutes()}:${currentTime.getSeconds()}.${currentTime.getMilliseconds()}`;
34
+ this.logger?.log(`[${logTime}][events:${type}][${debugName}] Event Name: ${eventNameString}
35
+ data: ${eventDataString}`);
36
+ };
37
+ }
38
+ super(mutatedParams);
39
+ _Events.anyMap.set(this, /* @__PURE__ */ new Set());
40
+ _Events.eventsMap.set(this, /* @__PURE__ */ new Map());
41
+ }
42
+ /** Whether debug mode is enabled globally or via the DEBUG environment variable. */
43
+ static get isDebugEnabled() {
44
+ if (typeof processGlobal.process?.env !== "object") {
45
+ return this.isGlobalDebugEnabled;
46
+ }
47
+ const env = processGlobal.process?.env;
48
+ return env?.DEBUG === "events" || env?.DEBUG === "*" || this.isGlobalDebugEnabled;
49
+ }
50
+ static set isDebugEnabled(newValue) {
51
+ this.isGlobalDebugEnabled = newValue;
52
+ }
53
+ /** The debug configuration for this instance, if provided. */
54
+ get debug() {
55
+ return this.params.debug;
56
+ }
57
+ /**
58
+ * Removes all listeners for the specified event name(s).
59
+ * @param eventNames - One or more event names to clear listeners for.
60
+ */
61
+ clearListeners(eventNames) {
62
+ const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
63
+ for (const eventName of eventNamesArray) {
64
+ this.logIfDebugEnabled("clear", eventName);
65
+ if (typeof eventName === "string" || typeof eventName === "symbol" || typeof eventName === "number") {
66
+ const set = this.getListeners(eventName);
67
+ if (set) {
68
+ set.clear();
69
+ }
70
+ } else {
71
+ _Events.anyMap.get(this)?.clear();
72
+ const eventEntries = assertEx(_Events.eventsMap.get(this));
73
+ for (const [eventName2, listeners] of eventEntries) {
74
+ listeners.clear();
75
+ _Events.eventsMap.get(this)?.delete(eventName2);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ /**
81
+ * Emits an event, invoking all registered listeners concurrently.
82
+ * @param eventName - The event to emit.
83
+ * @param eventArgs - The data to pass to listeners.
84
+ */
85
+ async emit(eventName, eventArgs) {
86
+ return await this.emitInternal(eventName, eventArgs);
87
+ }
88
+ /**
89
+ * Emits an internal meta event (listenerAdded or listenerRemoved).
90
+ * @param eventName - The meta event name.
91
+ * @param eventArgs - The meta event data containing listener and event information.
92
+ * @returns True if the meta event was emitted successfully.
93
+ */
94
+ async emitMetaEvent(eventName, eventArgs) {
95
+ if (isMetaEvent(eventName)) {
96
+ try {
97
+ this._canEmitMetaEvents = true;
98
+ await this.emitMetaEventInternal(eventName, eventArgs);
99
+ return true;
100
+ } finally {
101
+ this._canEmitMetaEvents = false;
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * Emits an event, invoking all registered listeners sequentially in order.
107
+ * @param eventName - The event to emit.
108
+ * @param eventArgs - The data to pass to listeners.
109
+ */
110
+ async emitSerial(eventName, eventArgs) {
111
+ if (isMetaEvent(eventName) && !this._canEmitMetaEvents) {
112
+ throw new TypeError(NO_META_EVENT_ERROR_MESSAGE);
113
+ }
114
+ const filterMatch = (args, filter) => {
115
+ switch (typeof filter) {
116
+ case "object": {
117
+ if (filter === null || args === null || typeof args !== "object") return args === filter;
118
+ return Object.entries(args).reduce((prev, [key, value]) => filter[key] === value ? true : prev, false);
119
+ }
120
+ default: {
121
+ return args === filter;
122
+ }
123
+ }
124
+ };
125
+ this.logIfDebugEnabled("emitSerial", eventName, eventArgs);
126
+ const listeners = this.getListeners(eventName) ?? /* @__PURE__ */ new Set();
127
+ const filteredListeners = [...listeners].filter((value) => isDefined(value.filter) ? filterMatch(eventArgs, value.filter) : true).map((info) => info.listener);
128
+ const anyListeners = assertEx(_Events.anyMap.get(this));
129
+ const staticListeners = [...filteredListeners];
130
+ const staticAnyListeners = [...anyListeners];
131
+ await resolvedPromise;
132
+ for (const listener of staticListeners) {
133
+ await this.safeCallListener(eventName, eventArgs, listener);
134
+ }
135
+ for (const listener of staticAnyListeners) {
136
+ await this.safeCallAnyListener(eventName, eventArgs, listener);
137
+ }
138
+ }
139
+ /**
140
+ * Returns the total number of listeners registered for the specified event name(s).
141
+ * @param eventNames - One or more event names to count listeners for.
142
+ * @returns The total listener count.
143
+ */
144
+ // TODO: Make test for this
145
+ listenerCount(eventNames) {
146
+ const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
147
+ let count = 0;
148
+ for (const eventName of eventNamesArray) {
149
+ if (typeof eventName === "string") {
150
+ count += assertEx(_Events.anyMap.get(this)).size + (this.getListeners(eventName)?.size ?? 0);
151
+ continue;
152
+ }
153
+ count += assertEx(_Events.anyMap.get(this)).size;
154
+ const eventListeners = assertEx(_Events.eventsMap.get(this)).values();
155
+ for (const value of eventListeners) {
156
+ count += value.size;
157
+ }
158
+ }
159
+ return count;
160
+ }
161
+ /**
162
+ * Logs debug information if debug mode is enabled.
163
+ * @param type - The type of operation being logged.
164
+ * @param eventName - The event name, if applicable.
165
+ * @param eventArgs - The event data, if applicable.
166
+ */
167
+ logIfDebugEnabled(type, eventName, eventArgs) {
168
+ if (_Events.isDebugEnabled || this.debug?.enabled === true) {
169
+ this.debug?.logger?.(type, this.debug.name, eventName, eventArgs);
170
+ }
171
+ }
172
+ /**
173
+ * Removes a specific listener from the specified event name(s).
174
+ * @param eventNames - One or more event names to unsubscribe from.
175
+ * @param listener - The listener to remove.
176
+ */
177
+ off(eventNames, listener) {
178
+ const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
179
+ for (const eventName of eventNamesArray) {
180
+ const set = this.getListeners(eventName);
181
+ if (set) {
182
+ set.delete(listener);
183
+ if (set.size === 0) {
184
+ const events = _Events.eventsMap.get(this);
185
+ events?.delete(eventName);
186
+ }
187
+ }
188
+ this.logIfDebugEnabled("unsubscribe", eventName);
189
+ if (!isMetaEvent(eventName)) {
190
+ forget(this.emitMetaEvent("listenerRemoved", { eventName, listener }));
191
+ }
192
+ }
193
+ }
194
+ /**
195
+ * Removes a wildcard listener that was receiving all events.
196
+ * @param listener - The wildcard listener to remove.
197
+ */
198
+ offAny(listener) {
199
+ this.logIfDebugEnabled("unsubscribeAny");
200
+ const typedMap = _Events.anyMap.get(this);
201
+ typedMap?.delete(listener);
202
+ forget(this.emitMetaEvent("listenerRemoved", { listener }));
203
+ }
204
+ /**
205
+ * Subscribes a listener to the specified event name(s).
206
+ * @param eventNames - One or more event names to listen for.
207
+ * @param listener - The callback to invoke when the event fires.
208
+ * @param filter - Optional filter to selectively invoke the listener based on event data.
209
+ * @returns An unsubscribe function.
210
+ */
211
+ on(eventNames, listener, filter) {
212
+ const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
213
+ for (const eventName of eventNamesArray) {
214
+ let set = this.getListeners(eventName);
215
+ if (!set) {
216
+ set = /* @__PURE__ */ new Set();
217
+ const events = _Events.eventsMap.get(this);
218
+ events?.set(eventName, set);
219
+ }
220
+ set.add({ filter, listener });
221
+ this.logIfDebugEnabled("subscribe", eventName);
222
+ if (!isMetaEvent(eventName)) {
223
+ forget(this.emitMetaEvent("listenerAdded", { eventName, listener }));
224
+ }
225
+ }
226
+ return this.off.bind(this, eventNames, listener);
227
+ }
228
+ /**
229
+ * Subscribes a wildcard listener that receives all events.
230
+ * @param listener - The callback to invoke for any event.
231
+ * @returns An unsubscribe function.
232
+ */
233
+ onAny(listener) {
234
+ this.logIfDebugEnabled("subscribeAny");
235
+ _Events.anyMap.get(this)?.add(listener);
236
+ forget(this.emitMetaEvent("listenerAdded", { listener }));
237
+ return this.offAny.bind(this, listener);
238
+ }
239
+ /**
240
+ * Subscribes a listener that will be invoked only once for the specified event, then automatically removed.
241
+ * @param eventName - The event to listen for.
242
+ * @param listener - The callback to invoke once.
243
+ * @returns An unsubscribe function.
244
+ */
245
+ once(eventName, listener) {
246
+ const subListener = async (args) => {
247
+ this.off(eventName, subListener);
248
+ await this.safeCallListener(eventName, args, listener);
249
+ };
250
+ this.on(eventName, subListener);
251
+ return this.off.bind(this, eventName, subListener);
252
+ }
253
+ async emitInternal(eventName, eventArgs, filter) {
254
+ if (isMetaEvent(eventName) && !this._canEmitMetaEvents) {
255
+ throw new TypeError(NO_META_EVENT_ERROR_MESSAGE);
256
+ }
257
+ this.logIfDebugEnabled("emit", eventName, eventArgs);
258
+ const listeners = this.getListeners(eventName) ?? /* @__PURE__ */ new Set();
259
+ const filteredListeners = [...listeners].filter((value) => isDefined(filter) ? isDefined(value.listener) : true).map((info) => info.listener);
260
+ const anyListeners = assertEx(_Events.anyMap.get(this));
261
+ const staticListeners = [...filteredListeners];
262
+ const staticAnyListeners = isMetaEvent(eventName) ? [] : [...anyListeners];
263
+ await resolvedPromise;
264
+ await Promise.all([
265
+ ...staticListeners.map(async (listener) => {
266
+ await this.safeCallListener(eventName, eventArgs, listener);
267
+ }),
268
+ ...staticAnyListeners.map(async (listener) => {
269
+ if (anyListeners.has(listener)) {
270
+ await this.safeCallAnyListener(eventName, eventArgs, listener);
271
+ }
272
+ })
273
+ ]);
274
+ }
275
+ async emitMetaEventInternal(eventName, eventArgs) {
276
+ if (isMetaEvent(eventName) && !this._canEmitMetaEvents) {
277
+ throw new TypeError("`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`");
278
+ }
279
+ this.logIfDebugEnabled("emit", eventName, eventArgs);
280
+ const listeners = this.getListeners(eventName) ?? /* @__PURE__ */ new Set();
281
+ const filteredListeners = [...listeners].map((info) => info.listener);
282
+ const anyListeners = assertEx(_Events.anyMap.get(this));
283
+ const staticListeners = [...filteredListeners];
284
+ const staticAnyListeners = isMetaEvent(eventName) ? [] : [...anyListeners];
285
+ await resolvedPromise;
286
+ await Promise.all([
287
+ ...staticListeners.map(async (listener) => {
288
+ await this.safeCallListener(eventName, eventArgs, listener);
289
+ }),
290
+ /* v8 ignore start -- race condition guard */
291
+ ...staticAnyListeners.map(async (listener) => {
292
+ if (anyListeners.has(listener)) {
293
+ await this.safeCallAnyListener(eventName, eventArgs, listener);
294
+ }
295
+ })
296
+ /* v8 ignore stop */
297
+ ]);
298
+ return true;
299
+ }
300
+ getListeners(eventName) {
301
+ const events = assertEx(_Events.eventsMap.get(this));
302
+ if (!events.has(eventName)) {
303
+ return;
304
+ }
305
+ return events.get(eventName);
306
+ }
307
+ async safeCallAnyListener(eventName, eventArgs, listener) {
308
+ try {
309
+ return await listener(eventName, eventArgs);
310
+ } catch (ex) {
311
+ handleError(ex, (error) => {
312
+ this.logger?.error(`Listener[${String(eventName)}] Excepted: ${error.message}`);
313
+ });
314
+ }
315
+ }
316
+ async safeCallListener(eventName, eventArgs, listener) {
317
+ try {
318
+ return await listener(eventArgs);
319
+ } catch (ex) {
320
+ handleError(ex, (error) => {
321
+ this.logger?.error(`Listener[${String(eventName)}] Excepted: ${error.message}`);
322
+ });
323
+ }
324
+ }
325
+ };
326
+
327
+ // src/BaseEmitter.ts
328
+ var BaseEmitter = class extends Base2 {
329
+ // just here to query types
330
+ eventData = {};
331
+ events;
332
+ constructor(params) {
333
+ super(params);
334
+ this.events = new Events();
335
+ }
336
+ /**
337
+ * Removes all listeners for the specified event name(s).
338
+ * @param eventNames - One or more event names to clear listeners for.
339
+ * @returns This instance for chaining.
340
+ */
341
+ clearListeners(eventNames) {
342
+ this.events.clearListeners(eventNames);
343
+ return this;
344
+ }
345
+ /**
346
+ * Emits an event, invoking all registered listeners concurrently.
347
+ * @param eventName - The event to emit.
348
+ * @param eventArgs - The data to pass to listeners.
349
+ */
350
+ emit(eventName, eventArgs) {
351
+ return this.events.emit(eventName, eventArgs);
352
+ }
353
+ /**
354
+ * Emits an event, invoking all registered listeners sequentially in order.
355
+ * @param eventName - The event to emit.
356
+ * @param eventArgs - The data to pass to listeners.
357
+ */
358
+ emitSerial(eventName, eventArgs) {
359
+ return this.events.emitSerial(eventName, eventArgs);
360
+ }
361
+ /**
362
+ * Returns the total number of listeners registered for the specified event name(s).
363
+ * @param eventNames - One or more event names to count listeners for.
364
+ * @returns The total listener count.
365
+ */
366
+ listenerCount(eventNames) {
367
+ return this.events.listenerCount(eventNames);
368
+ }
369
+ /**
370
+ * Removes a specific listener from the specified event name(s).
371
+ * @param eventNames - One or more event names to unsubscribe from.
372
+ * @param listener - The listener to remove.
373
+ */
374
+ off(eventNames, listener) {
375
+ return this.events.off(eventNames, listener);
376
+ }
377
+ /**
378
+ * Removes a wildcard listener that was receiving all events.
379
+ * @param listener - The wildcard listener to remove.
380
+ */
381
+ offAny(listener) {
382
+ return this.events.offAny(listener);
383
+ }
384
+ /**
385
+ * Subscribes a listener to the specified event name(s).
386
+ * @param eventNames - One or more event names to listen for.
387
+ * @param listener - The callback to invoke when the event fires.
388
+ * @returns An unsubscribe function.
389
+ */
390
+ on(eventNames, listener) {
391
+ return this.events.on(eventNames, listener);
392
+ }
393
+ /**
394
+ * Subscribes a wildcard listener that receives all events.
395
+ * @param listener - The callback to invoke for any event.
396
+ * @returns An unsubscribe function.
397
+ */
398
+ onAny(listener) {
399
+ return this.events.onAny(listener);
400
+ }
401
+ /**
402
+ * Subscribes a listener that will be invoked only once for the specified event, then automatically removed.
403
+ * @param eventName - The event to listen for.
404
+ * @param listener - The callback to invoke once.
405
+ * @returns An unsubscribe function.
406
+ */
407
+ once(eventName, listener) {
408
+ return this.events.once(eventName, listener);
409
+ }
410
+ };
411
+ export {
412
+ BaseEmitter,
413
+ Events
414
+ };
415
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,21 @@
1
+ import type { Promisable } from '../../../promise/neutral/index.ts';
2
+ /** A valid event name, which can be any property key (string, number, or symbol). */
3
+ export type EventName = PropertyKey;
4
+ /** The allowed type for event argument payloads. */
5
+ export type EventArgs = unknown;
6
+ /** A mapping of event names to their corresponding event argument types. */
7
+ export type EventData = object;
8
+ /** A function returned by event subscription methods that unsubscribes the listener when called. */
9
+ export type EventUnsubscribeFunction = () => void;
10
+ /**
11
+ * A listener that receives all events regardless of name.
12
+ * @param eventName - The name of the emitted event.
13
+ * @param eventData - The data associated with the event.
14
+ */
15
+ export type EventAnyListener<TEventArgs extends EventArgs = EventArgs> = (eventName: EventName, eventData: TEventArgs) => Promisable<void>;
16
+ /**
17
+ * A listener for a specific event type.
18
+ * @param eventData - The data associated with the event.
19
+ */
20
+ export type EventListener<TEventArgs extends EventArgs = EventArgs> = (eventData: TEventArgs) => Promisable<void>;
21
+ //# sourceMappingURL=Event.d.ts.map
@@ -0,0 +1,25 @@
1
+ import type { EventAnyListener, EventData, EventListener, EventUnsubscribeFunction } from './Event.ts';
2
+ /** Interface for a typed event emitter that supports subscribing, unsubscribing, and emitting events. */
3
+ export interface EventEmitter<T extends EventData> {
4
+ /** Type-level reference to the event data shape for external type queries. */
5
+ eventData: T;
6
+ /** Removes all listeners for the specified event name(s). */
7
+ clearListeners(eventNames: keyof T | (keyof T)[]): void;
8
+ /** Emits an event, invoking all registered listeners concurrently. */
9
+ emit<TEventName extends keyof T>(eventName: TEventName, eventArgs: T[TEventName]): Promise<void>;
10
+ /** Emits an event, invoking all registered listeners sequentially in order. */
11
+ emitSerial<TEventName extends keyof T>(eventName: TEventName, eventArgs: T[TEventName]): Promise<void>;
12
+ /** Returns the total number of listeners registered for the specified event name(s). */
13
+ listenerCount(eventNames: keyof T | (keyof T)[]): number;
14
+ /** Removes a specific listener from the specified event name(s). */
15
+ off<TEventName extends keyof T>(eventNames: TEventName | TEventName[], listener: EventListener<T[TEventName]>): void;
16
+ /** Removes a wildcard listener that was receiving all events. */
17
+ offAny(listener: EventAnyListener | Promise<void>): void;
18
+ /** Subscribes a listener to the specified event name(s) and returns an unsubscribe function. */
19
+ on<TEventName extends keyof T>(eventNames: TEventName | TEventName[], listener: EventListener<T[TEventName]>): EventUnsubscribeFunction;
20
+ /** Subscribes a wildcard listener that receives all events and returns an unsubscribe function. */
21
+ onAny(listener: EventAnyListener): EventUnsubscribeFunction;
22
+ /** Subscribes a listener that will be invoked only once for the specified event, then automatically removed. */
23
+ once<TEventName extends keyof T>(eventName: TEventName, listener: EventListener<T[TEventName]>): EventUnsubscribeFunction;
24
+ }
25
+ //# sourceMappingURL=EventEmitter.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './Event.ts';
2
+ export * from './EventEmitter.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ export type { BaseEmitterParams, BaseEmitterParamsFields, } from './BaseEmitter.ts';
2
+ export type * from './model/index.ts';
3
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=model.mjs.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Used to type narrow an object which is possibly null or undefined. Works well
3
+ * with functional Array methods. For example:
4
+ * @example
5
+ * const payloads: XyoPayload[] = boundWitness._payloads?.filter(exists) || []
6
+ * @param x The object which is potentially undefined or null
7
+ * @returns False if the object is null/undefined, true otherwise
8
+ */
9
+ export declare const exists: <T>(x?: T | null) => x is NonNullable<T>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,8 @@
1
+ // src/index.ts
2
+ var exists = (x) => {
3
+ return x === void 0 || x === null ? false : true;
4
+ };
5
+ export {
6
+ exists
7
+ };
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,46 @@
1
+ import { FetchError } from './FetchError.ts';
2
+ import type { FetchJsonOptions, FetchJsonResponse } from './types.ts';
3
+ /** Configuration for a FetchClient instance. */
4
+ export interface FetchClientConfig extends Omit<FetchJsonOptions, 'method' | 'body'> {
5
+ baseURL?: string;
6
+ params?: Record<string, string>;
7
+ timeout?: number;
8
+ /**
9
+ * Determines whether a given HTTP status code should resolve or throw.
10
+ * Returns true to resolve, false to throw a FetchClientError (a FetchError of type 'http-status').
11
+ * Default: status >= 200 && status < 300 (like Axios).
12
+ */
13
+ validateStatus?: ((status: number) => boolean) | null;
14
+ }
15
+ /** Per-request config, extending the instance defaults. */
16
+ export interface FetchClientRequestConfig extends FetchClientConfig {
17
+ data?: unknown;
18
+ method?: string;
19
+ url?: string;
20
+ }
21
+ /**
22
+ * HTTP-status error thrown when validateStatus rejects the response status code.
23
+ * Specialization of {@link FetchError} (type 'http-status') that also exposes the request `config`.
24
+ * `isFetchError` and `instanceof FetchError` both return true for it.
25
+ */
26
+ export declare class FetchClientError<T = unknown> extends FetchError {
27
+ readonly config: FetchClientRequestConfig;
28
+ readonly response: FetchJsonResponse<T>;
29
+ constructor(message: string, response: FetchJsonResponse<T>, config: FetchClientRequestConfig);
30
+ }
31
+ /**
32
+ * Stateful, instance-based HTTP client backed by native fetch with
33
+ * JSON serialization and optional gzip compression via @internal/fetch.
34
+ */
35
+ export declare class FetchClient {
36
+ defaults: FetchClientConfig;
37
+ constructor(defaults?: FetchClientConfig);
38
+ static create(config?: FetchClientConfig): FetchClient;
39
+ delete<T = unknown>(url: string, config?: FetchClientConfig): Promise<FetchJsonResponse<T>>;
40
+ get<T = unknown>(url: string, config?: FetchClientConfig): Promise<FetchJsonResponse<T>>;
41
+ patch<T = unknown>(url: string, data?: unknown, config?: FetchClientConfig): Promise<FetchJsonResponse<T>>;
42
+ post<T = unknown>(url: string, data?: unknown, config?: FetchClientConfig): Promise<FetchJsonResponse<T>>;
43
+ put<T = unknown>(url: string, data?: unknown, config?: FetchClientConfig): Promise<FetchJsonResponse<T>>;
44
+ request<T = unknown>(config: FetchClientRequestConfig): Promise<FetchJsonResponse<T>>;
45
+ }
46
+ //# sourceMappingURL=FetchClient.d.ts.map
@@ -0,0 +1,80 @@
1
+ import type { FetchJsonResponse } from './types.ts';
2
+ /**
3
+ * Classification of why a fetch request failed.
4
+ * - `dns` — host could not be resolved (ENOTFOUND, EAI_AGAIN)
5
+ * - `connection-refused` — the host actively refused the connection (ECONNREFUSED)
6
+ * - `connection-reset` — the connection was reset/broken mid-flight (ECONNRESET, EPIPE)
7
+ * - `connection-timeout` — the connection could not be established in time (ETIMEDOUT)
8
+ * - `timeout` — the request exceeded its time budget (AbortSignal.timeout, undici header/body timeouts)
9
+ * - `aborted` — the request was aborted by an AbortController
10
+ * - `tls` — a TLS/certificate problem (expired, self-signed, hostname mismatch, ...)
11
+ * - `unreachable` — the host or network is unreachable (EHOSTUNREACH, ENETUNREACH)
12
+ * - `http-status` — the response arrived but its status was rejected by validateStatus
13
+ * - `parse` — a successful response had a non-empty body that could not be parsed as JSON
14
+ * - `network` — a generic network failure with no recognizable cause (e.g. browser "Failed to fetch")
15
+ * - `unknown` — the failure could not be classified
16
+ */
17
+ export type FetchErrorType = 'dns' | 'connection-refused' | 'connection-reset' | 'connection-timeout' | 'timeout' | 'aborted' | 'tls' | 'unreachable' | 'http-status' | 'parse' | 'network' | 'unknown';
18
+ /**
19
+ * Classifies a raw error thrown by native `fetch` (or its `cause` chain) into a FetchErrorType.
20
+ * Recognizes DNS, connection, TLS, timeout and abort failures from Node/undici system codes
21
+ * and DOMException names, falling back to `network` for generic failures and `unknown` otherwise.
22
+ */
23
+ export declare function classifyFetchError(error: unknown): {
24
+ code?: string;
25
+ type: FetchErrorType;
26
+ };
27
+ /** Context attached to a FetchError describing the request and (when available) the response. */
28
+ export interface FetchErrorContext {
29
+ /** Raw response body text — set for `parse` errors so the unparseable payload can be inspected. */
30
+ body?: string;
31
+ cause?: unknown;
32
+ code?: string;
33
+ method?: string;
34
+ response?: FetchJsonResponse<unknown>;
35
+ status?: number;
36
+ statusText?: string;
37
+ type?: FetchErrorType;
38
+ url?: string;
39
+ }
40
+ /** Plain serializable shape of a FetchError, safe for logging/telemetry (no circular refs). */
41
+ export interface FetchErrorJson {
42
+ code?: string;
43
+ message: string;
44
+ method?: string;
45
+ name: string;
46
+ status?: number;
47
+ statusText?: string;
48
+ type: FetchErrorType;
49
+ url?: string;
50
+ }
51
+ /**
52
+ * Structured error for every failure mode of the @internal/fetch stack.
53
+ * Carries a classified `type`, the underlying system `code` (when known), request context
54
+ * (`url`, `method`) and, for HTTP-status failures, the parsed `response`. The original error
55
+ * is preserved on `cause`. Detect with {@link isFetchError}.
56
+ */
57
+ export declare class FetchError extends Error {
58
+ readonly __fetchErrorMarker = "$$xylabs-fetch-error";
59
+ readonly body?: string;
60
+ readonly code?: string;
61
+ readonly method?: string;
62
+ readonly response?: FetchJsonResponse<unknown>;
63
+ readonly status?: number;
64
+ readonly statusText?: string;
65
+ readonly type: FetchErrorType;
66
+ readonly url?: string;
67
+ constructor(message: string, context?: FetchErrorContext);
68
+ toJSON(): FetchErrorJson;
69
+ }
70
+ /** Type guard: true for any FetchError we built, robust across bundle/realm copies via a brand marker. */
71
+ export declare function isFetchError(value: unknown): value is FetchError;
72
+ /**
73
+ * Wraps a raw thrown error into a structured FetchError, classifying network failures.
74
+ * Idempotent: an existing FetchError is returned unchanged so wrapping at multiple layers is safe.
75
+ */
76
+ export declare function toFetchError(error: unknown, context?: {
77
+ method?: string;
78
+ url?: string;
79
+ }): FetchError;
80
+ //# sourceMappingURL=FetchError.d.ts.map
@@ -0,0 +1,19 @@
1
+ import type { FetchClientConfig } from './FetchClient.ts';
2
+ import { FetchClient } from './FetchClient.ts';
3
+ /**
4
+ * Pre-configured FetchClient for JSON APIs with optional gzip compression.
5
+ * Drop-in replacement for `@xylabs/axios`'s `axiosJson` / `AxiosJson`.
6
+ *
7
+ * Default behavior matches axiosJsonConfig():
8
+ * - JSON Accept/Content-Type headers
9
+ * - Request bodies > compressMinLength (default 1024) are gzip-compressed
10
+ * - Responses are parsed as JSON
11
+ * - Non-2xx status codes throw (like Axios default)
12
+ */
13
+ export declare class FetchJsonClient extends FetchClient {
14
+ constructor(config?: FetchClientConfig);
15
+ static create(config?: FetchClientConfig): FetchJsonClient;
16
+ }
17
+ /** Ready-to-use JSON fetch client, equivalent to `axiosJson` from `@xylabs/axios`. */
18
+ export declare const fetchJsonClient: FetchJsonClient;
19
+ //# sourceMappingURL=FetchJsonClient.d.ts.map
@@ -0,0 +1,12 @@
1
+ export interface FetchCompressOptions extends RequestInit {
2
+ /** Gzip payloads larger than this byte count. */
3
+ compressMinLength?: number;
4
+ }
5
+ /**
6
+ * Drop-in replacement for native `fetch` that optionally gzip-compresses the request body.
7
+ * When `compressMinLength` is set and the body string exceeds that threshold, the body is
8
+ * gzip-compressed using native compression and `Content-Encoding: gzip` is added to the headers.
9
+ * Returns a standard `Response` — identical to what native `fetch` returns.
10
+ */
11
+ export declare function fetchCompress(url: string | URL, options?: FetchCompressOptions): Promise<Response>;
12
+ //# sourceMappingURL=fetchCompress.d.ts.map
@@ -0,0 +1,7 @@
1
+ import type { FetchJsonOptions, FetchJsonResponse } from './types.ts';
2
+ /**
3
+ * JSON-configured fetch with optional gzip compression on request bodies.
4
+ * Request bodies exceeding `compressMinLength` bytes are gzip-compressed using native compression.
5
+ */
6
+ export declare function fetchJson<T>(url: string, options?: FetchJsonOptions): Promise<FetchJsonResponse<T>>;
7
+ //# sourceMappingURL=fetchJson.d.ts.map