@ddd-ts-kit/aspects 0.0.0-stage → 0.1.1

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 (346) hide show
  1. package/README.md +381 -2
  2. package/dist/aspect/advice-factory.d.ts +9 -0
  3. package/dist/aspect/advice-factory.d.ts.map +1 -0
  4. package/dist/aspect/advice-factory.js +2 -0
  5. package/dist/aspect/advice-factory.js.map +1 -0
  6. package/dist/aspect/advice.d.ts +3 -0
  7. package/dist/aspect/advice.d.ts.map +1 -0
  8. package/dist/aspect/advice.js +2 -0
  9. package/dist/aspect/advice.js.map +1 -0
  10. package/dist/aspect/aspect-info.d.ts +12 -0
  11. package/dist/aspect/aspect-info.d.ts.map +1 -0
  12. package/dist/aspect/aspect-info.js +2 -0
  13. package/dist/aspect/aspect-info.js.map +1 -0
  14. package/dist/aspect/aspect-kind.d.ts +4 -0
  15. package/dist/aspect/aspect-kind.d.ts.map +1 -0
  16. package/dist/aspect/aspect-kind.js +2 -0
  17. package/dist/aspect/aspect-kind.js.map +1 -0
  18. package/dist/aspect/aspect-origins.d.ts +10 -0
  19. package/dist/aspect/aspect-origins.d.ts.map +1 -0
  20. package/dist/aspect/aspect-origins.js +3 -0
  21. package/dist/aspect/aspect-origins.js.map +1 -0
  22. package/dist/aspect/aspect.d.ts +9 -0
  23. package/dist/aspect/aspect.d.ts.map +1 -0
  24. package/dist/aspect/aspect.js +2 -0
  25. package/dist/aspect/aspect.js.map +1 -0
  26. package/dist/aspect/compose.d.ts +7 -0
  27. package/dist/aspect/compose.d.ts.map +1 -0
  28. package/dist/aspect/compose.js +11 -0
  29. package/dist/aspect/compose.js.map +1 -0
  30. package/dist/aspect/define-aspect.d.ts +5 -0
  31. package/dist/aspect/define-aspect.d.ts.map +1 -0
  32. package/dist/aspect/define-aspect.js +17 -0
  33. package/dist/aspect/define-aspect.js.map +1 -0
  34. package/dist/aspect/invocation.d.ts +6 -0
  35. package/dist/aspect/invocation.d.ts.map +1 -0
  36. package/dist/aspect/invocation.js +2 -0
  37. package/dist/aspect/invocation.js.map +1 -0
  38. package/dist/aspect/join-point.d.ts +13 -0
  39. package/dist/aspect/join-point.d.ts.map +1 -0
  40. package/dist/aspect/join-point.js +2 -0
  41. package/dist/aspect/join-point.js.map +1 -0
  42. package/dist/aspect/selector.d.ts +3 -0
  43. package/dist/aspect/selector.d.ts.map +1 -0
  44. package/dist/aspect/selector.js +2 -0
  45. package/dist/aspect/selector.js.map +1 -0
  46. package/dist/aspect/selectors.d.ts +14 -0
  47. package/dist/aspect/selectors.d.ts.map +1 -0
  48. package/dist/aspect/selectors.js +32 -0
  49. package/dist/aspect/selectors.js.map +1 -0
  50. package/dist/aspect/when.d.ts +8 -0
  51. package/dist/aspect/when.d.ts.map +1 -0
  52. package/dist/aspect/when.js +21 -0
  53. package/dist/aspect/when.js.map +1 -0
  54. package/dist/bulkhead/bulkhead-options.d.ts +10 -0
  55. package/dist/bulkhead/bulkhead-options.d.ts.map +1 -0
  56. package/dist/bulkhead/bulkhead-options.js +2 -0
  57. package/dist/bulkhead/bulkhead-options.js.map +1 -0
  58. package/dist/bulkhead/bulkhead.d.ts +11 -0
  59. package/dist/bulkhead/bulkhead.d.ts.map +1 -0
  60. package/dist/bulkhead/bulkhead.js +22 -0
  61. package/dist/bulkhead/bulkhead.js.map +1 -0
  62. package/dist/bulkhead/compartment.d.ts +13 -0
  63. package/dist/bulkhead/compartment.d.ts.map +1 -0
  64. package/dist/bulkhead/compartment.js +40 -0
  65. package/dist/bulkhead/compartment.js.map +1 -0
  66. package/dist/cached/cached.d.ts +26 -0
  67. package/dist/cached/cached.d.ts.map +1 -0
  68. package/dist/cached/cached.js +64 -0
  69. package/dist/cached/cached.js.map +1 -0
  70. package/dist/circuit-breaker/circuit-breaker-options.d.ts +20 -0
  71. package/dist/circuit-breaker/circuit-breaker-options.d.ts.map +1 -0
  72. package/dist/circuit-breaker/circuit-breaker-options.js +2 -0
  73. package/dist/circuit-breaker/circuit-breaker-options.js.map +1 -0
  74. package/dist/circuit-breaker/circuit-breaker.d.ts +11 -0
  75. package/dist/circuit-breaker/circuit-breaker.d.ts.map +1 -0
  76. package/dist/circuit-breaker/circuit-breaker.js +27 -0
  77. package/dist/circuit-breaker/circuit-breaker.js.map +1 -0
  78. package/dist/circuit-breaker/circuit-state-change.d.ts +10 -0
  79. package/dist/circuit-breaker/circuit-state-change.d.ts.map +1 -0
  80. package/dist/circuit-breaker/circuit-state-change.js +2 -0
  81. package/dist/circuit-breaker/circuit-state-change.js.map +1 -0
  82. package/dist/circuit-breaker/circuit-state-gauge.d.ts +8 -0
  83. package/dist/circuit-breaker/circuit-state-gauge.d.ts.map +1 -0
  84. package/dist/circuit-breaker/circuit-state-gauge.js +14 -0
  85. package/dist/circuit-breaker/circuit-state-gauge.js.map +1 -0
  86. package/dist/circuit-breaker/circuit-state.d.ts +2 -0
  87. package/dist/circuit-breaker/circuit-state.d.ts.map +1 -0
  88. package/dist/circuit-breaker/circuit-state.js +2 -0
  89. package/dist/circuit-breaker/circuit-state.js.map +1 -0
  90. package/dist/circuit-breaker/circuit.d.ts +22 -0
  91. package/dist/circuit-breaker/circuit.d.ts.map +1 -0
  92. package/dist/circuit-breaker/circuit.js +79 -0
  93. package/dist/circuit-breaker/circuit.js.map +1 -0
  94. package/dist/decorators/async-method-decorator.d.ts +13 -0
  95. package/dist/decorators/async-method-decorator.d.ts.map +1 -0
  96. package/dist/decorators/async-method-decorator.js +2 -0
  97. package/dist/decorators/async-method-decorator.js.map +1 -0
  98. package/dist/decorators/bulkhead.d.ts +5 -0
  99. package/dist/decorators/bulkhead.d.ts.map +1 -0
  100. package/dist/decorators/bulkhead.js +7 -0
  101. package/dist/decorators/bulkhead.js.map +1 -0
  102. package/dist/decorators/cached.d.ts +5 -0
  103. package/dist/decorators/cached.d.ts.map +1 -0
  104. package/dist/decorators/cached.js +7 -0
  105. package/dist/decorators/cached.js.map +1 -0
  106. package/dist/decorators/circuit-breaker.d.ts +5 -0
  107. package/dist/decorators/circuit-breaker.d.ts.map +1 -0
  108. package/dist/decorators/circuit-breaker.js +7 -0
  109. package/dist/decorators/circuit-breaker.js.map +1 -0
  110. package/dist/decorators/decorator-of.d.ts +9 -0
  111. package/dist/decorators/decorator-of.d.ts.map +1 -0
  112. package/dist/decorators/decorator-of.js +43 -0
  113. package/dist/decorators/decorator-of.js.map +1 -0
  114. package/dist/decorators/logged.d.ts +5 -0
  115. package/dist/decorators/logged.d.ts.map +1 -0
  116. package/dist/decorators/logged.js +7 -0
  117. package/dist/decorators/logged.js.map +1 -0
  118. package/dist/decorators/retry.d.ts +5 -0
  119. package/dist/decorators/retry.d.ts.map +1 -0
  120. package/dist/decorators/retry.js +7 -0
  121. package/dist/decorators/retry.js.map +1 -0
  122. package/dist/decorators/timed.d.ts +5 -0
  123. package/dist/decorators/timed.d.ts.map +1 -0
  124. package/dist/decorators/timed.js +7 -0
  125. package/dist/decorators/timed.js.map +1 -0
  126. package/dist/decorators/timeout.d.ts +5 -0
  127. package/dist/decorators/timeout.d.ts.map +1 -0
  128. package/dist/decorators/timeout.js +7 -0
  129. package/dist/decorators/timeout.js.map +1 -0
  130. package/dist/decorators.d.ts +10 -0
  131. package/dist/decorators.d.ts.map +1 -0
  132. package/dist/decorators.js +9 -0
  133. package/dist/decorators.js.map +1 -0
  134. package/dist/di/aspects.d.ts +19 -0
  135. package/dist/di/aspects.d.ts.map +1 -0
  136. package/dist/di/aspects.js +22 -0
  137. package/dist/di/aspects.js.map +1 -0
  138. package/dist/errors/aspect-not-allowed-error.d.ts +6 -0
  139. package/dist/errors/aspect-not-allowed-error.d.ts.map +1 -0
  140. package/dist/errors/aspect-not-allowed-error.js +9 -0
  141. package/dist/errors/aspect-not-allowed-error.js.map +1 -0
  142. package/dist/errors/bulkhead-full-error.d.ts +7 -0
  143. package/dist/errors/bulkhead-full-error.d.ts.map +1 -0
  144. package/dist/errors/bulkhead-full-error.js +10 -0
  145. package/dist/errors/bulkhead-full-error.js.map +1 -0
  146. package/dist/errors/circuit-open-error.d.ts +11 -0
  147. package/dist/errors/circuit-open-error.d.ts.map +1 -0
  148. package/dist/errors/circuit-open-error.js +14 -0
  149. package/dist/errors/circuit-open-error.js.map +1 -0
  150. package/dist/errors/is-business-refusal.d.ts +3 -0
  151. package/dist/errors/is-business-refusal.d.ts.map +1 -0
  152. package/dist/errors/is-business-refusal.js +6 -0
  153. package/dist/errors/is-business-refusal.js.map +1 -0
  154. package/dist/errors/timeout-error.d.ts +8 -0
  155. package/dist/errors/timeout-error.d.ts.map +1 -0
  156. package/dist/errors/timeout-error.js +12 -0
  157. package/dist/errors/timeout-error.js.map +1 -0
  158. package/dist/index.d.ts +46 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +30 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/observability/log-call.d.ts +13 -0
  163. package/dist/observability/log-call.d.ts.map +1 -0
  164. package/dist/observability/log-call.js +22 -0
  165. package/dist/observability/log-call.js.map +1 -0
  166. package/dist/observability/logged.d.ts +22 -0
  167. package/dist/observability/logged.d.ts.map +1 -0
  168. package/dist/observability/logged.js +38 -0
  169. package/dist/observability/logged.js.map +1 -0
  170. package/dist/observability/logging-middleware.d.ts +13 -0
  171. package/dist/observability/logging-middleware.d.ts.map +1 -0
  172. package/dist/observability/logging-middleware.js +16 -0
  173. package/dist/observability/logging-middleware.js.map +1 -0
  174. package/dist/observability/metrics-middleware.d.ts +10 -0
  175. package/dist/observability/metrics-middleware.d.ts.map +1 -0
  176. package/dist/observability/metrics-middleware.js +12 -0
  177. package/dist/observability/metrics-middleware.js.map +1 -0
  178. package/dist/observability/observed.d.ts +14 -0
  179. package/dist/observability/observed.d.ts.map +1 -0
  180. package/dist/observability/observed.js +27 -0
  181. package/dist/observability/observed.js.map +1 -0
  182. package/dist/observability/safely.d.ts +3 -0
  183. package/dist/observability/safely.d.ts.map +1 -0
  184. package/dist/observability/safely.js +10 -0
  185. package/dist/observability/safely.js.map +1 -0
  186. package/dist/observability/stdout-logger.d.ts +45 -0
  187. package/dist/observability/stdout-logger.d.ts.map +1 -0
  188. package/dist/observability/stdout-logger.js +85 -0
  189. package/dist/observability/stdout-logger.js.map +1 -0
  190. package/dist/observability/time-call.d.ts +10 -0
  191. package/dist/observability/time-call.d.ts.map +1 -0
  192. package/dist/observability/time-call.js +11 -0
  193. package/dist/observability/time-call.js.map +1 -0
  194. package/dist/observability/timed.d.ts +19 -0
  195. package/dist/observability/timed.d.ts.map +1 -0
  196. package/dist/observability/timed.js +33 -0
  197. package/dist/observability/timed.js.map +1 -0
  198. package/dist/retry/backoff.d.ts +12 -0
  199. package/dist/retry/backoff.d.ts.map +1 -0
  200. package/dist/retry/backoff.js +2 -0
  201. package/dist/retry/backoff.js.map +1 -0
  202. package/dist/retry/delay-before-retry.d.ts +4 -0
  203. package/dist/retry/delay-before-retry.d.ts.map +1 -0
  204. package/dist/retry/delay-before-retry.js +10 -0
  205. package/dist/retry/delay-before-retry.js.map +1 -0
  206. package/dist/retry/full-jitter.d.ts +7 -0
  207. package/dist/retry/full-jitter.d.ts.map +1 -0
  208. package/dist/retry/full-jitter.js +8 -0
  209. package/dist/retry/full-jitter.js.map +1 -0
  210. package/dist/retry/is-transient.d.ts +6 -0
  211. package/dist/retry/is-transient.d.ts.map +1 -0
  212. package/dist/retry/is-transient.js +11 -0
  213. package/dist/retry/is-transient.js.map +1 -0
  214. package/dist/retry/jitter.d.ts +3 -0
  215. package/dist/retry/jitter.d.ts.map +1 -0
  216. package/dist/retry/jitter.js +2 -0
  217. package/dist/retry/jitter.js.map +1 -0
  218. package/dist/retry/no-jitter.d.ts +3 -0
  219. package/dist/retry/no-jitter.d.ts.map +1 -0
  220. package/dist/retry/no-jitter.js +2 -0
  221. package/dist/retry/no-jitter.js.map +1 -0
  222. package/dist/retry/retry.d.ts +20 -0
  223. package/dist/retry/retry.d.ts.map +1 -0
  224. package/dist/retry/retry.js +38 -0
  225. package/dist/retry/retry.js.map +1 -0
  226. package/dist/runtime/aspect-runtime-error.d.ts +6 -0
  227. package/dist/runtime/aspect-runtime-error.d.ts.map +1 -0
  228. package/dist/runtime/aspect-runtime-error.js +9 -0
  229. package/dist/runtime/aspect-runtime-error.js.map +1 -0
  230. package/dist/runtime/aspect-runtime.d.ts +15 -0
  231. package/dist/runtime/aspect-runtime.d.ts.map +1 -0
  232. package/dist/runtime/aspect-runtime.js +2 -0
  233. package/dist/runtime/aspect-runtime.js.map +1 -0
  234. package/dist/runtime/cache-or.d.ts +3 -0
  235. package/dist/runtime/cache-or.d.ts.map +1 -0
  236. package/dist/runtime/cache-or.js +6 -0
  237. package/dist/runtime/cache-or.js.map +1 -0
  238. package/dist/runtime/clock-or.d.ts +3 -0
  239. package/dist/runtime/clock-or.d.ts.map +1 -0
  240. package/dist/runtime/clock-or.js +7 -0
  241. package/dist/runtime/clock-or.js.map +1 -0
  242. package/dist/runtime/installed-runtime.d.ts +8 -0
  243. package/dist/runtime/installed-runtime.d.ts.map +1 -0
  244. package/dist/runtime/installed-runtime.js +16 -0
  245. package/dist/runtime/installed-runtime.js.map +1 -0
  246. package/dist/runtime/logger-or.d.ts +3 -0
  247. package/dist/runtime/logger-or.d.ts.map +1 -0
  248. package/dist/runtime/logger-or.js +6 -0
  249. package/dist/runtime/logger-or.js.map +1 -0
  250. package/dist/runtime/metrics-or.d.ts +3 -0
  251. package/dist/runtime/metrics-or.d.ts.map +1 -0
  252. package/dist/runtime/metrics-or.js +6 -0
  253. package/dist/runtime/metrics-or.js.map +1 -0
  254. package/dist/runtime/missing-collaborator.d.ts +2 -0
  255. package/dist/runtime/missing-collaborator.d.ts.map +1 -0
  256. package/dist/runtime/missing-collaborator.js +5 -0
  257. package/dist/runtime/missing-collaborator.js.map +1 -0
  258. package/dist/runtime/scheduler-or.d.ts +3 -0
  259. package/dist/runtime/scheduler-or.d.ts.map +1 -0
  260. package/dist/runtime/scheduler-or.js +6 -0
  261. package/dist/runtime/scheduler-or.js.map +1 -0
  262. package/dist/runtime/scheduler.d.ts +7 -0
  263. package/dist/runtime/scheduler.d.ts.map +1 -0
  264. package/dist/runtime/scheduler.js +5 -0
  265. package/dist/runtime/scheduler.js.map +1 -0
  266. package/dist/runtime/system-scheduler.d.ts +3 -0
  267. package/dist/runtime/system-scheduler.d.ts.map +1 -0
  268. package/dist/runtime/system-scheduler.js +9 -0
  269. package/dist/runtime/system-scheduler.js.map +1 -0
  270. package/dist/state/state-for.d.ts +5 -0
  271. package/dist/state/state-for.d.ts.map +1 -0
  272. package/dist/state/state-for.js +17 -0
  273. package/dist/state/state-for.js.map +1 -0
  274. package/dist/state/state-scope.d.ts +3 -0
  275. package/dist/state/state-scope.d.ts.map +1 -0
  276. package/dist/state/state-scope.js +2 -0
  277. package/dist/state/state-scope.js.map +1 -0
  278. package/dist/testing/create-aspect-fakes.d.ts +13 -0
  279. package/dist/testing/create-aspect-fakes.d.ts.map +1 -0
  280. package/dist/testing/create-aspect-fakes.js +15 -0
  281. package/dist/testing/create-aspect-fakes.js.map +1 -0
  282. package/dist/testing/manual-scheduler.d.ts +14 -0
  283. package/dist/testing/manual-scheduler.d.ts.map +1 -0
  284. package/dist/testing/manual-scheduler.js +30 -0
  285. package/dist/testing/manual-scheduler.js.map +1 -0
  286. package/dist/testing/with-aspect-runtime.d.ts +8 -0
  287. package/dist/testing/with-aspect-runtime.d.ts.map +1 -0
  288. package/dist/testing/with-aspect-runtime.js +10 -0
  289. package/dist/testing/with-aspect-runtime.js.map +1 -0
  290. package/dist/testing.d.ts +4 -0
  291. package/dist/testing.d.ts.map +1 -0
  292. package/dist/testing.js +4 -0
  293. package/dist/testing.js.map +1 -0
  294. package/dist/timeout/timeout.d.ts +21 -0
  295. package/dist/timeout/timeout.d.ts.map +1 -0
  296. package/dist/timeout/timeout.js +42 -0
  297. package/dist/timeout/timeout.js.map +1 -0
  298. package/dist/weaving/advise-method.d.ts +7 -0
  299. package/dist/weaving/advise-method.d.ts.map +1 -0
  300. package/dist/weaving/advise-method.js +19 -0
  301. package/dist/weaving/advise-method.js.map +1 -0
  302. package/dist/weaving/advise-methods.d.ts +13 -0
  303. package/dist/weaving/advise-methods.d.ts.map +1 -0
  304. package/dist/weaving/advise-methods.js +119 -0
  305. package/dist/weaving/advise-methods.js.map +1 -0
  306. package/dist/weaving/advise-prototype-method.d.ts +8 -0
  307. package/dist/weaving/advise-prototype-method.d.ts.map +1 -0
  308. package/dist/weaving/advise-prototype-method.js +30 -0
  309. package/dist/weaving/advise-prototype-method.js.map +1 -0
  310. package/dist/weaving/advised.d.ts +6 -0
  311. package/dist/weaving/advised.d.ts.map +1 -0
  312. package/dist/weaving/advised.js +19 -0
  313. package/dist/weaving/advised.js.map +1 -0
  314. package/dist/weaving/from-outside.d.ts +10 -0
  315. package/dist/weaving/from-outside.d.ts.map +1 -0
  316. package/dist/weaving/from-outside.js +29 -0
  317. package/dist/weaving/from-outside.js.map +1 -0
  318. package/dist/weaving/is-wrappable.d.ts +3 -0
  319. package/dist/weaving/is-wrappable.d.ts.map +1 -0
  320. package/dist/weaving/is-wrappable.js +7 -0
  321. package/dist/weaving/is-wrappable.js.map +1 -0
  322. package/dist/weaving/known-async.d.ts +4 -0
  323. package/dist/weaving/known-async.d.ts.map +1 -0
  324. package/dist/weaving/known-async.js +3 -0
  325. package/dist/weaving/known-async.js.map +1 -0
  326. package/dist/weaving/lifecycle-hooks.d.ts +3 -0
  327. package/dist/weaving/lifecycle-hooks.d.ts.map +1 -0
  328. package/dist/weaving/lifecycle-hooks.js +9 -0
  329. package/dist/weaving/lifecycle-hooks.js.map +1 -0
  330. package/dist/weaving/method.d.ts +2 -0
  331. package/dist/weaving/method.d.ts.map +1 -0
  332. package/dist/weaving/method.js +2 -0
  333. package/dist/weaving/method.js.map +1 -0
  334. package/dist/weaving/named.d.ts +4 -0
  335. package/dist/weaving/named.d.ts.map +1 -0
  336. package/dist/weaving/named.js +7 -0
  337. package/dist/weaving/named.js.map +1 -0
  338. package/dist/weaving/shadowed.d.ts +4 -0
  339. package/dist/weaving/shadowed.d.ts.map +1 -0
  340. package/dist/weaving/shadowed.js +14 -0
  341. package/dist/weaving/shadowed.js.map +1 -0
  342. package/dist/weaving/site-of.d.ts +5 -0
  343. package/dist/weaving/site-of.d.ts.map +1 -0
  344. package/dist/weaving/site-of.js +15 -0
  345. package/dist/weaving/site-of.js.map +1 -0
  346. package/package.json +40 -4
