@vc-shell/framework 2.4.0-pr299.e77d647 → 2.4.0-pr300.83479a4

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.
@@ -6,6 +6,7 @@ export * from "../composables/usePermissions";
6
6
  export * from "../composables/useAsync";
7
7
  export * from "../composables/useApiClient";
8
8
  export * from "../composables/useLoading";
9
+ export * from "../composables/useLatestRequest";
9
10
  export * from "../composables/useErrorHandler";
10
11
  export * from "../composables/useAssets";
11
12
  export * from "../composables/useAssetsManager";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { type Ref } from "vue";
2
+ export interface LatestRequest {
3
+ /** False once a newer request started, or once the tracker was invalidated or disposed. */
4
+ isCurrent(): boolean;
5
+ /** Marks this request finished. Idempotent; only the current request clears `pending`. */
6
+ complete(): void;
7
+ }
8
+ export interface UseLatestRequestReturn {
9
+ /** Starts a request and supersedes any earlier one. */
10
+ begin(): LatestRequest;
11
+ /** Supersedes the in-flight request without starting a new one — e.g. on selection change. */
12
+ invalidate(): void;
13
+ /** Permanently supersedes everything. Called automatically when the owning scope stops. */
14
+ dispose(): void;
15
+ /** True while the newest request is still running. */
16
+ pending: Readonly<Ref<boolean>>;
17
+ }
18
+ /**
19
+ * Latest-wins sequencing: lets a caller drop a response that a newer request
20
+ * already superseded.
21
+ *
22
+ * ```ts
23
+ * const search = useLatestRequest();
24
+ *
25
+ * async function load(criteria) {
26
+ * const request = search.begin();
27
+ * try {
28
+ * const result = await api.search(criteria);
29
+ * if (!request.isCurrent()) return; // a newer search won
30
+ * items.value = result;
31
+ * } finally {
32
+ * request.complete();
33
+ * }
34
+ * }
35
+ * ```
36
+ *
37
+ * This discards the late result rather than cancelling the request: the
38
+ * generated API clients build their own `RequestInit` and take no `AbortSignal`,
39
+ * so there is nothing to cancel through. Aborting would additionally save the
40
+ * round trip and belongs with a client that accepts a signal.
41
+ */
42
+ export declare function useLatestRequest(): UseLatestRequestReturn;
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useLatestRequest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,2FAA2F;IAC3F,SAAS,IAAI,OAAO,CAAC;IACrB,0FAA0F;IAC1F,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,uDAAuD;IACvD,KAAK,IAAI,aAAa,CAAC;IACvB,8FAA8F;IAC9F,UAAU,IAAI,IAAI,CAAC;IACnB,2FAA2F;IAC3F,OAAO,IAAI,IAAI,CAAC;IAChB,sDAAsD;IACtD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,IAAI,sBAAsB,CA2CzD"}
@@ -1,20 +1,11 @@
1
1
  import { Ref, MaybeRef, Component } from "vue";
2
2
  import type { UsePopupProps } from "../../composables/usePopup/types";
3
- export interface PopupMessageOptions {
4
- /**
5
- * Render the message as HTML instead of text. Off by default: messages are
6
- * built by interpolating server data into a translation, and as markup an
7
- * entity name can restyle or add links to a dialog the user is meant to
8
- * trust. Opt in only for markup you author yourself.
9
- */
10
- html?: boolean;
11
- }
12
3
  interface IUsePopup {
13
4
  open(): void;
14
5
  close(): void;
15
- showConfirmation(message: string | Ref<string>, options?: PopupMessageOptions): Promise<boolean>;
16
- showError(message: string | Ref<string>, options?: PopupMessageOptions): void;
17
- showInfo(message: string | Ref<string>, options?: PopupMessageOptions): void;
6
+ showConfirmation(message: string | Ref<string>): Promise<boolean>;
7
+ showError(message: string | Ref<string>): void;
8
+ showInfo(message: string | Ref<string>): void;
18
9
  }
19
10
  export declare function usePopup<T extends Component = Component>(options?: MaybeRef<UsePopupProps<T>>): IUsePopup;
20
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/usePopup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,GAAG,EAEH,QAAQ,EAER,SAAS,EAEV,MAAM,KAAK,CAAC;AAEb,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAerG,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,SAAS;IACjB,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjG,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC9E;AAmBD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CA+NzG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/usePopup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,GAAG,EAEH,QAAQ,EAER,SAAS,EACV,MAAM,KAAK,CAAC;AAEb,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAerG,UAAU,SAAS;IACjB,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC/C;AASD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CA8NzG"}