@open-mercato/shared 0.4.5-develop-995ce486fa → 0.4.5-develop-17cfa89764

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.
@@ -0,0 +1,41 @@
1
+ const PROGRESS_DOM_EVENTS = {
2
+ UPDATE: "om:progress:update",
3
+ COMPLETE: "om:progress:complete",
4
+ ERROR: "om:progress:error",
5
+ CANCELLED: "om:progress:cancelled"
6
+ };
7
+ function emitProgressUpdate(detail) {
8
+ if (typeof window === "undefined" || typeof CustomEvent === "undefined") return;
9
+ window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.UPDATE, { detail }));
10
+ }
11
+ function emitProgressComplete(jobId, jobType) {
12
+ if (typeof window === "undefined" || typeof CustomEvent === "undefined") return;
13
+ window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.COMPLETE, { detail: { jobId, jobType } }));
14
+ }
15
+ function emitProgressError(jobId, errorMessage) {
16
+ if (typeof window === "undefined" || typeof CustomEvent === "undefined") return;
17
+ window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.ERROR, { detail: { jobId, errorMessage } }));
18
+ }
19
+ function subscribeProgressUpdate(handler) {
20
+ if (typeof window === "undefined") return () => {
21
+ };
22
+ const listener = (event) => handler(event.detail);
23
+ window.addEventListener(PROGRESS_DOM_EVENTS.UPDATE, listener);
24
+ return () => window.removeEventListener(PROGRESS_DOM_EVENTS.UPDATE, listener);
25
+ }
26
+ function subscribeProgressComplete(handler) {
27
+ if (typeof window === "undefined") return () => {
28
+ };
29
+ const listener = (event) => handler(event.detail);
30
+ window.addEventListener(PROGRESS_DOM_EVENTS.COMPLETE, listener);
31
+ return () => window.removeEventListener(PROGRESS_DOM_EVENTS.COMPLETE, listener);
32
+ }
33
+ export {
34
+ PROGRESS_DOM_EVENTS,
35
+ emitProgressComplete,
36
+ emitProgressError,
37
+ emitProgressUpdate,
38
+ subscribeProgressComplete,
39
+ subscribeProgressUpdate
40
+ };
41
+ //# sourceMappingURL=progressEvents.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/lib/frontend/progressEvents.ts"],
4
+ "sourcesContent": ["export const PROGRESS_DOM_EVENTS = {\n UPDATE: 'om:progress:update',\n COMPLETE: 'om:progress:complete',\n ERROR: 'om:progress:error',\n CANCELLED: 'om:progress:cancelled',\n} as const\n\nexport type ProgressUpdateDetail = {\n jobId: string\n jobType: string\n name: string\n progressPercent: number\n processedCount: number\n totalCount?: number | null\n etaSeconds?: number | null\n status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled'\n}\n\nexport function emitProgressUpdate(detail: ProgressUpdateDetail): void {\n if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') return\n window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.UPDATE, { detail }))\n}\n\nexport function emitProgressComplete(jobId: string, jobType: string): void {\n if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') return\n window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.COMPLETE, { detail: { jobId, jobType } }))\n}\n\nexport function emitProgressError(jobId: string, errorMessage: string): void {\n if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') return\n window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.ERROR, { detail: { jobId, errorMessage } }))\n}\n\nexport function subscribeProgressUpdate(handler: (detail: ProgressUpdateDetail) => void): () => void {\n if (typeof window === 'undefined') return () => {}\n const listener = (event: Event) => handler((event as CustomEvent<ProgressUpdateDetail>).detail)\n window.addEventListener(PROGRESS_DOM_EVENTS.UPDATE, listener)\n return () => window.removeEventListener(PROGRESS_DOM_EVENTS.UPDATE, listener)\n}\n\nexport function subscribeProgressComplete(handler: (detail: { jobId: string; jobType: string }) => void): () => void {\n if (typeof window === 'undefined') return () => {}\n const listener = (event: Event) => handler((event as CustomEvent<{ jobId: string; jobType: string }>).detail)\n window.addEventListener(PROGRESS_DOM_EVENTS.COMPLETE, listener)\n return () => window.removeEventListener(PROGRESS_DOM_EVENTS.COMPLETE, listener)\n}\n"],
5
+ "mappings": "AAAO,MAAM,sBAAsB;AAAA,EACjC,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,WAAW;AACb;AAaO,SAAS,mBAAmB,QAAoC;AACrE,MAAI,OAAO,WAAW,eAAe,OAAO,gBAAgB,YAAa;AACzE,SAAO,cAAc,IAAI,YAAY,oBAAoB,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9E;AAEO,SAAS,qBAAqB,OAAe,SAAuB;AACzE,MAAI,OAAO,WAAW,eAAe,OAAO,gBAAgB,YAAa;AACzE,SAAO,cAAc,IAAI,YAAY,oBAAoB,UAAU,EAAE,QAAQ,EAAE,OAAO,QAAQ,EAAE,CAAC,CAAC;AACpG;AAEO,SAAS,kBAAkB,OAAe,cAA4B;AAC3E,MAAI,OAAO,WAAW,eAAe,OAAO,gBAAgB,YAAa;AACzE,SAAO,cAAc,IAAI,YAAY,oBAAoB,OAAO,EAAE,QAAQ,EAAE,OAAO,aAAa,EAAE,CAAC,CAAC;AACtG;AAEO,SAAS,wBAAwB,SAA6D;AACnG,MAAI,OAAO,WAAW,YAAa,QAAO,MAAM;AAAA,EAAC;AACjD,QAAM,WAAW,CAAC,UAAiB,QAAS,MAA4C,MAAM;AAC9F,SAAO,iBAAiB,oBAAoB,QAAQ,QAAQ;AAC5D,SAAO,MAAM,OAAO,oBAAoB,oBAAoB,QAAQ,QAAQ;AAC9E;AAEO,SAAS,0BAA0B,SAA2E;AACnH,MAAI,OAAO,WAAW,YAAa,QAAO,MAAM;AAAA,EAAC;AACjD,QAAM,WAAW,CAAC,UAAiB,QAAS,MAA0D,MAAM;AAC5G,SAAO,iBAAiB,oBAAoB,UAAU,QAAQ;AAC9D,SAAO,MAAM,OAAO,oBAAoB,oBAAoB,UAAU,QAAQ;AAChF;",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- const APP_VERSION = "0.4.5-develop-995ce486fa";
1
+ const APP_VERSION = "0.4.5-develop-17cfa89764";
2
2
  const appVersion = APP_VERSION;
