@songfreedom/sse-client 0.1.0 → 0.1.2

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.
package/types.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,EAAE,CAAC,CAAC;IACR,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,WAAW;AACX,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;AAEnF,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEtD,wCAAwC;AACxC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,WAAW;AACX,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,uGAAuG;IACvG,EAAE,EAAE,MAAM,CAAC;IACX,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,IAAI,EAAE,CAAC,CAAC;IACR,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;AAEnF,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEtD,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC"}
package/vue.d.ts CHANGED
@@ -2,34 +2,34 @@ import { type Ref, type ShallowRef } from "vue";
2
2
  import { SSEClient, type SSEClientOptions } from "./client.js";
3
3
  import type { SSEError } from "./errors.js";
4
4
  import type { SSEEventMap, SSEMessage, SSEStatus } from "./types.js";
5
- /** `useSSE` 的参数 */
5
+ /** Options for `useSSE`. */
6
6
  export interface UseSSEOptions extends SSEClientOptions {
7
- /** 是否立即连接,默认 true */
7
+ /** Connect immediately, defaults to true. */
8
8
  immediate?: boolean;
9
- /** 本地保留的最近事件条数,默认 200;传 0 表示不缓存 */
9
+ /** How many recent messages to keep, defaults to 200. Pass 0 to keep only the latest one. */
10
10
  maxEvents?: number;
11
11
  }
12
- /** `useSSE` 的返回值 */
12
+ /** Return value of `useSSE`. */
13
13
  export interface UseSSEReturn<E extends object = SSEEventMap> {
14
- /** 底层客户端,用于订阅具体事件名 */
14
+ /** Underlying client, use it to subscribe to specific event names. */
15
15
  client: SSEClient<E>;
16
- /** 连接状态,可直接绑定到 UI */
16
+ /** Connection state, ready to bind to the UI. */
17
17
  status: Ref<SSEStatus>;
18
- /** 最近一条消息 */
18
+ /** Most recent message. */
19
19
  lastEvent: ShallowRef<SSEMessage | null>;
20
- /** 最近若干条消息(环形缓冲) */
20
+ /** Recent messages, kept in a ring buffer. */
21
21
  events: ShallowRef<SSEMessage[]>;
22
- /** 最近一次连接错误 */
22
+ /** Most recent connection error. */
23
23
  error: ShallowRef<SSEError | null>;
24
24
  start: () => void;
25
25
  stop: () => void;
26
- /** 断开后重连(保留 lastEventId) */
26
+ /** Reconnect while keeping `lastEventId` so the server can resume. */
27
27
  restart: () => void;
28
- /** 订阅事件名并在作用域销毁时自动退订 */
28
+ /** Subscribe to an event name and unsubscribe automatically when the scope is disposed. */
29
29
  on: SSEClient<E>["on"];
30
30
  }
31
31
  /**
32
- * Vue 组合式封装:自动重连、事件缓存、卸载自动断开。
32
+ * Vue composable: auto-reconnect, message ring buffer, cleanup on unmount.
33
33
  *
34
34
  * ```ts
35
35
  * interface AlarmEvent { level: "high" | "low"; deviceId: string }
package/vue.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,UAAU,EAChB,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAErE,mBAAmB;AACnB,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,qBAAqB;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oBAAoB;AACpB,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW;IAC1D,sBAAsB;IACtB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,qBAAqB;IACrB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,aAAa;IACb,SAAS,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACzC,oBAAoB;IACpB,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IACjC,eAAe;IACf,KAAK,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wBAAwB;IACxB,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,EACnD,OAAO,EAAE,aAAa,GACrB,YAAY,CAAC,CAAC,CAAC,CA+DjB"}
1
+ {"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACR,KAAK,UAAU,EAChB,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAErE,4BAA4B;AAC5B,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gCAAgC;AAChC,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW;IAC1D,sEAAsE;IACtE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,iDAAiD;IACjD,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,2BAA2B;IAC3B,SAAS,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACzC,8CAA8C;IAC9C,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IACjC,oCAAoC;IACpC,KAAK,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,sEAAsE;IACtE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,2FAA2F;IAC3F,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,EACnD,OAAO,EAAE,aAAa,GACrB,YAAY,CAAC,CAAC,CAAC,CAgEjB"}
package/vue.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { getCurrentScope, onScopeDispose, ref, shallowRef, } from "vue";
2
2
  import { SSEClient } from "./client.js";
3
3
  /**
4
- * Vue 组合式封装:自动重连、事件缓存、卸载自动断开。
4
+ * Vue composable: auto-reconnect, message ring buffer, cleanup on unmount.
5
5
  *
6
6
  * ```ts
7
7
  * interface AlarmEvent { level: "high" | "low"; deviceId: string }
@@ -36,7 +36,7 @@ export function useSSE(options) {
36
36
  const keep = maxEvents - 1;
37
37
  const next = keep > 0 ? events.value.slice(-keep) : [];
38
38
  next.push(message);
39
- // 替换数组引用,保证 shallowRef 能触发更新且不深度代理消息负载
39
+ // Replace the array so a shallowRef triggers, without deep-proxying payloads.
40
40
  events.value = next;
41
41
  }
42
42
  clientOptions.onMessage?.(message);
@@ -52,7 +52,8 @@ export function useSSE(options) {
52
52
  const restart = () => {
53
53
  client.restart();
54
54
  };
55
- // 订阅跟着作用域走:在 setup 期间调用 on() 时,组件卸载 / qiankun 子应用 unmount 会自动退订
55
+ // Subscriptions follow the scope: unmounting a component (or a qiankun
56
+ // sub-app) unsubscribes automatically.
56
57
  const on = ((event, handler) => {
57
58
  const unsubscribe = client.on(event, handler);
58
59
  if (getCurrentScope()) {
package/vue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vue.js","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vue.js","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"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"}