@ttt-productions/query-core 0.4.5 → 0.5.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 (43) hide show
  1. package/dist/defaults.d.ts +3 -3
  2. package/dist/defaults.d.ts.map +1 -1
  3. package/dist/defaults.js +4 -4
  4. package/dist/defaults.js.map +1 -1
  5. package/dist/domain-events/cache-invalidation.d.ts +28 -0
  6. package/dist/domain-events/cache-invalidation.d.ts.map +1 -0
  7. package/dist/domain-events/cache-invalidation.js +45 -0
  8. package/dist/domain-events/cache-invalidation.js.map +1 -0
  9. package/dist/domain-events/create-domain-event-invalidator.d.ts +39 -0
  10. package/dist/domain-events/create-domain-event-invalidator.d.ts.map +1 -0
  11. package/dist/domain-events/create-domain-event-invalidator.js +31 -0
  12. package/dist/domain-events/create-domain-event-invalidator.js.map +1 -0
  13. package/dist/domain-events/index.d.ts +5 -0
  14. package/dist/domain-events/index.d.ts.map +1 -0
  15. package/dist/domain-events/index.js +3 -0
  16. package/dist/domain-events/index.js.map +1 -0
  17. package/dist/index.d.ts +4 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/query-client.d.ts +2 -2
  22. package/dist/query-client.d.ts.map +1 -1
  23. package/dist/query-client.js +6 -6
  24. package/dist/query-client.js.map +1 -1
  25. package/dist/react/firestore/context.d.ts +3 -3
  26. package/dist/react/firestore/context.js +3 -3
  27. package/dist/react/index.d.ts +2 -2
  28. package/dist/react/index.d.ts.map +1 -1
  29. package/dist/react/index.js +1 -1
  30. package/dist/react/index.js.map +1 -1
  31. package/dist/react/provider.d.ts +4 -4
  32. package/dist/react/provider.d.ts.map +1 -1
  33. package/dist/react/provider.js +3 -3
  34. package/dist/react/provider.js.map +1 -1
  35. package/dist/react/search/use-firestore-search.d.ts +2 -3
  36. package/dist/react/search/use-firestore-search.d.ts.map +1 -1
  37. package/dist/react/search/use-firestore-search.js +2 -3
  38. package/dist/react/search/use-firestore-search.js.map +1 -1
  39. package/package.json +1 -1
  40. package/dist/search/search-configs.d.ts +0 -15
  41. package/dist/search/search-configs.d.ts.map +0 -1
  42. package/dist/search/search-configs.js +0 -42
  43. package/dist/search/search-configs.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import type { DefaultOptions, QueryClientConfig } from '@tanstack/react-query';
2
2
  /**
3
3
  * Small, conservative defaults intended to work well across apps.
4
- * Apps can override via `createTTTQueryClient({ defaultOptions: ... })`.
4
+ * Apps can override via `createQueryClient({ defaultOptions: ... })`.
5
5
  */
6
- export declare const tttDefaultOptions: DefaultOptions;
7
- export declare const tttQueryClientConfig: QueryClientConfig;
6
+ export declare const defaultQueryOptions: DefaultOptions;
7
+ export declare const defaultQueryClientConfig: QueryClientConfig;
8
8
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAc/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAElC,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAcjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAEtC,CAAC"}
package/dist/defaults.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Small, conservative defaults intended to work well across apps.
3
- * Apps can override via `createTTTQueryClient({ defaultOptions: ... })`.
3
+ * Apps can override via `createQueryClient({ defaultOptions: ... })`.
4
4
  */
