over-zero 0.0.34 → 0.0.36

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 (44) hide show
  1. package/dist/cjs/createUseQuery.cjs +72 -0
  2. package/dist/cjs/createUseQuery.js +46 -0
  3. package/dist/cjs/createUseQuery.js.map +6 -0
  4. package/dist/cjs/createUseQuery.native.js +88 -0
  5. package/dist/cjs/createUseQuery.native.js.map +1 -0
  6. package/dist/cjs/createZeroClient.cjs +9 -35
  7. package/dist/cjs/createZeroClient.js +7 -17
  8. package/dist/cjs/createZeroClient.js.map +2 -2
  9. package/dist/cjs/createZeroClient.native.js +8 -46
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/index.cjs +1 -0
  12. package/dist/cjs/index.js +1 -0
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/index.native.js +1 -0
  15. package/dist/cjs/index.native.js.map +1 -1
  16. package/dist/esm/createUseQuery.js +34 -0
  17. package/dist/esm/createUseQuery.js.map +6 -0
  18. package/dist/esm/createUseQuery.mjs +49 -0
  19. package/dist/esm/createUseQuery.mjs.map +1 -0
  20. package/dist/esm/createUseQuery.native.js +62 -0
  21. package/dist/esm/createUseQuery.native.js.map +1 -0
  22. package/dist/esm/createZeroClient.js +9 -20
  23. package/dist/esm/createZeroClient.js.map +1 -1
  24. package/dist/esm/createZeroClient.mjs +10 -36
  25. package/dist/esm/createZeroClient.mjs.map +1 -1
  26. package/dist/esm/createZeroClient.native.js +10 -48
  27. package/dist/esm/createZeroClient.native.js.map +1 -1
  28. package/dist/esm/index.js +1 -0
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/index.mjs +1 -0
  31. package/dist/esm/index.mjs.map +1 -1
  32. package/dist/esm/index.native.js +1 -0
  33. package/dist/esm/index.native.js.map +1 -1
  34. package/package.json +1 -1
  35. package/readme.md +23 -0
  36. package/src/createUseQuery.tsx +141 -0
  37. package/src/createZeroClient.tsx +16 -115
  38. package/src/index.ts +1 -0
  39. package/types/createUseQuery.d.ts +22 -0
  40. package/types/createUseQuery.d.ts.map +1 -0
  41. package/types/createZeroClient.d.ts +4 -16
  42. package/types/createZeroClient.d.ts.map +1 -1
  43. package/types/index.d.ts +1 -0
  44. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,49 @@
