teamplay 0.5.0-alpha.16 → 0.5.0-alpha.17

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
@@ -57,7 +57,7 @@ export { default as sub } from './orm/sub.js';
57
57
  export { default as useSub, useAsyncSub, setUseDeferredValue as __setUseDeferredValue, setDefaultDefer as __setDefaultDefer } from './react/useSub.js';
58
58
  export { default as useSuspendMemo, useSuspendMemoByKey } from './react/useSuspendMemo.js';
59
59
  export declare const observer: ObserverFunction;
60
- export { useBatch, useBatchDoc, useBatchDoc$, useBatchQuery, useBatchQuery$, useQueryIds, useBatchQueryIds, useAsyncQueryIds, useQueryDoc, useQueryDoc$, useBatchQueryDoc, useBatchQueryDoc$, useAsyncQueryDoc, useAsyncQueryDoc$ } from './orm/Compat/hooksCompat.js';
60
+ export { useBatch, useBatchDoc, useBatchDoc$, useBatchQuery, useBatchQuery$, useBatchQueryIds, useBatchQueryDoc, useBatchQueryDoc$ } from './orm/Compat/hooksCompat.js';
61
61
  export { emit, useOn, useEmit } from './orm/Compat/eventsCompat.js';
62
62
  export { useDidUpdate, useOnce, useSyncEffect } from './react/helpers.js';
63
63
  export { connection, setConnection, getConnection, getDefaultFetchOnly, setDefaultFetchOnly, publicOnly, setPublicOnly } from './orm/connection.js';
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ export { default as sub } from "./orm/sub.js";
18
18
  export { default as useSub, useAsyncSub, setUseDeferredValue as __setUseDeferredValue, setDefaultDefer as __setDefaultDefer } from "./react/useSub.js";
19
19
  export { default as useSuspendMemo, useSuspendMemoByKey } from "./react/useSuspendMemo.js";
20
20
  export const observer = runtimeObserver;
21
- export { useBatch, useBatchDoc, useBatchDoc$, useBatchQuery, useBatchQuery$, useQueryIds, useBatchQueryIds, useAsyncQueryIds, useQueryDoc, useQueryDoc$, useBatchQueryDoc, useBatchQueryDoc$, useAsyncQueryDoc, useAsyncQueryDoc$ } from './orm/Compat/hooksCompat.js';
21
+ export { useBatch, useBatchDoc, useBatchDoc$, useBatchQuery, useBatchQuery$, useBatchQueryIds, useBatchQueryDoc, useBatchQueryDoc$ } from './orm/Compat/hooksCompat.js';
22
22
  export { emit, useOn, useEmit } from './orm/Compat/eventsCompat.js';
23
23
  export { useDidUpdate, useOnce, useSyncEffect } from "./react/helpers.js";
24
24
  export { connection, setConnection, getConnection, getDefaultFetchOnly, setDefaultFetchOnly, publicOnly, setPublicOnly } from "./orm/connection.js";
@@ -3,12 +3,6 @@ export const useBatchDoc: any
3
3
  export const useBatchDoc$: any
4
4
  export const useBatchQuery: any
5
5
  export const useBatchQuery$: any
6
- export const useQueryIds: any
7
6
  export const useBatchQueryIds: any
8
- export const useAsyncQueryIds: any
9
- export const useQueryDoc: any
10
- export const useQueryDoc$: any
11
7
  export const useBatchQueryDoc: any
12
8
  export const useBatchQueryDoc$: any
13
- export const useAsyncQueryDoc: any
14
- export const useAsyncQueryDoc$: any
@@ -1,8 +1,7 @@
1
1
  import { getRootSignal, GLOBAL_ROOT_ID } from "../Root.js";
2
- import useSub, { useAsyncSub } from "../../react/useSub.js";
2
+ import useSub from "../../react/useSub.js";
3
3
  import universal$ from "../../react/universal$.js";
4
4
  import * as promiseBatcher from "../../react/promiseBatcher.js";
5
- import { isCompatEnv } from '../compatEnv.js';
6
5
  import { isQueryReady } from './queryReadiness.js';
7
6
  const $root = getRootSignal({ rootId: GLOBAL_ROOT_ID, rootFunction: universal$ });
8
7
  const emittedCompatWarnings = new Set();
@@ -37,17 +36,6 @@ function getExtraQuerySignal($query, normalizedQuery) {
37
36
  return $query;
38
37
  return isExtraQuery(normalizedQuery) ? $query.extra : $query;
39
38
  }
