@livequery/react 2.0.96 → 2.0.98

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/dist/index.d.ts CHANGED
@@ -3,4 +3,5 @@ export * from './useCollection.js';
3
3
  export * from './useDocument.js';
4
4
  export * from './useObservable.js';
5
5
  export * from './LivequeryCoreContext.js';
6
+ export * from './useAction.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -3,4 +3,5 @@ export * from './useCollection.js';
3
3
  export * from './useDocument.js';
4
4
  export * from './useObservable.js';
5
5
  export * from './LivequeryCoreContext.js';
6
+ export * from './useAction.js';
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { LivequeryDocument, type Doc, type DocState } from "@livequery/core";
1
+ import { type Doc } from "@livequery/core";
2
2
  export declare const useDocument: <T extends Doc>(ref: string | undefined | "" | null | false, options?: {
3
3
  lazy?: boolean;
4
- }) => readonly [LivequeryDocument<DocState<T>> | undefined, import("@livequery/core").LivequeryLoadingState | undefined];
4
+ }) => readonly [import("@livequery/core").LivequeryDocument<import("@livequery/core").DocState<T>> | undefined, import("@livequery/core").LivequeryLoadingState];
5
5
  //# sourceMappingURL=useDocument.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocument.d.ts","sourceRoot":"","sources":["../src/useDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAK5E,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,GAAG,EAAE,KAAK,MAAM,GAAG,SAAS,GAAG,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE,UAAS;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,uHAKvH,CAAA"}
1
+ {"version":3,"file":"useDocument.d.ts","sourceRoot":"","sources":["../src/useDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAK1C,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,GAAG,EAAE,KAAK,MAAM,GAAG,SAAS,GAAG,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE,UAAS;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,+JAKvH,CAAA"}
@@ -1,9 +1,9 @@
1
- import { LivequeryDocument } from "@livequery/core";
1
+ import {} from "@livequery/core";
2
2
  import { useObservable } from "./useObservable.js";
3
3
  import { useCollection } from "./useCollection.js";
4
4
  export const useDocument = (ref, options = {}) => {
5
5
  const collection = useCollection(ref, { lazy: options.lazy });
6
- const items = useObservable(collection.items, []);
6
+ const items = useObservable(collection.items);
7
7
  const loading = useObservable(collection.loading);
8
8
  return [items[0], loading];
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDocument.js","sourceRoot":"","sources":["../src/useDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA2B,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAgB,GAA2C,EAAE,UAA8B,EAAE,EAAE,EAAE;IACxH,MAAM,UAAU,GAAG,aAAa,CAAI,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,EAAsC,CAAC,CAAA;IACrF,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAU,CAAA;AACvC,CAAC,CAAA"}
1
+ {"version":3,"file":"useDocument.js","sourceRoot":"","sources":["../src/useDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAgB,GAA2C,EAAE,UAA8B,EAAE,EAAE,EAAE;IACxH,MAAM,UAAU,GAAG,aAAa,CAAI,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAU,CAAA;AACvC,CAAC,CAAA"}
@@ -1,4 +1,8 @@
1
1
  import { Observable, BehaviorSubject } from "rxjs";
2
2
  export type MaybeFunction<T> = T | (() => T);
3
- export declare const useObservable: <T extends any, R = undefined>(o: MaybeFunction<BehaviorSubject<T> | Observable<T>> | undefined, default_value?: R) => T | R;
3
+ type ObservableSource<T> = MaybeFunction<BehaviorSubject<T> | Observable<T>> | undefined;
4
+ export declare function useObservable<T>(o: BehaviorSubject<T>): T;
5
+ export declare function useObservable<T>(o: ObservableSource<T>): T | undefined;
6
+ export declare function useObservable<T>(o: ObservableSource<T>, default_value: T): T;
7
+ export {};
4
8
  //# sourceMappingURL=useObservable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useObservable.d.ts","sourceRoot":"","sources":["../src/useObservable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAc,MAAM,MAAM,CAAC;AAG/D,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5C,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,gBAAgB,CAAC,UAkB9I,CAAA"}
1
+ {"version":3,"file":"useObservable.d.ts","sourceRoot":"","sources":["../src/useObservable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAc,MAAM,MAAM,CAAC;AAG/D,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5C,KAAK,gBAAgB,CAAC,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;AAExF,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAI,CAAC,CAAA;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAI,CAAC,GAAG,SAAS,CAAA;AACxE,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAA"}
@@ -1,15 +1,14 @@
1
1
  import { useEffect, useState } from "react";
2
2
  import { Observable, BehaviorSubject, tap, EMPTY } from "rxjs";
3
3
  import { skip } from "rxjs/operators";
4
- export const useObservable = (o, default_value) => {
5
- const getValue = o?.getValue;
6
- const [v, s] = useState(getValue ? getValue() : default_value);
4
+ export function useObservable(o, default_value) {
5
+ const $ = o || EMPTY;
6
+ const isBehaviorSubject = typeof $.getValue === 'function';
7
+ const dfv = isBehaviorSubject ? $.getValue() : default_value;
8
+ const [v, s] = useState(dfv);
7
9
  useEffect(() => {
8
10
  try {
9
- const target = (typeof o === 'function' ? o() : (o || EMPTY));
10
- const subscription = target.pipe(skip(getValue ? 1 : 0), tap(value => {
11
- s(value);
12
- })).subscribe();
11
+ const subscription = $.pipe(skip(isBehaviorSubject ? 1 : 0), tap(s)).subscribe();
13
12
  return () => {
14
13
  subscription.unsubscribe();
15
14
  };
@@ -17,5 +16,5 @@ export const useObservable = (o, default_value) => {
17
16
  catch (e) { }
18
17
  }, typeof o === 'function' ? [] : [o]);
19
18
  return v;
20
- };
19
+ }
21
20
  //# sourceMappingURL=useObservable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useObservable.js","sourceRoot":"","sources":["../src/useObservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,MAAM,CAAC,MAAM,aAAa,GAAG,CAA+B,CAAgE,EAAE,aAAiB,EAAE,EAAE;IAC/I,MAAM,QAAQ,GAAI,CAAS,EAAE,QAAQ,CAAA;IACrC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAQ,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAO,CAAC,CAAC,CAAC,aAAkB,CAAC,CAAA;IAC/E,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA;YAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtB,GAAG,CAAC,KAAK,CAAC,EAAE;gBACR,CAAC,CAAC,KAAK,CAAC,CAAA;YACZ,CAAC,CAAC,CACL,CAAC,SAAS,EAAE,CAAA;YACb,OAAO,GAAG,EAAE;gBACR,YAAY,CAAC,WAAW,EAAE,CAAA;YAC9B,CAAC,CAAA;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,CAAC,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"useObservable.js","sourceRoot":"","sources":["../src/useObservable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAUtC,MAAM,UAAU,aAAa,CAAI,CAAmB,EAAE,aAAiB;IACnE,MAAM,CAAC,GAAG,CAA8B,IAAI,KAAK,CAAA;IACjD,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAA;IAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;IAC5D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAgB,GAAG,CAAC,CAAA;IAC3C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CACvB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/B,GAAG,CAAC,CAAC,CAAC,CACT,CAAC,SAAS,EAAE,CAAA;YACb,OAAO,GAAG,EAAE;gBACR,YAAY,CAAC,WAAW,EAAE,CAAA;YAC9B,CAAC,CAAA;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEtC,OAAO,CAAC,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "url": "https://github.com/livequery/react"
5
5
  },
6
6
  "type": "module",
7
- "version": "2.0.96",
7
+ "version": "2.0.98",
8
8
  "description": "",
9
9
  "main": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts",