@shivaedev/jobs 0.31.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +75 -30
  3. package/dist/server/adapters/inspection.d.ts +5 -0
  4. package/dist/server/adapters/inspection.d.ts.map +1 -0
  5. package/dist/server/adapters/inspection.js +25 -0
  6. package/dist/server/adapters/inspection.js.map +1 -0
  7. package/dist/server/adapters/inspectionChanges.d.ts +7 -0
  8. package/dist/server/adapters/inspectionChanges.d.ts.map +1 -0
  9. package/dist/server/adapters/inspectionChanges.js +23 -0
  10. package/dist/server/adapters/inspectionChanges.js.map +1 -0
  11. package/dist/server/adapters/inspectionDeferrals.d.ts +10 -0
  12. package/dist/server/adapters/inspectionDeferrals.d.ts.map +1 -0
  13. package/dist/server/adapters/inspectionDeferrals.js +13 -0
  14. package/dist/server/adapters/inspectionDeferrals.js.map +1 -0
  15. package/dist/server/adapters/inspectionJobs.d.ts +50 -0
  16. package/dist/server/adapters/inspectionJobs.d.ts.map +1 -0
  17. package/dist/server/adapters/inspectionJobs.js +21 -0
  18. package/dist/server/adapters/inspectionJobs.js.map +1 -0
  19. package/dist/server/adapters/inspectionOperation.d.ts +3 -0
  20. package/dist/server/adapters/inspectionOperation.d.ts.map +1 -0
  21. package/dist/server/adapters/inspectionOperation.js +6 -0
  22. package/dist/server/adapters/inspectionOperation.js.map +1 -0
  23. package/dist/server/adapters/inspectionPlan.d.ts +3 -0
  24. package/dist/server/adapters/inspectionPlan.d.ts.map +1 -0
  25. package/dist/server/adapters/inspectionPlan.js +20 -0
  26. package/dist/server/adapters/inspectionPlan.js.map +1 -0
  27. package/dist/server/adapters/inspectionReads.d.ts +59 -0
  28. package/dist/server/adapters/inspectionReads.d.ts.map +1 -0
  29. package/dist/server/adapters/inspectionReads.js +44 -0
  30. package/dist/server/adapters/inspectionReads.js.map +1 -0
  31. package/dist/server/adapters/inspectionSnapshot.d.ts +6 -0
  32. package/dist/server/adapters/inspectionSnapshot.d.ts.map +1 -0
  33. package/dist/server/{internal/testingSnapshot.js → adapters/inspectionSnapshot.js} +9 -7
  34. package/dist/server/adapters/inspectionSnapshot.js.map +1 -0
  35. package/dist/server/adapters/jobEngine.d.ts.map +1 -1
  36. package/dist/server/adapters/jobEngine.js +0 -4
  37. package/dist/server/adapters/jobEngine.js.map +1 -1
  38. package/dist/server/adapters/payloadIdentity.d.ts +3 -0
  39. package/dist/server/adapters/payloadIdentity.d.ts.map +1 -0
  40. package/dist/server/adapters/payloadIdentity.js +14 -0
  41. package/dist/server/adapters/payloadIdentity.js.map +1 -0
  42. package/dist/server/{internal/testingSignal.d.ts → adapters/queueSignal.d.ts} +2 -2
  43. package/dist/server/adapters/queueSignal.d.ts.map +1 -0
  44. package/dist/server/{internal/testingSignal.js → adapters/queueSignal.js} +2 -2
  45. package/dist/server/adapters/queueSignal.js.map +1 -0
  46. package/dist/server/adapters/settleDeferral.d.ts.map +1 -1
  47. package/dist/server/adapters/settleDeferral.js +8 -2
  48. package/dist/server/adapters/settleDeferral.js.map +1 -1
  49. package/dist/server/adapters/testingClient.d.ts +1 -2
  50. package/dist/server/adapters/testingClient.d.ts.map +1 -1
  51. package/dist/server/adapters/testingClient.js +25 -45
  52. package/dist/server/adapters/testingClient.js.map +1 -1
  53. package/dist/server/adapters/testingController.d.ts +58 -12
  54. package/dist/server/adapters/testingController.d.ts.map +1 -1
  55. package/dist/server/adapters/testingController.js +40 -18
  56. package/dist/server/adapters/testingController.js.map +1 -1
  57. package/dist/server/adapters/testingDueNow.js +1 -1
  58. package/dist/server/adapters/testingDueNow.js.map +1 -1
  59. package/dist/server/adapters/testingEngine.d.ts.map +1 -1
  60. package/dist/server/adapters/testingEngine.js +0 -11
  61. package/dist/server/adapters/testingEngine.js.map +1 -1
  62. package/dist/server/adapters/testingInspectionClient.d.ts +5 -0
  63. package/dist/server/adapters/testingInspectionClient.d.ts.map +1 -0
  64. package/dist/server/adapters/testingInspectionClient.js +52 -0
  65. package/dist/server/adapters/testingInspectionClient.js.map +1 -0
  66. package/dist/server/adapters/testingTime.d.ts +10 -0
  67. package/dist/server/adapters/testingTime.d.ts.map +1 -0
  68. package/dist/server/adapters/testingTime.js +18 -0
  69. package/dist/server/adapters/testingTime.js.map +1 -0
  70. package/dist/server/client.d.ts +3 -0
  71. package/dist/server/client.d.ts.map +1 -1
  72. package/dist/server/clientOptions.d.ts +0 -1
  73. package/dist/server/clientOptions.d.ts.map +1 -1
  74. package/dist/server/definition.d.ts +12 -11
  75. package/dist/server/definition.d.ts.map +1 -1
  76. package/dist/server/definition.js +2 -1
  77. package/dist/server/definition.js.map +1 -1
  78. package/dist/server/engineClient.d.ts +0 -5
  79. package/dist/server/engineClient.d.ts.map +1 -1
  80. package/dist/server/enqueueOptions.d.ts +6 -0
  81. package/dist/server/enqueueOptions.d.ts.map +1 -1
  82. package/dist/server/error.d.ts +1 -1
  83. package/dist/server/error.d.ts.map +1 -1
  84. package/dist/server/error.js.map +1 -1
  85. package/dist/server/inspection.d.ts +102 -0
  86. package/dist/server/inspection.d.ts.map +1 -0
  87. package/dist/server/inspection.js +30 -0
  88. package/dist/server/inspection.js.map +1 -0
  89. package/dist/server/internal/adapters/deferralChanges.d.ts +3 -0
  90. package/dist/server/internal/adapters/deferralChanges.d.ts.map +1 -0
  91. package/dist/server/internal/adapters/deferralChanges.js +2 -0
  92. package/dist/server/internal/adapters/deferralChanges.js.map +1 -0
  93. package/dist/server/internal/adapters/testingFetches.d.ts +2 -2
  94. package/dist/server/internal/adapters/testingFetches.d.ts.map +1 -1
  95. package/dist/server/internal/adapters/testingFetches.js.map +1 -1
  96. package/dist/server/internal/deferral.d.ts +0 -2
  97. package/dist/server/internal/deferral.d.ts.map +1 -1
  98. package/dist/server/internal/deferral.js +0 -1
  99. package/dist/server/internal/deferral.js.map +1 -1
  100. package/dist/server/internal/engine.d.ts +0 -5
  101. package/dist/server/internal/engine.d.ts.map +1 -1
  102. package/dist/server/internal/engine.js.map +1 -1
  103. package/dist/server/internal/enqueueFor.d.ts.map +1 -1
  104. package/dist/server/internal/enqueueFor.js +11 -1
  105. package/dist/server/internal/enqueueFor.js.map +1 -1
  106. package/dist/server/internal/jobStorePlans.d.ts.map +1 -1
  107. package/dist/server/internal/jobStorePlans.js +2 -1
  108. package/dist/server/internal/jobStorePlans.js.map +1 -1
  109. package/dist/server/internal/makeService.d.ts.map +1 -1
  110. package/dist/server/internal/makeService.js +7 -6
  111. package/dist/server/internal/makeService.js.map +1 -1
  112. package/dist/server/internal/register.d.ts.map +1 -1
  113. package/dist/server/internal/register.js +0 -4
  114. package/dist/server/internal/register.js.map +1 -1
  115. package/dist/server/internal/testingIdle.d.ts +4 -3
  116. package/dist/server/internal/testingIdle.d.ts.map +1 -1
  117. package/dist/server/internal/testingIdle.js +7 -26
  118. package/dist/server/internal/testingIdle.js.map +1 -1
  119. package/dist/server/internal/testingOperation.d.ts +5 -0
  120. package/dist/server/internal/testingOperation.d.ts.map +1 -0
  121. package/dist/server/internal/testingOperation.js +12 -0
  122. package/dist/server/internal/testingOperation.js.map +1 -0
  123. package/dist/server/internal/testingSchedules.d.ts +8 -5
  124. package/dist/server/internal/testingSchedules.d.ts.map +1 -1
  125. package/dist/server/internal/testingSchedules.js +14 -9
  126. package/dist/server/internal/testingSchedules.js.map +1 -1
  127. package/dist/server/internal/testingWaits.d.ts +7 -4
  128. package/dist/server/internal/testingWaits.d.ts.map +1 -1
  129. package/dist/server/internal/testingWaits.js +7 -10
  130. package/dist/server/internal/testingWaits.js.map +1 -1
  131. package/dist/server/schema.d.ts.map +1 -1
  132. package/dist/server/schema.js +5 -0
  133. package/dist/server/schema.js.map +1 -1
  134. package/dist/server/service.d.ts +4 -4
  135. package/dist/server/service.d.ts.map +1 -1
  136. package/dist/server/service.js +1 -0
  137. package/dist/server/service.js.map +1 -1
  138. package/dist/server/testing.d.ts +63 -25
  139. package/dist/server/testing.d.ts.map +1 -1
  140. package/dist/server/testing.js.map +1 -1
  141. package/package.json +7 -7
  142. package/src/server/adapters/inspection.ts +31 -0
  143. package/src/server/adapters/inspectionChanges.ts +31 -0
  144. package/src/server/{internal/testingDeferrals.ts → adapters/inspectionDeferrals.ts} +10 -12
  145. package/src/server/adapters/inspectionJobs.ts +28 -0
  146. package/src/server/adapters/inspectionOperation.ts +6 -0
  147. package/src/server/adapters/inspectionPlan.ts +21 -0
  148. package/src/server/adapters/inspectionReads.ts +55 -0
  149. package/src/server/{internal/testingSnapshot.ts → adapters/inspectionSnapshot.ts} +15 -17
  150. package/src/server/adapters/jobEngine.ts +0 -4
  151. package/src/server/adapters/payloadIdentity.ts +15 -0
  152. package/src/server/{internal/testingSignal.ts → adapters/queueSignal.ts} +1 -1
  153. package/src/server/adapters/settleDeferral.ts +8 -2
  154. package/src/server/adapters/testingClient.ts +11 -30
  155. package/src/server/adapters/testingController.ts +49 -21
  156. package/src/server/adapters/testingDueNow.ts +1 -1
  157. package/src/server/adapters/testingEngine.ts +0 -13
  158. package/src/server/adapters/testingInspectionClient.ts +70 -0
  159. package/src/server/adapters/testingTime.ts +25 -0
  160. package/src/server/client.ts +3 -0
  161. package/src/server/clientOptions.ts +0 -1
  162. package/src/server/definition.ts +18 -12
  163. package/src/server/engineClient.ts +0 -2
  164. package/src/server/enqueueOptions.ts +5 -0
  165. package/src/server/error.ts +1 -0
  166. package/src/server/inspection.ts +50 -0
  167. package/src/server/internal/adapters/deferralChanges.ts +3 -0
  168. package/src/server/internal/adapters/testingFetches.ts +2 -2
  169. package/src/server/internal/deferral.ts +0 -2
  170. package/src/server/internal/engine.ts +0 -6
  171. package/src/server/internal/enqueueFor.ts +14 -1
  172. package/src/server/internal/jobStorePlans.ts +2 -1
  173. package/src/server/internal/makeService.ts +7 -6
  174. package/src/server/internal/register.ts +0 -4
  175. package/src/server/internal/testingIdle.ts +10 -31
  176. package/src/server/internal/testingOperation.ts +18 -0
  177. package/src/server/internal/testingSchedules.ts +28 -16
  178. package/src/server/internal/testingWaits.ts +11 -16
  179. package/src/server/schema.ts +5 -0
  180. package/src/server/service.ts +5 -2
  181. package/src/server/testing.ts +3 -12
  182. package/dist/server/adapters/observeTestingSettlements.d.ts +0 -6
  183. package/dist/server/adapters/observeTestingSettlements.d.ts.map +0 -1
  184. package/dist/server/adapters/observeTestingSettlements.js +0 -35
  185. package/dist/server/adapters/observeTestingSettlements.js.map +0 -1
  186. package/dist/server/internal/testingDeferrals.d.ts +0 -10
  187. package/dist/server/internal/testingDeferrals.d.ts.map +0 -1
  188. package/dist/server/internal/testingDeferrals.js +0 -15
  189. package/dist/server/internal/testingDeferrals.js.map +0 -1
  190. package/dist/server/internal/testingReadout.d.ts +0 -10
  191. package/dist/server/internal/testingReadout.d.ts.map +0 -1
  192. package/dist/server/internal/testingReadout.js +0 -13
  193. package/dist/server/internal/testingReadout.js.map +0 -1
  194. package/dist/server/internal/testingRegistrations.d.ts +0 -4
  195. package/dist/server/internal/testingRegistrations.d.ts.map +0 -1
  196. package/dist/server/internal/testingRegistrations.js +0 -8
  197. package/dist/server/internal/testingRegistrations.js.map +0 -1
  198. package/dist/server/internal/testingSignal.d.ts.map +0 -1
  199. package/dist/server/internal/testingSignal.js.map +0 -1
  200. package/dist/server/internal/testingSnapshot.d.ts +0 -6
  201. package/dist/server/internal/testingSnapshot.d.ts.map +0 -1
  202. package/dist/server/internal/testingSnapshot.js.map +0 -1
  203. package/src/server/adapters/observeTestingSettlements.ts +0 -36
  204. package/src/server/internal/testingReadout.ts +0 -25
  205. package/src/server/internal/testingRegistrations.ts +0 -10