40
- function useSyncQueryResult(collection, query, options, hookName) {
41
- const normalizedOptions = normalizeSyncSubOptions(options);
42
- const { $collection, $query } = useSubscribedQuery(collection, query, normalizedOptions, hookName, useSub);
43
- return [$query.get(), $collection];
44
- }
45
- function useAsyncQueryResult(collection, query, options, hookName) {
46
- const { $collection, $query } = useSubscribedQuery(collection, query, options, hookName, useAsyncSub);
47
- if (!$query)
48
- return [undefined, $collection];
49
- return [$query.get(), $collection];
50
- }
51
39
  export function useBatchQuery$(collection, query, _options) {
52
40
  const options = normalizeBatchSubOptions(_options);
53
41
  const { $query } = useSubscribedQuery(collection, query, options, 'useBatchQuery', useSub);
@@ -60,22 +48,6 @@ export function useBatchQuery(collection, query, _options) {
60
48
  return [undefined, $collection];
61
49
  return [$query.get(), $collection];
62
50
  }
63
- export function useQueryIds(collection, ids = [], options = {}) {
64
- const list = Array.isArray(ids) ? ids.slice() : [];
65
- if (options?.reverse)
66
- list.reverse();
67
- const [docs, $collection] = useSyncQueryResult(collection, { _id: { $in: list } }, options, 'useQueryIds');
68
- if (!docs)
69
- return [docs, $collection];
70
- const docsById = new Map();
71
- for (const doc of docs) {
72
- const id = doc?._id ?? doc?.id;
73
- if (id != null)
74
- docsById.set(id, doc);
75
- }
76
- const items = list.map(id => docsById.get(id)).filter(Boolean);
77
- return [items, $collection];
78
- }
79
51
  export function useBatchQueryIds(collection, ids = [], options = {}) {
80
52
  const list = Array.isArray(ids) ? ids.slice() : [];
81
53
  if (options?.reverse)
@@ -92,39 +64,6 @@ export function useBatchQueryIds(collection, ids = [], options = {}) {
92
64
  const items = list.map(id => docsById.get(id)).filter(Boolean);
93
65
  return [items, $collection];
94
66
  }
95
- export function useAsyncQueryIds(collection, ids = [], options = {}) {
96
- const list = Array.isArray(ids) ? ids.slice() : [];
97
- if (options?.reverse)
98
- list.reverse();
99
- const [docs, $collection] = useAsyncQueryResult(collection, { _id: { $in: list } }, options, 'useAsyncQueryIds');
100
- if (docs == null)
101
- return [undefined, $collection];
102
- const docsById = new Map();
103
- for (const doc of docs) {
104
- const id = doc?._id ?? doc?.id;
105
- if (id != null)
106
- docsById.set(id, doc);
107
- }
108
- const items = list.map(id => docsById.get(id)).filter(Boolean);
109
- return [items, $collection];
110
- }
111
- export function useQueryDoc(collection, query, options) {
112
- const normalized = normalizeQuery(query, 'useQueryDoc');
113
- const queryDoc = {
114
- ...normalized,
115
- $limit: 1,
116
- $sort: normalized.$sort || { createdAt: -1 }
117
- };
118
- const [docs, $collection] = useSyncQueryResult(collection, queryDoc, options, 'useQueryDoc');
119
- const doc = docs && docs[0];
120
- const docId = doc?._id ?? doc?.id;
121
- const $doc = docId != null ? $collection[docId] : undefined;
122
- return [doc, $doc];
123
- }
124
- export function useQueryDoc$(collection, query, options) {
125
- const [, $doc] = useQueryDoc(collection, query, options);
126
- return $doc;
127
- }
128
67
  export function useBatchQueryDoc(collection, query, options) {
129
68
  const normalized = normalizeQuery(query, 'useBatchQueryDoc');
130
69
  const queryDoc = {
@@ -144,25 +83,6 @@ export function useBatchQueryDoc$(collection, query, options) {
144
83
  const [, $doc] = useBatchQueryDoc(collection, query, options);
145
84
  return $doc;
146
85
  }
147
- export function useAsyncQueryDoc(collection, query, options) {
148
- const normalized = normalizeQuery(query, 'useAsyncQueryDoc');
149
- const queryDoc = {
150
- ...normalized,
151
- $limit: 1,
152
- $sort: normalized.$sort || { createdAt: -1 }
153
- };
154
- const [docs, $collection] = useAsyncQueryResult(collection, queryDoc, options, 'useAsyncQueryDoc');
155
- if (docs == null)
156
- return [undefined, undefined];
157
- const doc = docs && docs[0];
158
- const docId = doc?._id ?? doc?.id;
159
- const $doc = docId != null ? $collection[docId] : undefined;
160
- return [doc, $doc];
161
- }
162
- export function useAsyncQueryDoc$(collection, query, options) {
163
- const [, $doc] = useAsyncQueryDoc(collection, query, options);
164
- return $doc;
165
- }
166
86
  function getDocSignal(collection, id, hookName) {
167
87
  if (typeof collection !== 'string') {
168
88
  throw Error(`[${hookName}] collection must be a string. Got: ${collection}`);
@@ -223,17 +143,6 @@ const BATCH_SUB_OPTIONS = Object.freeze({
223
143
  // on route transitions and cause immediate reads from stale/empty local nodes.
224
144
  defer: false
225
145
  });
226
- function normalizeSyncSubOptions(options) {
227
- if (!isCompatEnv()) {
228
- return options ? { ...options, async: false } : options;
229
- }
230
- return {
231
- ...(options || {}),
232
- async: false,
233
- // Compat sync hooks are strict by design: no deferred snapshots between route/tab switches.
234
- defer: false
235
- };
236
- }
237
146
  function normalizeBatchSubOptions(options) {
238
147
  return options ? { ...options, ...BATCH_SUB_OPTIONS } : BATCH_SUB_OPTIONS;
239
148
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teamplay",
3
- "version": "0.5.0-alpha.16",
3
+ "version": "0.5.0-alpha.17",
4
4
  "description": "Full-stack signals ORM with multiplayer",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -134,5 +134,5 @@
134
134
  ]
135
135
  },
136
136
  "license": "MIT",
137
- "gitHead": "a6f311fb793aeeba904b81416400e609ab597174"
137
+ "gitHead": "26d5ef765255ec6a772718e50439dd3202924d3c"
138
138
  }