3
3
  export {
4
4
  APP_VERSION,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/version.ts"],
4
- "sourcesContent": ["// Build-time generated version\nexport const APP_VERSION = '0.4.5-develop-995ce486fa'\nexport const appVersion = APP_VERSION\n"],
4
+ "sourcesContent": ["// Build-time generated version\nexport const APP_VERSION = '0.4.5-develop-17cfa89764'\nexport const appVersion = APP_VERSION\n"],
5
5
  "mappings": "AACO,MAAM,cAAc;AACpB,MAAM,aAAa;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-mercato/shared",
3
- "version": "0.4.5-develop-995ce486fa",
3
+ "version": "0.4.5-develop-17cfa89764",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -0,0 +1,46 @@
1
+ export const PROGRESS_DOM_EVENTS = {
2
+ UPDATE: 'om:progress:update',
3
+ COMPLETE: 'om:progress:complete',
4
+ ERROR: 'om:progress:error',
5
+ CANCELLED: 'om:progress:cancelled',
6
+ } as const
7
+
8
+ export type ProgressUpdateDetail = {
9
+ jobId: string
10
+ jobType: string
11
+ name: string
12
+ progressPercent: number
13
+ processedCount: number
14
+ totalCount?: number | null
15
+ etaSeconds?: number | null
16
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled'
17
+ }
18
+
19
+ export function emitProgressUpdate(detail: ProgressUpdateDetail): void {
20
+ if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') return
21
+ window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.UPDATE, { detail }))
22
+ }
23
+
24
+ export function emitProgressComplete(jobId: string, jobType: string): void {
25
+ if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') return
26
+ window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.COMPLETE, { detail: { jobId, jobType } }))
27
+ }
28
+
29
+ export function emitProgressError(jobId: string, errorMessage: string): void {
30
+ if (typeof window === 'undefined' || typeof CustomEvent === 'undefined') return
31
+ window.dispatchEvent(new CustomEvent(PROGRESS_DOM_EVENTS.ERROR, { detail: { jobId, errorMessage } }))
32
+ }
33
+
34
+ export function subscribeProgressUpdate(handler: (detail: ProgressUpdateDetail) => void): () => void {
35
+ if (typeof window === 'undefined') return () => {}
36
+ const listener = (event: Event) => handler((event as CustomEvent<ProgressUpdateDetail>).detail)
37
+ window.addEventListener(PROGRESS_DOM_EVENTS.UPDATE, listener)
38
+ return () => window.removeEventListener(PROGRESS_DOM_EVENTS.UPDATE, listener)
39
+ }
40
+
41
+ export function subscribeProgressComplete(handler: (detail: { jobId: string; jobType: string }) => void): () => void {
42
+ if (typeof window === 'undefined') return () => {}
43
+ const listener = (event: Event) => handler((event as CustomEvent<{ jobId: string; jobType: string }>).detail)
44
+ window.addEventListener(PROGRESS_DOM_EVENTS.COMPLETE, listener)
45
+ return () => window.removeEventListener(PROGRESS_DOM_EVENTS.COMPLETE, listener)
46
+ }