@@ -0,0 +1,13 @@
1
+ type AsyncMethod<This, Args extends unknown[], Result> = (this: This, ...args: Args) => Promise<Result>;
2
+ /**
3
+ * A decorator of a public instance method that answers a promise, for both decorator modes of
4
+ * the compiler: the standard (TC39) call `(method, context)` and the legacy
5
+ * `experimentalDecorators` call `(prototype, name, descriptor)`. Several on one method nest as
6
+ * they read: the one written first is outermost.
7
+ */
8
+ export interface AsyncMethodDecorator {
9
+ <This extends object, Args extends unknown[], Result>(target: AsyncMethod<This, Args, Result>, context: ClassMethodDecoratorContext<This, AsyncMethod<This, Args, Result>>): void;
10
+ <Method extends (...args: never[]) => Promise<unknown>>(prototype: object, name: string | symbol, descriptor: TypedPropertyDescriptor<Method>): TypedPropertyDescriptor<Method> | undefined;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=async-method-decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-method-decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/async-method-decorator.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAExG;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EAClD,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EACvC,OAAO,EAAE,2BAA2B,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,GAC1E,IAAI,CAAC;IACR,CAAC,MAAM,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAC1C,uBAAuB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CAChD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=async-method-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-method-decorator.js","sourceRoot":"","sources":["../../src/decorators/async-method-decorator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { BulkheadOptions } from '../bulkhead/bulkhead-options.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /** See `bulkhead`. */
4
+ export declare function Bulkhead(options: BulkheadOptions): AsyncMethodDecorator;
5
+ //# sourceMappingURL=bulkhead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkhead.d.ts","sourceRoot":"","sources":["../../src/decorators/bulkhead.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,sBAAsB;AACtB,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,oBAAoB,CAEvE"}
@@ -0,0 +1,7 @@
1
+ import { bulkheadAdvice } from '../bulkhead/bulkhead.js';
2
+ import { decoratorOf } from './decorator-of.js';
3
+ /** See `bulkhead`. */
4
+ export function Bulkhead(options) {
5
+ return decoratorOf(bulkheadAdvice(options));
6
+ }
7
+ //# sourceMappingURL=bulkhead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkhead.js","sourceRoot":"","sources":["../../src/decorators/bulkhead.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,sBAAsB;AACtB,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,OAAO,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type CachedOptions } from '../cached/cached.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /** See `cached`. The cache comes from the aspect runtime unless given. */
4
+ export declare function Cached(options: CachedOptions): AsyncMethodDecorator;
5
+ //# sourceMappingURL=cached.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cached.d.ts","sourceRoot":"","sources":["../../src/decorators/cached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,CAEnE"}
@@ -0,0 +1,7 @@
1
+ import { cachedAdvice } from '../cached/cached.js';
2
+ import { decoratorOf } from './decorator-of.js';
3
+ /** See `cached`. The cache comes from the aspect runtime unless given. */
4
+ export function Cached(options) {
5
+ return decoratorOf(cachedAdvice(options));
6
+ }
7
+ //# sourceMappingURL=cached.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cached.js","sourceRoot":"","sources":["../../src/decorators/cached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,OAAsB;IAC3C,OAAO,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CircuitBreakerOptions } from '../circuit-breaker/circuit-breaker-options.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /** See `circuitBreaker`. One circuit per instance and method, or per instance with `scope`. */
4
+ export declare function CircuitBreaker(options: CircuitBreakerOptions): AsyncMethodDecorator;
5
+ //# sourceMappingURL=circuit-breaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/decorators/circuit-breaker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAE3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAEnF"}
@@ -0,0 +1,7 @@
1
+ import { circuitBreakerAdvice } from '../circuit-breaker/circuit-breaker.js';
2
+ import { decoratorOf } from './decorator-of.js';
3
+ /** See `circuitBreaker`. One circuit per instance and method, or per instance with `scope`. */
4
+ export function CircuitBreaker(options) {
5
+ return decoratorOf(circuitBreakerAdvice(options));
6
+ }
7
+ //# sourceMappingURL=circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/decorators/circuit-breaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,OAAO,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { AdviceFactory } from '../aspect/advice-factory.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /**
4
+ * The decorator form of any advice factory, by the same code as the wrappers of the composition
5
+ * root. In the standard mode each instance gets the method wrapped when it is constructed; in
6
+ * the legacy mode, which has no initializer, at its first call.
7
+ */
8
+ export declare function decoratorOf(advise: AdviceFactory): AsyncMethodDecorator;
9
+ //# sourceMappingURL=decorator-of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator-of.d.ts","sourceRoot":"","sources":["../../src/decorators/decorator-of.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,oBAAoB,CAQvE"}
@@ -0,0 +1,43 @@
1
+ import { adviseMethod } from '../weaving/advise-method.js';
2
+ import { advisePrototypeMethod } from '../weaving/advise-prototype-method.js';
3
+ /**
4
+ * The decorator form of any advice factory, by the same code as the wrappers of the composition
5
+ * root. In the standard mode each instance gets the method wrapped when it is constructed; in
6
+ * the legacy mode, which has no initializer, at its first call.
7
+ */
8
+ export function decoratorOf(advise) {
9
+ return (target, second, descriptor) => {
10
+ if (isStandardContext(second)) {
11
+ adviseAtConstruction(second, advise);
12
+ }
13
+ else {
14
+ adviseOnThePrototype({ prototype: target, name: second, descriptor }, advise);
15
+ }
16
+ };
17
+ }
18
+ /** The standard call hands a context object; the legacy one hands the name of the method there. */
19
+ function isStandardContext(value) {
20
+ return typeof value === 'object' && value !== null && 'kind' in value && 'addInitializer' in value;
21
+ }
22
+ function adviseAtConstruction(context, advise) {
23
+ const { name } = context;
24
+ if (context.static === true || context.private === true || typeof name !== 'string') {
25
+ throw misplaced();
26
+ }
27
+ context.addInitializer(function () {
28
+ adviseMethod(this, name, advise);
29
+ });
30
+ }
31
+ function adviseOnThePrototype({ prototype, name, descriptor }, advise) {
32
+ if (typeof prototype !== 'object' || typeof name !== 'string') {
33
+ throw misplaced();
34
+ }
35
+ if (typeof descriptor !== 'object' || descriptor === null || !('value' in descriptor)) {
36
+ throw misplaced();
37
+ }
38
+ descriptor.value = advisePrototypeMethod(name, descriptor.value, advise);
39
+ }
40
+ function misplaced() {
41
+ return new TypeError('An aspect decorates a public instance method with a string name');
42
+ }
43
+ //# sourceMappingURL=decorator-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator-of.js","sourceRoot":"","sources":["../../src/decorators/decorator-of.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAG9E;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC/C,OAAO,CAAC,MAAe,EAAE,MAAe,EAAE,UAAoB,EAAa,EAAE;QAC3E,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAUD,mGAAmG;AACnG,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,gBAAgB,IAAI,KAAK,CAAC;AACrG,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAwB,EAAE,MAAqB;IAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpF,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,cAAc,CAAC;QACrB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,SAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAc,EAAE,MAAqB;IAC9F,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;QACtF,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,SAAS,CAAC,iEAAiE,CAAC,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type LoggedOptions } from '../observability/logged.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /** See `logged`. The logger comes from the aspect runtime unless given. */
4
+ export declare function Logged(options?: LoggedOptions): AsyncMethodDecorator;
5
+ //# sourceMappingURL=logged.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logged.d.ts","sourceRoot":"","sources":["../../src/decorators/logged.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,2EAA2E;AAC3E,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,oBAAoB,CAEpE"}
@@ -0,0 +1,7 @@
1
+ import { loggedAdvice } from '../observability/logged.js';
2
+ import { decoratorOf } from './decorator-of.js';
3
+ /** See `logged`. The logger comes from the aspect runtime unless given. */
4
+ export function Logged(options) {
5
+ return decoratorOf(loggedAdvice(options));
6
+ }
7
+ //# sourceMappingURL=logged.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logged.js","sourceRoot":"","sources":["../../src/decorators/logged.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,2EAA2E;AAC3E,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,OAAO,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type RetryOptions } from '../retry/retry.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /** For an adapter whose retry policy is part of its definition. See `retry`. */
4
+ export declare function Retry(options: RetryOptions): AsyncMethodDecorator;
5
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/decorators/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,gFAAgF;AAChF,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,oBAAoB,CAEjE"}
@@ -0,0 +1,7 @@
1
+ import { retryAdvice } from '../retry/retry.js';
2
+ import { decoratorOf } from './decorator-of.js';
3
+ /** For an adapter whose retry policy is part of its definition. See `retry`. */
4
+ export function Retry(options) {
5
+ return decoratorOf(retryAdvice(options));
6
+ }
7
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/decorators/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gFAAgF;AAChF,MAAM,UAAU,KAAK,CAAC,OAAqB;IACzC,OAAO,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type TimedOptions } from '../observability/timed.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /** See `timed`. The metrics come from the aspect runtime unless given. */
4
+ export declare function Timed(options?: TimedOptions): AsyncMethodDecorator;
5
+ //# sourceMappingURL=timed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timed.d.ts","sourceRoot":"","sources":["../../src/decorators/timed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,0EAA0E;AAC1E,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,oBAAoB,CAElE"}
@@ -0,0 +1,7 @@
1
+ import { timedAdvice } from '../observability/timed.js';
2
+ import { decoratorOf } from './decorator-of.js';
3
+ /** See `timed`. The metrics come from the aspect runtime unless given. */
4
+ export function Timed(options) {
5
+ return decoratorOf(timedAdvice(options));
6
+ }
7
+ //# sourceMappingURL=timed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timed.js","sourceRoot":"","sources":["../../src/decorators/timed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,0EAA0E;AAC1E,MAAM,UAAU,KAAK,CAAC,OAAsB;IAC1C,OAAO,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type TimeoutOptions } from '../timeout/timeout.js';
2
+ import type { AsyncMethodDecorator } from './async-method-decorator.js';
3
+ /** See `timeout`. */
4
+ export declare function Timeout(timeoutMs: number, options?: TimeoutOptions): AsyncMethodDecorator;
5
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/decorators/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,qBAAqB;AACrB,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAEzF"}
@@ -0,0 +1,7 @@
1
+ import { timeoutAdvice } from '../timeout/timeout.js';
2
+ import { decoratorOf } from './decorator-of.js';
3
+ /** See `timeout`. */
4
+ export function Timeout(timeoutMs, options) {
5
+ return decoratorOf(timeoutAdvice(timeoutMs, options));
6
+ }
7
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/decorators/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAqB;AACrB,MAAM,UAAU,OAAO,CAAC,SAAiB,EAAE,OAAwB;IACjE,OAAO,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type { AsyncMethodDecorator } from './decorators/async-method-decorator.js';
2
+ export { Bulkhead } from './decorators/bulkhead.js';
3
+ export { Cached } from './decorators/cached.js';
4
+ export { CircuitBreaker } from './decorators/circuit-breaker.js';
5
+ export { decoratorOf } from './decorators/decorator-of.js';
6
+ export { Logged } from './decorators/logged.js';
7
+ export { Retry } from './decorators/retry.js';
8
+ export { Timed } from './decorators/timed.js';
9
+ export { Timeout } from './decorators/timeout.js';
10
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { Bulkhead } from './decorators/bulkhead.js';
2
+ export { Cached } from './decorators/cached.js';
3
+ export { CircuitBreaker } from './decorators/circuit-breaker.js';
4
+ export { decoratorOf } from './decorators/decorator-of.js';
5
+ export { Logged } from './decorators/logged.js';
6
+ export { Retry } from './decorators/retry.js';
7
+ export { Timed } from './decorators/timed.js';
8
+ export { Timeout } from './decorators/timeout.js';
9
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type Token } from '@ddd-ts-kit/kernel/declarations';
2
+ import type { AspectKind } from '../aspect/aspect-kind.js';
3
+ import type { Aspect } from '../aspect/aspect.js';
4
+ /** What the `decorate` hook of `createApplication` is told about a binding. */
5
+ export interface DecoratedBinding {
6
+ /** The port the binding is made under. */
7
+ readonly token: Token<unknown>;
8
+ /** Name of the module that declared the binding. */
9
+ readonly context: string;
10
+ readonly kind?: AspectKind;
11
+ }
12
+ /**
13
+ * The `decorate` hook of `@ddd-ts-kit/di` out of aspects, the first outermost:
14
+ * `createApplication({ modules, decorate: aspects(logged(), timed()) })`. Every instance a
15
+ * binding creates goes through them; what is not an object is left alone. Aspects put on one
16
+ * binding with `.with(...)` are inside these.
17
+ */
18
+ export declare function aspects(...list: readonly Aspect[]): <T>(instance: T, binding: DecoratedBinding) => T;
19
+ //# sourceMappingURL=aspects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspects.d.ts","sourceRoot":"","sources":["../../src/di/aspects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,KAAK,CAAC,CAcpG"}
@@ -0,0 +1,22 @@
1
+ import { describeToken } from '@ddd-ts-kit/kernel/declarations';
2
+ import { compose } from '../aspect/compose.js';
3
+ /**
4
+ * The `decorate` hook of `@ddd-ts-kit/di` out of aspects, the first outermost:
5
+ * `createApplication({ modules, decorate: aspects(logged(), timed()) })`. Every instance a
6
+ * binding creates goes through them; what is not an object is left alone. Aspects put on one
7
+ * binding with `.with(...)` are inside these.
8
+ */
9
+ export function aspects(...list) {
10
+ const composed = compose(...list);
11
+ return (instance, binding) => {
12
+ if (typeof instance !== 'object' || instance === null) {
13
+ return instance;
14
+ }
15
+ return composed(instance, {
16
+ context: binding.context,
17
+ token: describeToken(binding.token),
18
+ ...(binding.kind === undefined ? {} : { kind: binding.kind }),
19
+ });
20
+ };
21
+ }
22
+ //# sourceMappingURL=aspects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspects.js","sourceRoot":"","sources":["../../src/di/aspects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAc,MAAM,iCAAiC,CAAC;AAG5E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAW/C;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAG,IAAuB;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAElC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,EAAE;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** An aspect was put where it must not go: a wiring mistake, raised when the instance is wrapped. */
2
+ export declare class AspectNotAllowedError extends Error {
3
+ readonly code = "ASPECT_NOT_ALLOWED";
4
+ constructor(message: string);
5
+ }
6
+ //# sourceMappingURL=aspect-not-allowed-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-not-allowed-error.d.ts","sourceRoot":"","sources":["../../src/errors/aspect-not-allowed-error.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,wBAAwB;IAErC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF"}
@@ -0,0 +1,9 @@
1
+ /** An aspect was put where it must not go: a wiring mistake, raised when the instance is wrapped. */
2
+ export class AspectNotAllowedError extends Error {
3
+ code = 'ASPECT_NOT_ALLOWED';
4
+ constructor(message) {
5
+ super(message);
6
+ this.name = 'AspectNotAllowedError';
7
+ }
8
+ }
9
+ //# sourceMappingURL=aspect-not-allowed-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-not-allowed-error.js","sourceRoot":"","sources":["../../src/errors/aspect-not-allowed-error.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,oBAAoB,CAAC;IAErC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export declare const BULKHEAD_FULL = "BULKHEAD_FULL";
2
+ /** The call was not made: too many are running and waiting already. */
3
+ export declare class BulkheadFullError extends Error {
4
+ readonly code = "BULKHEAD_FULL";
5
+ constructor(operation: string);
6
+ }
7
+ //# sourceMappingURL=bulkhead-full-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkhead-full-error.d.ts","sourceRoot":"","sources":["../../src/errors/bulkhead-full-error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,uEAAuE;AACvE,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,mBAAiB;IAE9B,YAAY,SAAS,EAAE,MAAM,EAG5B;CACF"}
@@ -0,0 +1,10 @@
1
+ export const BULKHEAD_FULL = 'BULKHEAD_FULL';
2
+ /** The call was not made: too many are running and waiting already. */
3
+ export class BulkheadFullError extends Error {
4
+ code = BULKHEAD_FULL;
5
+ constructor(operation) {
6
+ super(`${operation} is not called: its bulkhead is full`);
7
+ this.name = 'BulkheadFullError';
8
+ }
9
+ }
10
+ //# sourceMappingURL=bulkhead-full-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkhead-full-error.js","sourceRoot":"","sources":["../../src/errors/bulkhead-full-error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,uEAAuE;AACvE,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,GAAG,aAAa,CAAC;IAE9B,YAAY,SAAiB;QAC3B,KAAK,CAAC,GAAG,SAAS,sCAAsC,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export declare const CIRCUIT_OPEN = "CIRCUIT_OPEN";
2
+ /** The call was not made: the dependency failed too often and is given time to recover. */
3
+ export declare class CircuitOpenError extends Error {
4
+ /** The instant from which a trial call is let through. */
5
+ readonly retryAt: Date;
6
+ readonly code = "CIRCUIT_OPEN";
7
+ constructor(operation: string,
8
+ /** The instant from which a trial call is let through. */
9
+ retryAt: Date);
10
+ }
11
+ //# sourceMappingURL=circuit-open-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-open-error.d.ts","sourceRoot":"","sources":["../../src/errors/circuit-open-error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C,2FAA2F;AAC3F,qBAAa,gBAAiB,SAAQ,KAAK;IAKvC,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,IAAI;IALxB,QAAQ,CAAC,IAAI,kBAAgB;IAE7B,YACE,SAAS,EAAE,MAAM;IACjB,0DAA0D;IACjD,OAAO,EAAE,IAAI,EAIvB;CACF"}
@@ -0,0 +1,14 @@
1
+ export const CIRCUIT_OPEN = 'CIRCUIT_OPEN';
2
+ /** The call was not made: the dependency failed too often and is given time to recover. */
3
+ export class CircuitOpenError extends Error {
4
+ retryAt;
5
+ code = CIRCUIT_OPEN;
6
+ constructor(operation,
7
+ /** The instant from which a trial call is let through. */
8
+ retryAt) {
9
+ super(`${operation} is not called: its circuit is open until ${retryAt.toISOString()}`);
10
+ this.retryAt = retryAt;
11
+ this.name = 'CircuitOpenError';
12
+ }
13
+ }
14
+ //# sourceMappingURL=circuit-open-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-open-error.js","sourceRoot":"","sources":["../../src/errors/circuit-open-error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAE3C,2FAA2F;AAC3F,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAM9B,OAAO;IALT,IAAI,GAAG,YAAY,CAAC;IAE7B,YACE,SAAiB;IACjB,0DAA0D;IACjD,OAAa;QAEtB,KAAK,CAAC,GAAG,SAAS,6CAA6C,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;uBAF/E,OAAO;QAGhB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ /** A business refusal: the dependency answered, and asking again would get the same answer. */
2
+ export declare function isBusinessRefusal(error: unknown): boolean;
3
+ //# sourceMappingURL=is-business-refusal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-business-refusal.d.ts","sourceRoot":"","sources":["../../src/errors/is-business-refusal.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD"}
@@ -0,0 +1,6 @@
1
+ import { DomainError } from '@ddd-ts-kit/kernel';
2
+ /** A business refusal: the dependency answered, and asking again would get the same answer. */
3
+ export function isBusinessRefusal(error) {
4
+ return error instanceof DomainError;
5
+ }
6
+ //# sourceMappingURL=is-business-refusal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-business-refusal.js","sourceRoot":"","sources":["../../src/errors/is-business-refusal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,KAAK,YAAY,WAAW,CAAC;AACtC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const TIMEOUT = "TIMEOUT";
2
+ /** The call did not answer in time. An infrastructure fault: retried by default. */
3
+ export declare class TimeoutError extends Error {
4
+ readonly timeoutMs: number;
5
+ readonly code = "TIMEOUT";
6
+ constructor(operation: string, timeoutMs: number);
7
+ }
8
+ //# sourceMappingURL=timeout-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-error.d.ts","sourceRoot":"","sources":["../../src/errors/timeout-error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,oFAAoF;AACpF,qBAAa,YAAa,SAAQ,KAAK;IAKnC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ5B,QAAQ,CAAC,IAAI,aAAW;IAExB,YACE,SAAS,EAAE,MAAM,EACR,SAAS,EAAE,MAAM,EAI3B;CACF"}
@@ -0,0 +1,12 @@
1
+ export const TIMEOUT = 'TIMEOUT';
2
+ /** The call did not answer in time. An infrastructure fault: retried by default. */
3
+ export class TimeoutError extends Error {
4
+ timeoutMs;
5
+ code = TIMEOUT;
6
+ constructor(operation, timeoutMs) {
7
+ super(`${operation} did not answer within ${String(timeoutMs)} ms`);
8
+ this.timeoutMs = timeoutMs;
9
+ this.name = 'TimeoutError';
10
+ }
11
+ }
12
+ //# sourceMappingURL=timeout-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-error.js","sourceRoot":"","sources":["../../src/errors/timeout-error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AAEjC,oFAAoF;AACpF,MAAM,OAAO,YAAa,SAAQ,KAAK;IAK1B,SAAS;IAJX,IAAI,GAAG,OAAO,CAAC;IAExB,YACE,SAAiB,EACR,SAAiB;QAE1B,KAAK,CAAC,GAAG,SAAS,0BAA0B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;yBAF3D,SAAS;QAGlB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ export { compose } from './aspect/compose.js';
2
+ export { defineAspect } from './aspect/define-aspect.js';
3
+ export { when } from './aspect/when.js';
4
+ export type { Advice } from './aspect/advice.js';
5
+ export type { AdviceFactory } from './aspect/advice-factory.js';
6
+ export type { Aspect } from './aspect/aspect.js';
7
+ export type { AspectInfo } from './aspect/aspect-info.js';
8
+ export type { AspectKind } from './aspect/aspect-kind.js';
9
+ export type { Invocation } from './aspect/invocation.js';
10
+ export type { JoinPoint } from './aspect/join-point.js';
11
+ export type { Selector } from './aspect/selector.js';
12
+ export { LIFECYCLE_HOOKS } from './weaving/lifecycle-hooks.js';
13
+ export { allOf, anyOf, forClasses, forContext, forKinds, forMethods, not } from './aspect/selectors.js';
14
+ export { AspectRuntimeError } from './runtime/aspect-runtime-error.js';
15
+ export { installAspectRuntime } from './runtime/installed-runtime.js';
16
+ export { systemScheduler } from './runtime/system-scheduler.js';
17
+ export type { AspectRuntime } from './runtime/aspect-runtime.js';
18
+ export { Scheduler } from './runtime/scheduler.js';
19
+ export { BULKHEAD_FULL, BulkheadFullError } from './errors/bulkhead-full-error.js';
20
+ export { CIRCUIT_OPEN, CircuitOpenError } from './errors/circuit-open-error.js';
21
+ export { TIMEOUT, TimeoutError } from './errors/timeout-error.js';
22
+ export { AspectNotAllowedError } from './errors/aspect-not-allowed-error.js';
23
+ export { logged, type LoggedOptions } from './observability/logged.js';
24
+ export { timed, type TimedOptions } from './observability/timed.js';
25
+ export { retry, type RetryOptions } from './retry/retry.js';
26
+ export { delayBeforeRetry } from './retry/delay-before-retry.js';
27
+ export { fullJitter } from './retry/full-jitter.js';
28
+ export { isTransient } from './retry/is-transient.js';
29
+ export { noJitter } from './retry/no-jitter.js';
30
+ export type { Backoff } from './retry/backoff.js';
31
+ export type { Jitter } from './retry/jitter.js';
32
+ export { timeout, type TimeoutOptions } from './timeout/timeout.js';
33
+ export { circuitBreaker } from './circuit-breaker/circuit-breaker.js';
34
+ export { circuitStateGauge } from './circuit-breaker/circuit-state-gauge.js';
35
+ export type { CircuitBreakerOptions } from './circuit-breaker/circuit-breaker-options.js';
36
+ export type { CircuitState } from './circuit-breaker/circuit-state.js';
37
+ export type { CircuitStateChange } from './circuit-breaker/circuit-state-change.js';
38
+ export { cached, type CachedOptions } from './cached/cached.js';
39
+ export { bulkhead } from './bulkhead/bulkhead.js';
40
+ export type { BulkheadOptions } from './bulkhead/bulkhead-options.js';
41
+ export type { StateScope } from './state/state-scope.js';
42
+ export { aspects, type DecoratedBinding } from './di/aspects.js';
43
+ export { loggingMiddleware, type LoggingMiddlewareOptions } from './observability/logging-middleware.js';
44
+ export { metricsMiddleware, type MetricsMiddlewareOptions } from './observability/metrics-middleware.js';
45
+ export { StdoutLogger, type StdoutLoggerOptions } from './observability/stdout-logger.js';
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,YAAY,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ export { compose } from './aspect/compose.js';
2
+ export { defineAspect } from './aspect/define-aspect.js';
3
+ export { when } from './aspect/when.js';
4
+ export { LIFECYCLE_HOOKS } from './weaving/lifecycle-hooks.js';
5
+ export { allOf, anyOf, forClasses, forContext, forKinds, forMethods, not } from './aspect/selectors.js';
6
+ export { AspectRuntimeError } from './runtime/aspect-runtime-error.js';
7
+ export { installAspectRuntime } from './runtime/installed-runtime.js';
8
+ export { systemScheduler } from './runtime/system-scheduler.js';
9
+ export { Scheduler } from './runtime/scheduler.js';
10
+ export { BULKHEAD_FULL, BulkheadFullError } from './errors/bulkhead-full-error.js';
11
+ export { CIRCUIT_OPEN, CircuitOpenError } from './errors/circuit-open-error.js';
12
+ export { TIMEOUT, TimeoutError } from './errors/timeout-error.js';
13
+ export { AspectNotAllowedError } from './errors/aspect-not-allowed-error.js';
14
+ export { logged } from './observability/logged.js';
15
+ export { timed } from './observability/timed.js';
16
+ export { retry } from './retry/retry.js';
17
+ export { delayBeforeRetry } from './retry/delay-before-retry.js';
18
+ export { fullJitter } from './retry/full-jitter.js';
19
+ export { isTransient } from './retry/is-transient.js';
20
+ export { noJitter } from './retry/no-jitter.js';
21
+ export { timeout } from './timeout/timeout.js';
22
+ export { circuitBreaker } from './circuit-breaker/circuit-breaker.js';
23
+ export { circuitStateGauge } from './circuit-breaker/circuit-state-gauge.js';
24
+ export { cached } from './cached/cached.js';
25
+ export { bulkhead } from './bulkhead/bulkhead.js';
26
+ export { aspects } from './di/aspects.js';
27
+ export { loggingMiddleware } from './observability/logging-middleware.js';
28
+ export { metricsMiddleware } from './observability/metrics-middleware.js';
29
+ export { StdoutLogger } from './observability/stdout-logger.js';
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AASxC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAsB,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAqB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,EAAqB,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAuB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAI7E,OAAO,EAAE,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAyB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAiC,MAAM,uCAAuC,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAiC,MAAM,uCAAuC,CAAC;AACzG,OAAO,EAAE,YAAY,EAA4B,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Clock, LogFields, LogLevel, Logger } from '@ddd-ts-kit/kernel';
2
+ export interface LoggedCall {
3
+ readonly logger: Logger;
4
+ readonly clock: Clock;
5
+ readonly level: LogLevel;
6
+ /** What is called, as the entries name it. */
7
+ readonly operation: string;
8
+ /** Read for an entry that is written, never for one below the level of the logger. */
9
+ readonly fields: () => LogFields;
10
+ }
11
+ /** The three entries of one call: started, then succeeded or failed with the duration. */
12
+ export declare function logCall<T>(call: LoggedCall, proceed: () => Promise<T>): Promise<T>;
13
+ //# sourceMappingURL=log-call.d.ts.map