1
+ import { syncedQuery } from "@rocicorp/zero";
2
+ import { useQuery as zeroUseQuery } from "@rocicorp/zero/react";
3
+ import { use, useMemo } from "react";
4
+ import { useZeroDebug } from "./helpers/useZeroDebug.mjs";
5
+ import { getQueryName } from "./queryRegistry.mjs";
6
+ function createUseQuery({
7
+ DisabledContext,
8
+ disableInlineQueries = !1
9
+ }) {
10
+ const queryCache = /* @__PURE__ */new Map(),
11
+ parseAny = x => [x[0]];
12
+ function useQuery(...args) {
13
+ const disabled = use(DisabledContext),
14
+ [queryOrFn, paramsOrOptions, optionsArg] = args,
15
+ isPlainFunction = typeof queryOrFn == "function" && !("queryName" in queryOrFn),
16
+ {
17
+ actualQuery,
18
+ options
19
+ } = useMemo(() => {
20
+ if (!isPlainFunction) return {
21
+ actualQuery: queryOrFn,
22
+ options: paramsOrOptions
23
+ };
24
+ const fn = queryOrFn,
25
+ queryName = getQueryName(fn);
26
+ if (!queryName) throw new Error("No query name?");
27
+ const hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
28
+ params = hasParams ? paramsOrOptions : void 0,
29
+ opts = hasParams ? optionsArg : paramsOrOptions;
30
+ let synced = queryCache.get(queryName);
31
+ return synced || (synced = syncedQuery(queryName, parseAny, arg => fn(arg)), queryCache.set(queryName, synced)), {
32
+ actualQuery: params !== void 0 ? synced(params) : synced,
33
+ options: opts
34
+ };
35
+ }, [queryOrFn, paramsOrOptions, optionsArg, isPlainFunction]);
36
+ console.info("running", {
37
+ actualQuery,
38
+ options,
39
+ queryOrFn
40
+ });
41
+ const out = zeroUseQuery(actualQuery, options);
42
+ return process.env.NODE_ENV === "development" && useZeroDebug(actualQuery, options, out), disabled ? [null, {
43
+ type: "unknown"
44
+ }] : out;
45
+ }
46
+ return useQuery;
47
+ }
48
+ export { createUseQuery };
49
+ //# sourceMappingURL=createUseQuery.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["syncedQuery","useQuery","zeroUseQuery","use","useMemo","useZeroDebug","getQueryName","createUseQuery","DisabledContext","disableInlineQueries","queryCache","Map","parseAny","x","args","disabled","queryOrFn","paramsOrOptions","optionsArg","isPlainFunction","actualQuery","options","fn","queryName","Error","hasParams","params","opts","synced","get","arg","set","console","info","out","process","env","NODE_ENV","type"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,QAAA,IAAYC,YAAA,QAAoB;AACzC,SAASC,GAAA,EAAKC,OAAA,QAA6B;AAE3C,SAASC,YAAA,QAAoB;AAC7B,SAASC,YAAA,QAAoB;AAyDtB,SAASC,eAGd;EACAC,eAAA;EACAC,oBAAA,GAAuB;AACzB,GAGwC;EACtC,MAAMC,UAAA,GAAa,mBAAIC,GAAA,CAAkD;IACnEC,QAAA,GAAYC,CAAA,IAAsC,CAACA,CAAA,CAAE,CAAC,CAAsB;EAElF,SAASZ,SAAA,GAAYa,IAAA,EAAkB;IACrC,MAAMC,QAAA,GAAWZ,GAAA,CAAIK,eAAe;MAC9B,CAACQ,SAAA,EAAWC,eAAA,EAAiBC,UAAU,IAAIJ,IAAA;MAG3CK,eAAA,GAAkB,OAAOH,SAAA,IAAc,cAAc,EAAE,eAAeA,SAAA;MAEtE;QAAEI,WAAA;QAAaC;MAAQ,IAAIjB,OAAA,CAAQ,MAAM;QAC7C,IAAI,CAACe,eAAA,EAEH,OAAO;UACLC,WAAA,EAAaJ,SAAA;UACbK,OAAA,EAASJ;QACX;QAGF,MAAMK,EAAA,GAAKN,SAAA;UACLO,SAAA,GAAYjB,YAAA,CAAagB,EAAE;QAEjC,IAAI,CAACC,SAAA,EACH,MAAM,IAAIC,KAAA,CAAM,gBAAgB;QAIlC,MAAMC,SAAA,GACJP,UAAA,KAAe,UACdD,eAAA,IACC,OAAOA,eAAA,IAAoB,YAC3B,EAAE,aAAaA,eAAA,KACf,EAAE,SAASA,eAAA;UAETS,MAAA,GAASD,SAAA,GAAYR,eAAA,GAAkB;UACvCU,IAAA,GAAOF,SAAA,GAAYP,UAAA,GAAaD,eAAA;QAEtC,IAAIW,MAAA,GAASlB,UAAA,CAAWmB,GAAA,CAAIN,SAAS;QACrC,OAAKK,MAAA,KACHA,MAAA,GAAS5B,WAAA,CAAYuB,SAAA,EAAWX,QAAA,EAAWkB,GAAA,IAClCR,EAAA,CAAGQ,GAAG,CACd,GACDpB,UAAA,CAAWqB,GAAA,CAAIR,SAAA,EAAWK,MAAM,IAM3B;UAAER,WAAA,EAFKM,MAAA,KAAW,SAAaE,MAAA,CAAeF,MAAM,IAAIE,MAAA;UAElCP,OAAA,EAASM;QAAK;MAC7C,GAAG,CAACX,SAAA,EAAWC,eAAA,EAAiBC,UAAA,EAAYC,eAAe,CAAC;IAE5Da,OAAA,CAAQC,IAAA,CAAK,WAAW;MAAEb,WAAA;MAAaC,OAAA;MAASL;IAAU,CAAC;IAE3D,MAAMkB,GAAA,GAAMhC,YAAA,CAAakB,WAAA,EAAaC,OAAO;IAO7C,OALIc,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAE3BhC,YAAA,CAAae,WAAA,EAAaC,OAAA,EAASa,GAAG,GAGpCnB,QAAA,GACK,CAAC,MAAM;MAAEuB,IAAA,EAAM;IAAU,CAAC,IAG5BJ,GAAA;EACT;EAEA,OAAOjC,QAAA;AACT","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ import { syncedQuery } from "@rocicorp/zero";
2
+ import { useQuery as zeroUseQuery } from "@rocicorp/zero/react";
3
+ import { use, useMemo } from "react";
4
+ import { useZeroDebug } from "./helpers/useZeroDebug.native.js";
5
+ import { getQueryName } from "./queryRegistry.native.js";
6
+ function _type_of(obj) {
7
+ "@swc/helpers - typeof";
8
+
9
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
10
+ }
11
+ function createUseQuery(param) {
12
+ var {
13
+ DisabledContext,
14
+ disableInlineQueries = !1
15
+ } = param,
16
+ queryCache = /* @__PURE__ */new Map(),
17
+ parseAny = function (x) {
18
+ return [x[0]];
19
+ };
20
+ function useQuery() {
21
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
22
+ var disabled = use(DisabledContext),
23
+ [queryOrFn, paramsOrOptions, optionsArg] = args,
24
+ isPlainFunction = typeof queryOrFn == "function" && !("queryName" in queryOrFn),
25
+ {
26
+ actualQuery,
27
+ options
28
+ } = useMemo(function () {
29
+ if (!isPlainFunction) return {
30
+ actualQuery: queryOrFn,
31
+ options: paramsOrOptions
32
+ };
33
+ var fn = queryOrFn,
34
+ queryName = getQueryName(fn);
35
+ if (!queryName) throw new Error("No query name?");
36
+ var hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions > "u" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
37
+ params = hasParams ? paramsOrOptions : void 0,
38
+ opts = hasParams ? optionsArg : paramsOrOptions,
39
+ synced = queryCache.get(queryName);
40
+ synced || (synced = syncedQuery(queryName, parseAny, function (arg) {
41
+ return fn(arg);
42
+ }), queryCache.set(queryName, synced));
43
+ var query = params !== void 0 ? synced(params) : synced;
44
+ return {
45
+ actualQuery: query,
46
+ options: opts
47
+ };
48
+ }, [queryOrFn, paramsOrOptions, optionsArg, isPlainFunction]);
49
+ console.info("running", {
50
+ actualQuery,
51
+ options,
52
+ queryOrFn
53
+ });
54
+ var out = zeroUseQuery(actualQuery, options);
55
+ return process.env.NODE_ENV === "development" && useZeroDebug(actualQuery, options, out), disabled ? [null, {
56
+ type: "unknown"
57
+ }] : out;
58
+ }
59
+ return useQuery;
60
+ }
61
+ export { createUseQuery };
62
+ //# sourceMappingURL=createUseQuery.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["syncedQuery","useQuery","zeroUseQuery","use","useMemo","useZeroDebug","getQueryName","_type_of","obj","Symbol","constructor","createUseQuery","param","DisabledContext","disableInlineQueries","queryCache","Map","parseAny","x","_len","arguments","length","args","Array","_key","disabled","queryOrFn","paramsOrOptions","optionsArg","isPlainFunction","actualQuery","options","fn","queryName","Error","hasParams","params","opts","synced","get","arg"],"sources":["../../src/createUseQuery.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAC5B,SAASC,QAAA,IAAYC,YAAA,QAAoB;AACzC,SAASC,GAAA,EAAKC,OAAA,QAA6B;AAE3C,SAASC,YAAA,QAAoB;AAC7B,SAASC,YAAA,QAAoB;AAyDtB,SAASC,SAAAC,GAAA;EAId;;EACA,OAAAA,GAAA,WAAAC,MAAuB,UAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACzB;AAIE,SAAMG,cAAaA,CAAAC,KAAA;EAGnB;MAAAC,eAAqB;MAAAC,oBAAkB;IAAA,IAAAF,KAAA;IAAAG,UAAA,sBAAAC,GAAA;IAAAC,QAAA,YAAAA,CAAAC,CAAA;MACrC,OAAM,CAOJA,CAAA,GAAI,CAEF;IAAO;EACQ,SACbjB,QAASA,CAAA;IAAA,KACX,IAAAkB,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,IAGFF,IAAA,CAAAE,IAAM,IAAKJ,SACL,CAAAI,IAAA;IAEN,IAAAC,QAAK,GAAAtB,GAAA,CAAAU,eAAA;MAAA,CAAAa,SAAA,EAAAC,eAAA,EAAAC,UAAA,IAAAN,IAAA;MAAAO,eAAA,UAAAH,SAAA,mCAAAA,SAAA;MAAA;QAAAI,WAAA;QAAAC;MAAA,IAAA3B,OAAA;QACH,KAAAyB,eAAgB,EAIlB,OAAM;UAUFC,WAAS,EAAAJ,SAAW;UACxBK,OAAK,EAAAJ;QAWH;QAEJ,IAAAK,EAAQ,GAAAN,SAAK;UAAAO,SAAa,GAAA3B,YAAa,CAAA0B,EAAS;QAEhD,IAAM,CAAAC,SAAM,EAOZ,MALI,IAAAC,KAAY,iBAAa;QAU/B,IAAAC,SAAA,GAAAP,UAAA,eAAAD,eAAA,YAAAA,eAAA,uBAAApB,QAAA,CAAAoB,eAAA,kCAAAA,eAAA,gBAAAA,eAAA;UAAAS,MAAA,GAAAD,SAAA,GAAAR,eAAA;UAAAU,IAAA,GAAAF,SAAA,GAAAP,UAAA,GAAAD,eAAA;UAAAW,MAAA,GAAAvB,UAAA,CAAAwB,GAAA,CAAAN,SAAA;QAEAK,MAAO,KAAAA,MAAA,GAAAtC,WAAA,CAAAiC,SAAA,EAAAhB,QAAA,YAAAuB,GAAA;UACT,OAAAR,EAAA,CAAAQ,GAAA","ignoreList":[]}
@@ -1,18 +1,18 @@
1
- import { syncedQuery } from "@rocicorp/zero";
2
- import { useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
1
+ import { useZero, ZeroProvider } from "@rocicorp/zero/react";
3
2
  import { createEmitter, mapObject } from "@vxrn/helpers";
4
3
  import { createContext, use, useMemo } from "react";
5
4
  import { createPermissions } from "./createPermissions";
5
+ import { createUseQuery } from "./createUseQuery";
6
6
  import { createMutators } from "./helpers/createMutators";
7
7
  import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery";
8
- import { useZeroDebug } from "./helpers/useZeroDebug";
9
- import { registerQuery, getQueryName } from "./queryRegistry";
8
+ import { registerQuery } from "./queryRegistry";
10
9
  import { setAuthData, setSchema } from "./state";
11
10
  import { jsx, jsxs } from "react/jsx-runtime";
12
11
  function createZeroClient({
13
12
  schema,
14
13
  models,
15
- groupedQueries
14
+ groupedQueries,
15
+ disableInlineQueries = !1
16
16
  }) {
17
17
  setSchema(schema);
18
18
  for (const [namespace, queries] of Object.entries(groupedQueries))
@@ -27,7 +27,10 @@ function createZeroClient({
27
27
  }), permissionsHelpers = createPermissions({
28
28
  schema,
29
29
  environment: "client"
30
- }), zeroEvents = createEmitter("zero", null), AuthDataContext = createContext({}), useAuthData = () => use(AuthDataContext);
30
+ }), zeroEvents = createEmitter("zero", null), AuthDataContext = createContext({}), useAuthData = () => use(AuthDataContext), useQuery = createUseQuery({
31
+ DisabledContext,
32
+ disableInlineQueries
33
+ });
31
34
  function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