@@ -1,13 +0,0 @@
1
- import { Effect, Redacted } from "effect";
2
- import { PgBossTestingError } from "#server/error.ts";
3
- import { decodeStoredData } from "#server/internal/storedRows.ts";
4
- export function testingOperation(operation, run, queue) {
5
- return Effect.tryPromise({
6
- catch: (original) => new PgBossTestingError({ operation, original: Redacted.make(original), queue }),
7
- try: run,
8
- });
9
- }
10
- export function testingReadout(client) {
11
- return (queue, options) => testingOperation("jobs", () => client().findJobs(queue.name, options), queue.name).pipe(Effect.flatMap((jobs) => Effect.forEach(jobs, (job) => decodeStoredData(queue, job.data).pipe(Effect.map((data) => ({ ...job, data }))))));
12
- }
13
- //# sourceMappingURL=testingReadout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingReadout.js","sourceRoot":"","sources":["../../../src/server/internal/testingReadout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAK1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,MAAM,UAAU,gBAAgB,CAAI,SAAiB,EAAE,GAAqB,EAAE,KAAc;IAC3F,OAAO,MAAM,CAAC,UAAU,CAAC;QACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QACpG,GAAG,EAAE,GAAG;KACR,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA0B;IACxD,OAAO,CACN,KAAuC,EACvC,OAAwB,EACwF,EAAE,CAClH,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAU,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAC/F,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACzI,CAAC;AACJ,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { PgBossClient } from "#server/client.ts";
2
- export declare const testingRegistration: unique symbol;
3
- export declare function registerTestingQueue(client: PgBossClient, name: string): void;
4
- //# sourceMappingURL=testingRegistrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingRegistrations.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingRegistrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,mBAAmB,eAAsC,CAAC;AAEvE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAKtE"}
@@ -1,8 +0,0 @@
1
- export const testingRegistration = Symbol("jobs testing registration");
2
- export function registerTestingQueue(client, name) {
3
- const observe = Reflect.get(client, testingRegistration);
4
- if (typeof observe === "function") {
5
- observe(name);
6
- }
7
- }
8
- //# sourceMappingURL=testingRegistrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingRegistrations.js","sourceRoot":"","sources":["../../../src/server/internal/testingRegistrations.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEvE,MAAM,UAAU,oBAAoB,CAAC,MAAoB,EAAE,IAAY;IACtE,MAAM,OAAO,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAClE,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;AACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingSignal.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,wBAAgB,aAAa;IAI3B,OAAO;IASP,QAAQ;IACR,aAAa,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;EAatD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingSignal.js","sourceRoot":"","sources":["../../../src/server/internal/testingSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,UAAU,aAAa;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IACxD,OAAO;QACN,OAAO;YACN,QAAQ,IAAI,CAAC,CAAC;YACd,iGAAiG;YACjG,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;QACD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;QACrC,aAAa,EAAE,CAAC,KAAa,EAAyB,EAAE,CACvD,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjC,OAAO;YACR,CAAC;YACD,SAAS,QAAQ,CAAC,OAAe;gBAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC;KACH,CAAC;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Effect } from "effect";
2
- import type { EngineClient } from "#server/engineClient.ts";
3
- import type { PgBossPayloadError, PgBossTestingError } from "#server/error.ts";
4
- import type { SnapshotQueue, UnfinishedJob } from "#server/testing.ts";
5
- export declare function testingSnapshot(client: () => EngineClient, schema: () => string): <const TQueues extends readonly SnapshotQueue[]>(queues: TQueues) => Effect.Effect<readonly UnfinishedJob<TQueues[number]>[], PgBossPayloadError | PgBossTestingError, TQueues[number]["schema"]["DecodingServices"]>;
6
- //# sourceMappingURL=testingSnapshot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingSnapshot.d.ts","sourceRoot":"","sources":["../../../src/server/internal/testingSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG/E,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYvE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,IACvE,KAAK,CAAC,OAAO,SAAS,SAAS,aAAa,EAAE,UAC7C,OAAO,KACb,MAAM,CAAC,MAAM,CACf,SAAS,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EACzC,kBAAkB,GAAG,kBAAkB,EACvC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAC7C,CA+BD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingSnapshot.js","sourceRoot":"","sources":["../../../src/server/internal/testingSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAGtE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CACxB,MAAM,CAAC,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,UAAU,EAAE,MAAM,CAAC,mBAAmB;IACtC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC5E,CAAC,CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,MAA0B,EAAE,MAAoB;IAC/E,OAAO,CACN,MAAe,EAKd,EAAE;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAA0B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5F,OAAO,gBAAgB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,EAAE;iBAC7B,KAAK,EAAE;iBACP,UAAU,CACV;0EACqE,MAAM;;;YAGpE,MAAM;;6BAEW,EACxB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CACpB,CAAC;YACH,OAAO,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,IAAI,CACN,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,uDAAuD,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO,gBAAgB,CAAqD,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAC5F,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAkC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CACvG,CAAC;QACH,CAAC,CAAC,CACF,CACD,CAAC;IACH,CAAC,CAAC;AACH,CAAC"}
@@ -1,36 +0,0 @@
1
- import type { EngineClient } from "#server/engineClient.ts";
2
-
3
- export function observeTestingSettlements(client: EngineClient, settled: (name: string) => void) {
4
- const observers = new Map<string, () => void>();
5
- return {
6
- close() {
7
- for (const close of observers.values()) {
8
- close();
9
- }
10
- observers.clear();
11
- },
12
- watch(name: string) {
13
- if (observers.has(name)) {
14
- return;
15
- }
16
- const spy = client.getSpy(name);
17
- let open = true;
18
- async function observe() {
19
- while (true) {
20
- await Promise.race([spy.waitForJob(() => true, "completed"), spy.waitForJob(() => true, "failed")]);
21
- if (!open) {
22
- return;
23
- }
24
- // This controller owns the spy; clear history and the losing wait before rearming both outcomes.
25
- spy.clear();
26
- settled(name);
27
- }
28
- }
29
- observers.set(name, () => {
30
- open = false;
31
- spy.clear();
32
- });
33
- void observe().catch((error: unknown) => client.emit("error", error instanceof Error ? error : new Error(String(error))));
34
- },
35
- };
36
- }
@@ -1,25 +0,0 @@
1
- import { Effect, Redacted } from "effect";
2
- import type { JobReadOptions } from "#server/client.ts";
3
- import type { JobPayloadSchema, QueueDefinition } from "#server/definition.ts";
4
- import type { EngineClient } from "#server/engineClient.ts";
5
- import type { PgBossPayloadError } from "#server/error.ts";
6
- import { PgBossTestingError } from "#server/error.ts";
7
- import { decodeStoredData } from "#server/internal/storedRows.ts";
8
- import type { Job } from "#server/job.ts";
9
-
10
- export function testingOperation<A>(operation: string, run: () => Promise<A>, queue?: string) {
11
- return Effect.tryPromise({
12
- catch: (original) => new PgBossTestingError({ operation, original: Redacted.make(original), queue }),
13
- try: run,
14
- });
15
- }
16
-
17
- export function testingReadout(client: () => EngineClient) {
18
- return <TName extends string, TPayload extends JobPayloadSchema>(
19
- queue: QueueDefinition<TName, TPayload>,
20
- options?: JobReadOptions,
21
- ): Effect.Effect<Job<TPayload["Type"]>[], PgBossTestingError | PgBossPayloadError, TPayload["DecodingServices"]> =>
22
- testingOperation("jobs", () => client().findJobs<unknown>(queue.name, options), queue.name).pipe(
23
- Effect.flatMap((jobs) => Effect.forEach(jobs, (job) => decodeStoredData(queue, job.data).pipe(Effect.map((data) => ({ ...job, data }))))),
24
- );
25
- }
@@ -1,10 +0,0 @@
1
- import type { PgBossClient } from "#server/client.ts";
2
-
3
- export const testingRegistration = Symbol("jobs testing registration");
4
-
5
- export function registerTestingQueue(client: PgBossClient, name: string) {
6
- const observe: unknown = Reflect.get(client, testingRegistration);
7
- if (typeof observe === "function") {
8
- observe(name);
9
- }
10
- }