5
- export const tttDefaultOptions = {
5
+ export const defaultQueryOptions = {
6
6
  queries: {
7
7
  refetchOnWindowFocus: false,
8
8
  refetchOnReconnect: true,
@@ -15,7 +15,7 @@ export const tttDefaultOptions = {
15
15
  retry: 0,
16
16
  },
17
17
  };
18
- export const tttQueryClientConfig = {
19
- defaultOptions: tttDefaultOptions,
18
+ export const defaultQueryClientConfig = {
19
+ defaultOptions: defaultQueryOptions,
20
20
  };
21
21
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,OAAO,EAAE;QACP,oBAAoB,EAAE,KAAK;QAC3B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,KAAK;QAErB,SAAS,EAAE,MAAM,EAAE,MAAM;QACzB,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK;QAEzB,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC;KAC1C;IACD,SAAS,EAAE;QACT,KAAK,EAAE,CAAC;KACT;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,cAAc,EAAE,iBAAiB;CAClC,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,OAAO,EAAE;QACP,oBAAoB,EAAE,KAAK;QAC3B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,KAAK;QAErB,SAAS,EAAE,MAAM,EAAE,MAAM;QACzB,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK;QAEzB,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC;KAC1C;IACD,SAAS,EAAE;QACT,KAAK,EAAE,CAAC;KACT;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,cAAc,EAAE,mBAAmB;CACpC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Query, QueryClient, QueryKey } from "@tanstack/react-query";
2
+ export type RefetchType = "active" | "all" | "none";
3
+ export type CacheInvalidation = {
4
+ kind: "exact";
5
+ queryKey: QueryKey;
6
+ refetchType?: RefetchType;
7
+ } | {
8
+ kind: "prefix";
9
+ queryKey: QueryKey;
10
+ refetchType?: RefetchType;
11
+ } | {
12
+ kind: "predicate";
13
+ description: string;
14
+ match: (query: Query) => boolean;
15
+ refetchType?: RefetchType;
16
+ };
17
+ export declare function exact(queryKey: QueryKey, opts?: {
18
+ refetchType?: RefetchType;
19
+ }): CacheInvalidation;
20
+ export declare function prefix(queryKey: QueryKey, opts?: {
21
+ refetchType?: RefetchType;
22
+ }): CacheInvalidation;
23
+ export declare function predicate(description: string, match: (query: Query) => boolean, opts?: {
24
+ refetchType?: RefetchType;
25
+ }): CacheInvalidation;
26
+ export declare function serializeInvalidation(inv: CacheInvalidation): string;
27
+ export declare function applyInvalidations(queryClient: QueryClient, invalidations: ReadonlyArray<CacheInvalidation>): void;
28
+ //# sourceMappingURL=cache-invalidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-invalidation.d.ts","sourceRoot":"","sources":["../../src/domain-events/cache-invalidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GACjE;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEN,wBAAgB,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,iBAAiB,CAEjG;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GAAG,iBAAiB,CAElG;AAED,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,EAChC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,GACnC,iBAAiB,CAEnB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAGpE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAC9C,IAAI,CA4BN"}
@@ -0,0 +1,45 @@
1
+ export function exact(queryKey, opts) {
2
+ return { kind: "exact", queryKey, refetchType: opts?.refetchType };
3
+ }
4
+ export function prefix(queryKey, opts) {
5
+ return { kind: "prefix", queryKey, refetchType: opts?.refetchType };
6
+ }
7
+ export function predicate(description, match, opts) {
8
+ return { kind: "predicate", description, match, refetchType: opts?.refetchType };
9
+ }
10
+ export function serializeInvalidation(inv) {
11
+ if (inv.kind === "predicate")
12
+ return `predicate:${inv.description}`;
13
+ return `${inv.kind}:${JSON.stringify(inv.queryKey)}`;
14
+ }
15
+ export function applyInvalidations(queryClient, invalidations) {
16
+ const seen = new Set();
17
+ for (const inv of invalidations) {
18
+ const sig = serializeInvalidation(inv);
19
+ if (seen.has(sig))
20
+ continue;
21
+ seen.add(sig);
22
+ const refetchType = inv.refetchType ?? "active";
23
+ if (inv.kind === "exact") {
24
+ void queryClient.invalidateQueries({
25
+ queryKey: inv.queryKey,
26
+ exact: true,
27
+ refetchType,
28
+ });
29
+ }
30
+ else if (inv.kind === "prefix") {
31
+ void queryClient.invalidateQueries({
32
+ queryKey: inv.queryKey,
33
+ exact: false,
34
+ refetchType,
35
+ });
36
+ }
37
+ else {
38
+ void queryClient.invalidateQueries({
39
+ predicate: inv.match,
40
+ refetchType,
41
+ });
42
+ }
43
+ }
44
+ }
45
+ //# sourceMappingURL=cache-invalidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-invalidation.js","sourceRoot":"","sources":["../../src/domain-events/cache-invalidation.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,KAAK,CAAC,QAAkB,EAAE,IAAoC;IAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,QAAkB,EAAE,IAAoC;IAC7E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,WAAmB,EACnB,KAAgC,EAChC,IAAoC;IAEpC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAsB;IAC1D,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,aAAa,GAAG,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAwB,EACxB,aAA+C;IAE/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,MAAM,WAAW,GAAgB,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC;QAE7D,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,IAAI;gBACX,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,KAAK;gBACZ,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,SAAS,EAAE,GAAG,CAAC,KAAK;gBACpB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { QueryClient } from "@tanstack/react-query";
2
+ import { exact, prefix, predicate, type CacheInvalidation } from "./cache-invalidation.js";
3
+ /**
4
+ * Registry shape: each event type maps to a function from the event's `ids`
5
+ * payload to the list of cache invalidations that event should trigger.
6
+ */
7
+ export type DomainEventInvalidationRegistry<TEvent extends {
8
+ type: string;
9
+ ids: unknown;
10
+ }> = {
11
+ [K in TEvent["type"]]: (ids: Extract<TEvent, {
12
+ type: K;
13
+ }>["ids"]) => ReadonlyArray<CacheInvalidation>;
14
+ };
15
+ export interface DomainEventInvalidator<TEvent extends {
16
+ type: string;
17
+ ids: unknown;
18
+ }> {
19
+ notify(queryClient: QueryClient, event: TEvent): void;
20
+ notifyAll(queryClient: QueryClient, events: ReadonlyArray<TEvent>): void;
21
+ /** Test/debug helpers. */
22
+ readonly helpers: {
23
+ exact: typeof exact;
24
+ prefix: typeof prefix;
25
+ predicate: typeof predicate;
26
+ };
27
+ /** Direct access to the registry, mainly for tests. */
28
+ readonly registry: DomainEventInvalidationRegistry<TEvent>;
29
+ }
30
+ /**
31
+ * Build a domain-event → cache-invalidation notifier from a typed registry.
32
+ * The registry's keys are statically tied to `TEvent["type"]`, so missing or
33
+ * extra entries are compile errors.
34
+ */
35
+ export declare function createDomainEventInvalidator<TEvent extends {
36
+ type: string;
37
+ ids: unknown;
38
+ }>(registry: DomainEventInvalidationRegistry<TEvent>): DomainEventInvalidator<TEvent>;
39
+ //# sourceMappingURL=create-domain-event-invalidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-domain-event-invalidator.d.ts","sourceRoot":"","sources":["../../src/domain-events/create-domain-event-invalidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAEL,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,MAAM,MAAM,+BAA+B,CAAC,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,IAAI;KAC1F,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CACrB,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC,KAAK,CAAC,KACrC,aAAa,CAAC,iBAAiB,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE;IACnF,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzE,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE;QAChB,KAAK,EAAE,OAAO,KAAK,CAAC;QACpB,MAAM,EAAE,OAAO,MAAM,CAAC;QACtB,SAAS,EAAE,OAAO,SAAS,CAAC;KAC7B,CAAC;IACF,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,EACxF,QAAQ,EAAE,+BAA+B,CAAC,MAAM,CAAC,GAChD,sBAAsB,CAAC,MAAM,CAAC,CA4BhC"}
@@ -0,0 +1,31 @@
1
+ import { applyInvalidations, exact, prefix, predicate, } from "./cache-invalidation.js";
2
+ /**
3
+ * Build a domain-event → cache-invalidation notifier from a typed registry.
4
+ * The registry's keys are statically tied to `TEvent["type"]`, so missing or
5
+ * extra entries are compile errors.
6
+ */
7
+ export function createDomainEventInvalidator(registry) {
8
+ function lookup(type) {
9
+ return registry[type];
10
+ }
11
+ function notify(queryClient, event) {
12
+ const fn = lookup(event.type);
13
+ const invalidations = fn(event.ids);
14
+ applyInvalidations(queryClient, invalidations);
15
+ }
16
+ function notifyAll(queryClient, events) {
17
+ const all = [];
18
+ for (const event of events) {
19
+ const fn = lookup(event.type);
20
+ all.push(...fn(event.ids));
21
+ }
22
+ applyInvalidations(queryClient, all);
23
+ }
24
+ return {
25
+ notify,
26
+ notifyAll,
27
+ helpers: { exact, prefix, predicate },
28
+ registry,
29
+ };
30
+ }
31
+ //# sourceMappingURL=create-domain-event-invalidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-domain-event-invalidator.js","sourceRoot":"","sources":["../../src/domain-events/create-domain-event-invalidator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,MAAM,EACN,SAAS,GAEV,MAAM,yBAAyB,CAAC;AAyBjC;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAiD;IAEjD,SAAS,MAAM,CAA+B,IAAW;QACvD,OAAO,QAAQ,CAAC,IAAI,CAEiB,CAAC;IACxC,CAAC;IAED,SAAS,MAAM,CAAC,WAAwB,EAAE,KAAa;QACrD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAsB,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,GAAuD,CAAC,CAAC;QACxF,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,SAAS,CAAC,WAAwB,EAAE,MAA6B;QACxE,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAsB,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAuD,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,MAAM;QACN,SAAS;QACT,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE;QACrC,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { exact, prefix, predicate, serializeInvalidation, applyInvalidations, } from "./cache-invalidation.js";
2
+ export type { CacheInvalidation, RefetchType } from "./cache-invalidation.js";
3
+ export { createDomainEventInvalidator } from "./create-domain-event-invalidator.js";
4
+ export type { DomainEventInvalidator, DomainEventInvalidationRegistry, } from "./create-domain-event-invalidator.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain-events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,YAAY,EACV,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { exact, prefix, predicate, serializeInvalidation, applyInvalidations, } from "./cache-invalidation.js";
2
+ export { createDomainEventInvalidator } from "./create-domain-event-invalidator.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain-events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { createTTTQueryClient } from './query-client.js';
2
- export type { CreateTTTQueryClientOptions } from './query-client.js';
1
+ export { createQueryClient } from './query-client.js';
2
+ export type { CreateQueryClientOptions } from './query-client.js';
3
3
  export { keys, createKeyScope } from './keys.js';
4
4
  export type { QueryKey } from './keys.js';
5
5
  export { invalidateByPrefix, removeByPrefix, updateQueryData } from './cache-helpers.js';
@@ -7,5 +7,6 @@ export type { WithId, FirestoreBaseOptions, FirestoreDocOptions, FirestoreCollec
7
7
  export { docWithId } from './firestore/types.js';
8
8
  export { flattenInfiniteData, getInfiniteDataCount, } from './firestore/infinite-helpers.js';
9
9
  export type { FirestoreSearchConfig, FirestoreSearchOptions, } from './search/types.js';
10
- export { SEARCH_CONFIGS } from './search/search-configs.js';
10
+ export { createDomainEventInvalidator, exact, prefix, predicate, serializeInvalidation, applyInvalidations, } from "./domain-events/index.js";
11
+ export type { DomainEventInvalidator, DomainEventInvalidationRegistry, CacheInvalidation, RefetchType, } from "./domain-events/index.js";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGzF,YAAY,EACV,MAAM,EACN,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGzF,YAAY,EACV,MAAM,EACN,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,4BAA4B,EAC5B,KAAK,EACL,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,sBAAsB,EACtB,+BAA+B,EAC/B,iBAAiB,EACjB,WAAW,GACZ,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  // Query Client
2
- export { createTTTQueryClient } from './query-client.js';
2
+ export { createQueryClient } from './query-client.js';
3
3
  // Query Keys
4
4
  export { keys, createKeyScope } from './keys.js';
5
5
  // Cache Helpers
6
6
  export { invalidateByPrefix, removeByPrefix, updateQueryData } from './cache-helpers.js';
7
7
  export { docWithId } from './firestore/types.js';
8
8
  export { flattenInfiniteData, getInfiniteDataCount, } from './firestore/infinite-helpers.js';
9
- export { SEARCH_CONFIGS } from './search/search-configs.js';
9
+ // Domain-event invalidator (mechanism consumers register their event registry)
10
+ export { createDomainEventInvalidator, exact, prefix, predicate, serializeInvalidation, applyInvalidations, } from "./domain-events/index.js";
10
11
  //# 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,eAAe;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,aAAa;AACb,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjD,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgBzF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,aAAa;AACb,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjD,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgBzF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAQzC,iFAAiF;AACjF,OAAO,EACL,4BAA4B,EAC5B,KAAK,EACL,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { QueryClient, type QueryClientConfig } from '@tanstack/react-query';
2
- export type CreateTTTQueryClientOptions = QueryClientConfig;
2
+ export type CreateQueryClientOptions = QueryClientConfig;
3
3
  /**
4
4
  * Factory so every app uses the same baseline behavior.
5
5
  * Pass overrides to adjust defaults without forking.
6
6
  */
7
- export declare function createTTTQueryClient(overrides?: CreateTTTQueryClientOptions): QueryClient;
7
+ export declare function createQueryClient(overrides?: CreateQueryClientOptions): QueryClient;
8
8
  //# sourceMappingURL=query-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-client.d.ts","sourceRoot":"","sources":["../src/query-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG5E,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,2BAAgC,eAiB/E"}
1
+ {"version":3,"file":"query-client.d.ts","sourceRoot":"","sources":["../src/query-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG5E,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,wBAA6B,eAiBzE"}
@@ -1,22 +1,22 @@
1
1
  import { QueryClient } from '@tanstack/react-query';
2
- import { tttQueryClientConfig } from './defaults.js';
2
+ import { defaultQueryClientConfig } from './defaults.js';
3
3
  /**
4
4
  * Factory so every app uses the same baseline behavior.
5
5
  * Pass overrides to adjust defaults without forking.
6
6
  */
7
- export function createTTTQueryClient(overrides = {}) {
7
+ export function createQueryClient(overrides = {}) {
8
8
  return new QueryClient({
9
- ...tttQueryClientConfig,
9
+ ...defaultQueryClientConfig,
10
10
  ...overrides,
11
11
  defaultOptions: {
12
- ...tttQueryClientConfig.defaultOptions,
12
+ ...defaultQueryClientConfig.defaultOptions,
13
13
  ...overrides.defaultOptions,
14
14
  queries: {
15
- ...tttQueryClientConfig.defaultOptions?.queries,
15
+ ...defaultQueryClientConfig.defaultOptions?.queries,
16
16
  ...overrides.defaultOptions?.queries,
17
17
  },
18
18
  mutations: {
19
- ...tttQueryClientConfig.defaultOptions?.mutations,
19
+ ...defaultQueryClientConfig.defaultOptions?.mutations,
20
20
  ...overrides.defaultOptions?.mutations,
21
21
  },
22
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"query-client.js","sourceRoot":"","sources":["../src/query-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAIrD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAyC,EAAE;IAC9E,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,oBAAoB;QACvB,GAAG,SAAS;QACZ,cAAc,EAAE;YACd,GAAG,oBAAoB,CAAC,cAAc;YACtC,GAAG,SAAS,CAAC,cAAc;YAC3B,OAAO,EAAE;gBACP,GAAG,oBAAoB,CAAC,cAAc,EAAE,OAAO;gBAC/C,GAAG,SAAS,CAAC,cAAc,EAAE,OAAO;aACrC;YACD,SAAS,EAAE;gBACT,GAAG,oBAAoB,CAAC,cAAc,EAAE,SAAS;gBACjD,GAAG,SAAS,CAAC,cAAc,EAAE,SAAS;aACvC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"query-client.js","sourceRoot":"","sources":["../src/query-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAIzD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAsC,EAAE;IACxE,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,wBAAwB;QAC3B,GAAG,SAAS;QACZ,cAAc,EAAE;YACd,GAAG,wBAAwB,CAAC,cAAc;YAC1C,GAAG,SAAS,CAAC,cAAc;YAC3B,OAAO,EAAE;gBACP,GAAG,wBAAwB,CAAC,cAAc,EAAE,OAAO;gBACnD,GAAG,SAAS,CAAC,cAAc,EAAE,OAAO;aACrC;YACD,SAAS,EAAE;gBACT,GAAG,wBAAwB,CAAC,cAAc,EAAE,SAAS;gBACrD,GAAG,SAAS,CAAC,cAAc,EAAE,SAAS;aACvC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -6,17 +6,17 @@ export interface FirestoreProviderProps {
6
6
  }
7
7
  /**
8
8
  * Provides Firestore instance to all useFirestore* hooks.
9
- * Wrap your app with this provider alongside TTTQueryProvider.
9
+ * Wrap your app with this provider alongside QueryProvider.
10
10
  *
11
11
  * @example
12
12
  * ```tsx
13
13
  * import { db } from '@/lib/firebase';
14
14
  *
15
- * <TTTQueryProvider>
15
+ * <QueryProvider>
16
16
  * <FirestoreProvider db={db}>
17
17
  * {children}
18
18
  * </FirestoreProvider>
19
- * </TTTQueryProvider>
19
+ * </QueryProvider>
20
20
  * ```
21
21
  */
22
22
  export declare function FirestoreProvider({ db, children }: FirestoreProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -4,17 +4,17 @@ import { createContext, useContext } from 'react';
4
4
  const FirestoreContext = createContext(null);
5
5
  /**
6
6
  * Provides Firestore instance to all useFirestore* hooks.
7
- * Wrap your app with this provider alongside TTTQueryProvider.
7
+ * Wrap your app with this provider alongside QueryProvider.
8
8
  *
9
9
  * @example
10
10
  * ```tsx
11
11
  * import { db } from '@/lib/firebase';
12
12
  *
13
- * <TTTQueryProvider>
13
+ * <QueryProvider>
14
14
  * <FirestoreProvider db={db}>
15
15
  * {children}
16
16
  * </FirestoreProvider>
17
- * </TTTQueryProvider>
17
+ * </QueryProvider>
18
18
  * ```
19
19
  */
20
20
  export function FirestoreProvider({ db, children }) {
@@ -1,5 +1,5 @@
1
- export { TTTQueryProvider } from './provider.js';
2
- export type { TTTQueryProviderProps } from './provider.js';
1
+ export { QueryProvider } from './provider.js';
2
+ export type { QueryProviderProps } from './provider.js';
3
3
  export { FirestoreProvider, useFirestoreDb } from './firestore/context.js';
4
4
  export type { FirestoreProviderProps } from './firestore/context.js';
5
5
  export { useFirestoreDoc } from './firestore/use-firestore-doc.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAG1F,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EACL,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAG1F,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EACL,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  // Provider
3
- export { TTTQueryProvider } from './provider.js';
3
+ export { QueryProvider } from './provider.js';
4
4
  // Firestore Provider
5
5
  export { FirestoreProvider, useFirestoreDb } from './firestore/context.js';
6
6
  // Firestore Query Hooks
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG3E,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,2BAA2B;AAC3B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAEhD,uBAAuB;AACvB,OAAO,EACL,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAM9C,cAAc;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG3E,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,2BAA2B;AAC3B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAEhD,uBAAuB;AACvB,OAAO,EACL,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAM9C,cAAc;AACd,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
- import { type CreateTTTQueryClientOptions } from '../query-client.js';
3
- export type TTTQueryProviderProps = React.PropsWithChildren<{
2
+ import { type CreateQueryClientOptions } from '../query-client.js';
3
+ export type QueryProviderProps = React.PropsWithChildren<{
4
4
  /** Optional overrides applied when the client is first created. */
5
- clientOptions?: CreateTTTQueryClientOptions;
5
+ clientOptions?: CreateQueryClientOptions;
6
6
  }>;
7
7
  /**
8
8
  * Client component wrapper for Next.js / React apps.
9
9
  * Creates a single QueryClient per browser session.
10
10
  */
11
- export declare function TTTQueryProvider({ children, clientOptions }: TTTQueryProviderProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function QueryProvider({ children, clientOptions }: QueryProviderProps): import("react/jsx-runtime").JSX.Element;
12
12
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAwB,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE5F,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC1D,mEAAmE;IACnE,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,qBAAqB,2CAGlF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAqB,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACvD,mEAAmE;IACnE,aAAa,CAAC,EAAE,wBAAwB,CAAC;CAC1C,CAAC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,kBAAkB,2CAG5E"}
@@ -2,13 +2,13 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from 'react';
4
4
  import { QueryClientProvider } from '@tanstack/react-query';
5
- import { createTTTQueryClient } from '../query-client.js';
5
+ import { createQueryClient } from '../query-client.js';
6
6
  /**
7
7
  * Client component wrapper for Next.js / React apps.
8
8
  * Creates a single QueryClient per browser session.
9
9
  */
10
- export function TTTQueryProvider({ children, clientOptions }) {
11
- const [client] = React.useState(() => createTTTQueryClient(clientOptions));
10
+ export function QueryProvider({ children, clientOptions }) {
11
+ const [client] = React.useState(() => createQueryClient(clientOptions));
12
12
  return _jsx(QueryClientProvider, { client: client, children: children });
13
13
  }
14
14
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAoC,MAAM,oBAAoB,CAAC;AAO5F;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAyB;IACjF,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3E,OAAO,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,YAAG,QAAQ,GAAuB,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAiC,MAAM,oBAAoB,CAAC;AAOtF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAsB;IAC3E,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IACxE,OAAO,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,YAAG,QAAQ,GAAuB,CAAC;AAC/E,CAAC"}
@@ -15,13 +15,12 @@ import type { WithId } from '../../firestore/types.js';
15
15
  *
16
16
  * @example
17
17
  * ```typescript
18
- * // Using preset config
19
18
  * const { data, isLoading } = useFirestoreSearch<UserProfile>({
20
- * ...SEARCH_CONFIGS.Q_USER,
19
+ * collectionPath: 'userProfiles',
20
+ * searchField: 'username',
21
21
  * queryText: searchValue,
22
22
  * });
23
23
  *
24
- * // Custom search
25
24
  * const { data } = useFirestoreSearch<Team>({
26
25
  * collectionPath: 'teams',
27
26
  * searchField: 'name_lowercase',
@@ -1 +1 @@
1
- {"version":3,"file":"use-firestore-search.d.ts","sourceRoot":"","sources":["../../../src/react/search/use-firestore-search.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMvD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,EACxE,cAAc,EACd,WAAW,EACX,SAAS,EACT,KAAqB,EACrB,OAAc,EACd,MAAM,EACN,UAAgC,EAChC,SAA8B,GAC/B,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAgDhE"}
1
+ {"version":3,"file":"use-firestore-search.d.ts","sourceRoot":"","sources":["../../../src/react/search/use-firestore-search.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAOL,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,EACxE,cAAc,EACd,WAAW,EACX,SAAS,EACT,KAAqB,EACrB,OAAc,EACd,MAAM,EACN,UAAgC,EAChC,SAA8B,GAC/B,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAgDhE"}
@@ -20,13 +20,12 @@ const DEFAULT_STALE_TIME = 60 * 1000; // 1 minute
20
20
  *
21
21
  * @example
22
22
  * ```typescript
23
- * // Using preset config
24
23
  * const { data, isLoading } = useFirestoreSearch<UserProfile>({
25
- * ...SEARCH_CONFIGS.Q_USER,
24
+ * collectionPath: 'userProfiles',
25
+ * searchField: 'username',
26
26
  * queryText: searchValue,
27
27
  * });
28
28
  *
29
- * // Custom search
30
29
  * const { data } = useFirestoreSearch<Team>({
31
30
  * collectionPath: 'teams',
32
31
  * searchField: 'name_lowercase',
@@ -1 +1 @@
1
- {"version":3,"file":"use-firestore-search.js","sourceRoot":"","sources":["../../../src/react/search/use-firestore-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-firestore-search.js","sourceRoot":"","sources":["../../../src/react/search/use-firestore-search.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttt-productions/query-core",
3
- "version": "0.4.5",
3
+ "version": "0.5.0",
4
4
  "description": "Shared TanStack Query (React Query) client defaults, query key helpers, and Firestore integration hooks for TTT Productions apps",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,15 +0,0 @@
1
- import type { FirestoreSearchConfig } from './types.js';
2
- /**
3
- * Preset search configurations for common use cases.
4
- * These provide standard settings that can be used across applications.
5
- *
6
- * @example
7
- * ```typescript
8
- * const { data } = useFirestoreSearch<User>({
9
- * ...SEARCH_CONFIGS.Q_USER,
10
- * queryText: searchValue,
11
- * });
12
- * ```
13
- */
14
- export declare const SEARCH_CONFIGS: Record<string, FirestoreSearchConfig>;
15
- //# sourceMappingURL=search-configs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-configs.d.ts","sourceRoot":"","sources":["../../src/search/search-configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CA8BvD,CAAC"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Preset search configurations for common use cases.
3
- * These provide standard settings that can be used across applications.
4
- *
5
- * @example
6
- * ```typescript
7
- * const { data } = useFirestoreSearch<User>({
8
- * ...SEARCH_CONFIGS.Q_USER,
9
- * queryText: searchValue,
10
- * });
11
- * ```
12
- */
13
- export const SEARCH_CONFIGS = {
14
- /**
15
- * Q-Sports user search configuration
16
- * Searches the 'users' collection by displayName_lowercase field
17
- */
18
- Q_USER: {
19
- collectionPath: 'users',
20
- searchField: 'displayName_lowercase',
21
- limit: 5,
22
- },
23
- /**
24
- * TTT Productions user search configuration
25
- * Searches the 'userProfiles' collection by username field (already lowercase)
26
- */
27
- TTT_USER: {
28
- collectionPath: 'userProfiles',
29
- searchField: 'username',
30
- limit: 6,
31
- },
32
- /**
33
- * TTT Productions project search configuration
34
- * Searches the 'allProjects' collection by workingTitle field (already lowercase)
35
- */
36
- TTT_PROJECT: {
37
- collectionPath: 'allProjects',
38
- searchField: 'workingTitle',
39
- limit: 6,
40
- },
41
- };
42
- //# sourceMappingURL=search-configs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-configs.js","sourceRoot":"","sources":["../../src/search/search-configs.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAA0C;IACnE;;;OAGG;IACH,MAAM,EAAE;QACN,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE,CAAC;KACT;IAED;;;OAGG;IACH,QAAQ,EAAE;QACR,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,CAAC;KACT;IAED;;;OAGG;IACH,WAAW,EAAE;QACX,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,cAAc;QAC3B,KAAK,EAAE,CAAC;KACT;CACO,CAAC"}