32
35
  const disabled = use(DisabledContext), authData = useAuthData(), permission = modelWritePermissions[table], query = (() => {
33
36
  let baseQuery = zero.query[table].one();
@@ -48,20 +51,6 @@ function createZeroClient({
48
51
  const allowed = !!data;
49
52
  return objOrId ? allowed : !1;
50
53
  }
51
- const queryCache = /* @__PURE__ */ new Map(), parseAny = (x) => [x[0]];
52
- function useQuery(...args) {
53
- const disabled = use(DisabledContext), [queryOrFn, paramsOrOptions, optionsArg] = args, isPlainFunction = typeof queryOrFn == "function" && !("queryName" in queryOrFn), { actualQuery, options } = useMemo(() => {
54
- if (!isPlainFunction)
55
- return {
56
- actualQuery: queryOrFn,
57
- options: paramsOrOptions
58
- };
59
- const fn = queryOrFn, queryName = getQueryName(fn) || fn.name || "anonymousQuery", hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions), params = hasParams ? paramsOrOptions : void 0, opts = hasParams ? optionsArg : paramsOrOptions;
60
- let synced = queryCache.get(queryName);
61
- return synced || (synced = syncedQuery(queryName, parseAny, (arg) => fn(arg)), queryCache.set(queryName, synced)), { actualQuery: params !== void 0 ? synced(params) : synced, options: opts };
62
- }, [queryOrFn, paramsOrOptions, optionsArg, isPlainFunction]), out = zeroUseQuery(actualQuery, options);
63
- return process.env.NODE_ENV === "development" && useZeroDebug(actualQuery, options, out), disabled ? [null, { type: "unknown" }] : out;
64
- }
65
54
  const ProvideZero = ({
66
55
  children,
67
56
  authData: authDataIn,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroClient.tsx"],
4
- "mappings": "AAAA,SAAS,mBAAmB;AAC5B,SAAS,SAAS,cAAc,YAAY,oBAAoB;AAChE,SAAS,eAAe,iBAAiB;AACzC,SAAS,eAAe,KAAK,eAA+B;AAE5D,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAC7B,SAAS,eAAe,oBAAoB;AAC5C,SAAS,aAAa,iBAAiB;AA+P/B,SAaE,KAbF;AA7OD,SAAS,iBAGd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAIG;AAKD,YAAU,MAAM;AAGhB,aAAW,CAAC,WAAW,OAAO,KAAK,OAAO,QAAQ,cAAc;AAC9D,eAAW,CAAC,MAAM,EAAE,KAAK,OAAO,QAAQ,OAAO;AAC7C,oBAAc,IAAI,GAAG,SAAS,IAAI,IAAI,EAAE;AAI5C,QAAM,kBAAkB,cAAc,EAAK,GAErC,wBAAwB,UAAU,QAAQ,CAAC,QAAQ,IAAI,WAAW;AAIxE,MAAI,qBAA0C;AAI9C,QAAM,OAAqB,IAAI,MAAM,CAAC,GAAY;AAAA,IAChD,IAAI,GAAG,KAAK;AACV,aAAO,QAAQ,IAAI,oBAAqB,KAAK,kBAAkB;AAAA,IACjE;AAAA,EACF,CAAC,GAEK,qBAAqB,kBAA0B;AAAA,IACnD;AAAA,IACA,aAAa;AAAA,EACf,CAAC,GAMK,aAAa,cAAgC,QAAQ,IAAI,GAEzD,kBAAkB,cAAwB,CAAC,CAAa,GACxD,cAAc,MAAM,IAAI,eAAe;AAM7C,WAAS,cACP,OACA,SACA,UAAU,OAAO,UAAY,KAC7B,QAAQ,IACQ;AAChB,UAAM,WAAW,IAAI,eAAe,GAE9B,WAAW,YAAY,GACvB,aAAa,sBAAsB,KAAK,GAExC,SAAS,MAAM;AACnB,UAAI,YAAY,KAAK,MAAM,KAAK,EAAE,IAAI;AAEtC,aAAI,YAAY,CAAC,WAAW,CAAC,aACpB,YAGF,UAAU,MAAM,CAAC,OACf,mBAAmB;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CACD;AAAA,IACH,GAAG,GAEG,CAAC,MAAM,MAAM,IAAI,SAAS,OAAO;AAAA,MACrC,SAAS,GAAQ,WAAW,cAAc,YAAY;AAAA,IACxD,CAAC;AAED,IAAI,SACF,QAAQ;AAAA,MACN;AAAA,MACA,EAAE,MAAM,QAAQ,UAAU,WAAW;AAAA,MACrC,sBAAsB,KAAK;AAAA,IAC7B;AAKF,UAAM,UAAU,EAFD;AAIf,WAAK,UAIE,UAHE;AAAA,EAIX;AAeA,QAAM,aAAa,oBAAI,IAAkD,GAEnE,WAAW,CAAC,MAAsC,CAAC,EAAE,CAAC,CAAsB;AAwBlF,WAAS,YAAY,MAAkB;AACrC,UAAM,WAAW,IAAI,eAAe,GAC9B,CAAC,WAAW,iBAAiB,UAAU,IAAI,MAG3C,kBAAkB,OAAO,aAAc,cAAc,EAAE,eAAe,YAEtE,EAAE,aAAa,QAAQ,IAAI,QAAQ,MAAM;AAC7C,UAAI,CAAC;AAEH,eAAO;AAAA,UACL,aAAa;AAAA,UACb,SAAS;AAAA,QACX;AAGF,YAAM,KAAK,WACL,YAAY,aAAa,EAAE,KAAK,GAAG,QAAQ,kBAG3C,YACJ,eAAe,UACd,mBACC,OAAO,mBAAoB,YAC3B,EAAE,aAAa,oBACf,EAAE,SAAS,kBAET,SAAS,YAAY,kBAAkB,QACvC,OAAO,YAAY,aAAa;AAEtC,UAAI,SAAS,WAAW,IAAI,SAAS;AACrC,aAAK,WACH,SAAS,YAAY,WAAW,UAAU,CAAC,QAClC,GAAG,GAAG,CACd,GACD,WAAW,IAAI,WAAW,MAAM,IAM3B,EAAE,aAFK,WAAW,SAAa,OAAe,MAAM,IAAI,QAElC,SAAS,KAAK;AAAA,IAC7C,GAAG,CAAC,WAAW,iBAAiB,YAAY,eAAe,CAAC,GAEtD,MAAM,aAAa,aAAa,OAAO;AAO7C,WALI,QAAQ,IAAI,aAAa,iBAE3B,aAAa,aAAa,SAAS,GAAG,GAGpC,WACK,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC,IAG5B;AAAA,EACT;AAEA,QAAM,cAAc,CAAC;AAAA,IACnB;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,GAAG;AAAA,EACL,MAIM;AACJ,UAAM,WAAY,cAAc,MAE1B,WAAW,QAAQ,OACvB,YAAY,QAAQ,GAEb,eAAe;AAAA,MACpB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,KAAK,mBAAmB;AAAA,IAC1B,CAAC,IACA,CAAC,QAAQ,QAAQ,CAAC;AAGrB,WAAI,UACK,WAIP,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,UAC/B;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,SAAQ;AAAA,QACR,SAAS,CAAC,UAAU;AAClB,kBAAQ,MAAM,eAAe,KAAK,GAClC,WAAW,KAAK;AAAA,YACd,MAAM;AAAA,YACN,SAAS;AAAA,UACX,CAAC;AAAA,QACH;AAAA,QACA;AAAA,QACC,GAAG;AAAA,QAEJ;AAAA,8BAAC,mBAAgB;AAAA,UAChB;AAAA;AAAA;AAAA,IACH,GACF;AAAA,EAEJ,GAEM,kBAAkB,MAAM;AAC5B,UAAMA,QAAO,QAA8B;AAQ3C,WAAIA,UAAS,uBACX,qBAAqBA,QAGhB;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "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",
5
5
  "names": ["zero"]
6
6
  }
@@ -1,18 +1,18 @@
1
- import { syncedQuery } from "@rocicorp/zero";
2
- import { useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
1
+ import { useZero, ZeroProvider } from "@rocicorp/zero/react";
3
2
  import { createEmitter, mapObject } from "@vxrn/helpers";
4
3
  import { createContext, use, useMemo } from "react";
5
4
  import { createPermissions } from "./createPermissions.mjs";
5
+ import { createUseQuery } from "./createUseQuery.mjs";
6
6
  import { createMutators } from "./helpers/createMutators.mjs";
7
7
  import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery.mjs";
8
- import { useZeroDebug } from "./helpers/useZeroDebug.mjs";
9
- import { registerQuery, getQueryName } from "./queryRegistry.mjs";
8
+ import { registerQuery } from "./queryRegistry.mjs";
10
9
  import { setAuthData, setSchema } from "./state.mjs";
11
10
  import { jsx, jsxs } from "react/jsx-runtime";
12
11
  function createZeroClient({
13
12
  schema,
14
13
  models,
15
- groupedQueries
14
+ groupedQueries,
15
+ disableInlineQueries = !1
16
16
  }) {
17
17
  setSchema(schema);
18
18
  for (const [namespace, queries] of Object.entries(groupedQueries)) for (const [name, fn] of Object.entries(queries)) registerQuery(fn, `${namespace}.${name}`);
@@ -30,7 +30,11 @@ function createZeroClient({
30
30
  }),
31
31
  zeroEvents = createEmitter("zero", null),
32
32
  AuthDataContext = createContext({}),
33
- useAuthData = () => use(AuthDataContext);
33
+ useAuthData = () => use(AuthDataContext),
34
+ useQuery = createUseQuery({
35
+ DisabledContext,
36
+ disableInlineQueries
37
+ });
34
38
  function usePermission(table, objOrId, enabled = typeof objOrId < "u", debug = !1) {
35
39
  const disabled = use(DisabledContext),
36
40
  authData = useAuthData(),
@@ -51,36 +55,6 @@ function createZeroClient({
51
55
  const allowed = !!data;
52
56
  return objOrId ? allowed : !1;
53
57
  }
54
- const queryCache = /* @__PURE__ */new Map(),
55
- parseAny = x => [x[0]];
56
- function useQuery(...args) {
57
- const disabled = use(DisabledContext),
58
- [queryOrFn, paramsOrOptions, optionsArg] = args,
59
- isPlainFunction = typeof queryOrFn == "function" && !("queryName" in queryOrFn),
60
- {
61
- actualQuery,
62
- options
63
- } = useMemo(() => {
64
- if (!isPlainFunction) return {
65
- actualQuery: queryOrFn,
66
- options: paramsOrOptions
67
- };
68
- const fn = queryOrFn,
69
- queryName = getQueryName(fn) || fn.name || "anonymousQuery",
70
- hasParams = optionsArg !== void 0 || paramsOrOptions && typeof paramsOrOptions == "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
71
- params = hasParams ? paramsOrOptions : void 0,
72
- opts = hasParams ? optionsArg : paramsOrOptions;
73
- let synced = queryCache.get(queryName);
74
- return synced || (synced = syncedQuery(queryName, parseAny, arg => fn(arg)), queryCache.set(queryName, synced)), {
75
- actualQuery: params !== void 0 ? synced(params) : synced,
76
- options: opts
77
- };
78
- }, [queryOrFn, paramsOrOptions, optionsArg, isPlainFunction]),
79
- out = zeroUseQuery(actualQuery, options);
80
- return process.env.NODE_ENV === "development" && useZeroDebug(actualQuery, options, out), disabled ? [null, {
81
- type: "unknown"
82
- }] : out;
83
- }
84
58
  const ProvideZero = ({
85
59
  children,
86
60
  authData: authDataIn,
@@ -1 +1 @@
1
- {"version":3,"names":["syncedQuery","useZero","ZeroProvider","useQuery","zeroUseQuery","createEmitter","mapObject","createContext","use","useMemo","createPermissions","createMutators","prettyFormatZeroQuery","useZeroDebug","registerQuery","getQueryName","setAuthData","setSchema","jsx","jsxs","createZeroClient","schema","models","groupedQueries","namespace","queries","Object","entries","name","fn","DisabledContext","modelWritePermissions","val","permissions","latestZeroInstance","zero","Proxy","get","_","key","Reflect","permissionsHelpers","environment","zeroEvents","AuthDataContext","useAuthData","usePermission","table","objOrId","enabled","debug","disabled","authData","permission","query","baseQuery","one","where","eb","buildPermissionQuery","data","status","console","info","allowed","queryCache","Map","parseAny","x","args","queryOrFn","paramsOrOptions","optionsArg","isPlainFunction","actualQuery","options","queryName","hasParams","params","opts","synced","arg","set","out","process","env","NODE_ENV","type","ProvideZero","children","authDataIn","disable","props","mutators","can","Provider","value","kvStore","onError","error","emit","message","SetZeroInstance","zero2"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useZero","ZeroProvider","createEmitter","mapObject","createContext","use","useMemo","createPermissions","createUseQuery","createMutators","prettyFormatZeroQuery","registerQuery","setAuthData","setSchema","jsx","jsxs","createZeroClient","schema","models","groupedQueries","disableInlineQueries","namespace","queries","Object","entries","name","fn","DisabledContext","modelWritePermissions","val","permissions","latestZeroInstance","zero","Proxy","get","_","key","Reflect","permissionsHelpers","environment","zeroEvents","AuthDataContext","useAuthData","useQuery","usePermission","table","objOrId","enabled","debug","disabled","authData","permission","query","baseQuery","one","where","eb","buildPermissionQuery","data","status","console","info","allowed","ProvideZero","children","authDataIn","disable","props","mutators","can","Provider","value","kvStore","onError","error","emit","type","message","SetZeroInstance","zero2"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { syncedQuery } from "@rocicorp/zero";
3
- import { useZero, ZeroProvider, useQuery as zeroUseQuery } from "@rocicorp/zero/react";
2
+ import { useZero, ZeroProvider } from "@rocicorp/zero/react";
4
3
  import { createEmitter, mapObject } from "@vxrn/helpers";
5
4
  import { createContext, use, useMemo } from "react";
6
5
  import { createPermissions } from "./createPermissions.native.js";
6
+ import { createUseQuery } from "./createUseQuery.native.js";
7
7
  import { createMutators } from "./helpers/createMutators.native.js";
8
8
  import { prettyFormatZeroQuery } from "./helpers/prettyFormatZeroQuery.native.js";
9
- import { useZeroDebug } from "./helpers/useZeroDebug.native.js";
10
- import { registerQuery, getQueryName } from "./queryRegistry.native.js";
9
+ import { registerQuery } from "./queryRegistry.native.js";
11
10
  import { setAuthData, setSchema } from "./state.native.js";
12
- function _type_of(obj) {
13
- "@swc/helpers - typeof";
14
-
15
- return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
16
- }
17
11
  function createZeroClient(param) {
18
12
  var {
19
13
  schema,
20
14
  models,
21
- groupedQueries
15
+ groupedQueries,
16
+ disableInlineQueries = !1
22
17
  } = param;
23
18
  setSchema(schema);
24
19
  var _iteratorNormalCompletion = !0,
@@ -72,7 +67,11 @@ function createZeroClient(param) {
72
67
  AuthDataContext = /* @__PURE__ */createContext({}),
73
68
  useAuthData = function () {
74
69
  return use(AuthDataContext);
75
- };
70
+ },
71
+ useQuery = createUseQuery({
72
+ DisabledContext,
73
+ disableInlineQueries
74
+ });
76
75
  function usePermission(table, objOrId) {
77
76
  var enabled = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : typeof objOrId < "u",
78
77
  debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1,
@@ -98,43 +97,6 @@ function createZeroClient(param) {
98
97
  allowed = !!result;
99
98
  return objOrId ? allowed : !1;
100
99
  }
101
- var queryCache = /* @__PURE__ */new Map(),
102
- parseAny = function (x) {
103
- return [x[0]];
104
- };
105
- function useQuery() {
106
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
107
- var disabled = use(DisabledContext),
108
- [queryOrFn, paramsOrOptions, optionsArg] = args,
109
- isPlainFunction = typeof queryOrFn == "function" && !("queryName" in queryOrFn),
110
- {
111
- actualQuery,
112
- options
113
- } = useMemo(function () {
114
- if (!isPlainFunction) return {
115
- actualQuery: queryOrFn,
116
- options: paramsOrOptions
117
- };
118
- var fn2 = queryOrFn,
119
- queryName = getQueryName(fn2) || fn2.name || "anonymousQuery",
120
- hasParams = optionsArg !== void 0 || paramsOrOptions && (typeof paramsOrOptions > "u" ? "undefined" : _type_of(paramsOrOptions)) === "object" && !("enabled" in paramsOrOptions) && !("ttl" in paramsOrOptions),
121
- params = hasParams ? paramsOrOptions : void 0,
122
- opts = hasParams ? optionsArg : paramsOrOptions,
123
- synced = queryCache.get(queryName);
124
- synced || (synced = syncedQuery(queryName, parseAny, function (arg) {
125
- return fn2(arg);
126
- }), queryCache.set(queryName, synced));
127
- var query = params !== void 0 ? synced(params) : synced;
128
- return {
129
- actualQuery: query,
130
- options: opts
131
- };
132
- }, [queryOrFn, paramsOrOptions, optionsArg, isPlainFunction]),
133
- out = zeroUseQuery(actualQuery, options);
134
- return process.env.NODE_ENV === "development" && useZeroDebug(actualQuery, options, out), disabled ? [null, {
135
- type: "unknown"
136
- }] : out;
137
- }
138
100
  var ProvideZero = function (param2) {
139
101
  var {
140
102
  children,
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","syncedQuery","useZero","ZeroProvider","useQuery","zeroUseQuery","createEmitter","mapObject","createContext","use","useMemo","createPermissions","createMutators","prettyFormatZeroQuery","useZeroDebug","registerQuery","getQueryName","setAuthData","setSchema","_type_of","obj","Symbol","constructor","createZeroClient","param","schema","models","groupedQueries","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","name","fn","err","return","DisabledContext","modelWritePermissions","val","permissions","latestZeroInstance","zero","Proxy","get","_","key","Reflect","permissionsHelpers","environment","zeroEvents","AuthDataContext","useAuthData","usePermission","table","objOrId","enabled","arguments","length","debug","disabled","authData","permission","query","baseQuery","one","where","eb","buildPermissionQuery","data","status","console","info","result","allowed","queryCache","Map","parseAny","x","_len","args","Array","_key","queryOrFn","paramsOrOptions","optionsArg","isPlainFunction","actualQuery","options","fn2","queryName","hasParams","params","opts","synced","arg","set","out"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useZero","ZeroProvider","createEmitter","mapObject","createContext","use","useMemo","createPermissions","createUseQuery","createMutators","prettyFormatZeroQuery","registerQuery","setAuthData","setSchema","createZeroClient","param","schema","models","groupedQueries","disableInlineQueries","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","namespace","queries","value","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","name","fn","err","return","DisabledContext","modelWritePermissions","val","permissions","latestZeroInstance","zero","Proxy","get","_","key","Reflect","permissionsHelpers","environment","zeroEvents","AuthDataContext","useAuthData","useQuery","usePermission","table","objOrId","enabled","arguments","length","debug","disabled","authData","permission","query","baseQuery","one","where","eb","buildPermissionQuery","data","status","console","info","result","allowed","ProvideZero","param2","children","authDataIn","disable","props","mutators","can","Provider","kvStore","onError","error","emit","type"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -5,6 +5,7 @@ export * from "./helpers/createMutators";
5
5
  export * from "./helpers/ensureLoggedIn";
6
6
  export * from "./helpers/mutatorContext";
7
7
  export * from "./createZeroClient";
8
+ export * from "./createUseQuery";
8
9
  export * from "./mutations";
9
10
  export * from "./where";
10
11
  export * from "./serverWhere";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -5,6 +5,7 @@ export * from "./helpers/createMutators.mjs";
5
5
  export * from "./helpers/ensureLoggedIn.mjs";
6
6
  export * from "./helpers/mutatorContext.mjs";
7
7
  export * from "./createZeroClient.mjs";
8
+ export * from "./createUseQuery.mjs";
8
9
  export * from "./mutations.mjs";
9
10
  export * from "./where.mjs";
10
11
  export * from "./serverWhere.mjs";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
@@ -5,6 +5,7 @@ export * from "./helpers/createMutators.native.js";
5
5
  export * from "./helpers/ensureLoggedIn.native.js";
6
6
  export * from "./helpers/mutatorContext.native.js";
7
7
  export * from "./createZeroClient.native.js";
8
+ export * from "./createUseQuery.native.js";
8
9
  export * from "./mutations.native.js";
9
10
  export * from "./where.native.js";
10
11
  export * from "./serverWhere.native.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "over-zero",
3
- "version": "0.0.34",
3
+ "version": "0.0.36",
4
4
  "sideEffects": false,
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/cjs",
package/readme.md CHANGED
@@ -388,6 +388,29 @@ declare module 'over-zero' {
388
388
  }
389
389
  ```
390
390
 
391
+ ### disableInlineQueries
392
+
393
+ pass `disableInlineQueries: true` to `createZeroClient` to prevent the footgun
394
+ pattern of passing inline queries directly to `useQuery`:
395
+
396
+ ```ts
397
+ const { useQuery } = createZeroClient({
398
+ schema,
399
+ models,
400
+ groupedQueries,
401
+ disableInlineQueries: true, // recommended
402
+ })
403
+
404
+ // ✅ allowed: function reference + params
405
+ const [posts] = useQuery(allPosts, { limit: 20 })
406
+
407
+ // ❌ type error: inline query bypasses synced queries and permissions
408
+ const [posts] = useQuery(zero.query.post.where('userId', id))
409
+ ```
410
+
411
+ this prevents a common footgun where inline queries skip the synced query system
412
+ and server-side permission checks, causing optimistic updates to be reverted.
413
+
391
414
  ## mutation context
392
415
 
393
416
  every mutation receives `MutatorContext` as first argument: