@rocicorp/zero 0.4.2024103000 → 0.5.2024103100

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 (56) hide show
  1. package/out/{chunk-4UHYW2B5.js → chunk-TBA526RR.js} +26 -34
  2. package/out/chunk-TBA526RR.js.map +7 -0
  3. package/out/react.js.map +2 -2
  4. package/out/shared/src/iterables.d.ts.map +1 -1
  5. package/out/shared/src/iterables.js +0 -5
  6. package/out/shared/src/iterables.js.map +1 -1
  7. package/out/solid.js +1 -1
  8. package/out/zero-cache/src/config/zero-config.d.ts +38 -38
  9. package/out/zero-cache/src/db/statements.d.ts +1 -1
  10. package/out/zero-cache/src/services/replicator/incremental-sync.js +1 -1
  11. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +5 -5
  12. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  13. package/out/zero-cache/src/types/lite.js +5 -0
  14. package/out/zero-cache/src/types/lite.js.map +1 -1
  15. package/out/zero-protocol/src/ast.d.ts +2 -2
  16. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  17. package/out/zero-protocol/src/ast.js +2 -1
  18. package/out/zero-protocol/src/ast.js.map +1 -1
  19. package/out/zero-protocol/src/change-desired-queries.d.ts +2 -2
  20. package/out/zero-protocol/src/connect.d.ts +2 -2
  21. package/out/zero-protocol/src/data.d.ts +2 -2
  22. package/out/zero-protocol/src/data.d.ts.map +1 -1
  23. package/out/zero-protocol/src/data.js +2 -1
  24. package/out/zero-protocol/src/data.js.map +1 -1
  25. package/out/zero-protocol/src/down.d.ts +3 -3
  26. package/out/zero-protocol/src/poke.d.ts +6 -6
  27. package/out/zero-protocol/src/push.d.ts +21 -21
  28. package/out/zero-protocol/src/queries-patch.d.ts +3 -3
  29. package/out/zero-protocol/src/row-patch.d.ts +2 -2
  30. package/out/zero-protocol/src/up.d.ts +5 -5
  31. package/out/zero-react/src/use-query.d.ts.map +1 -1
  32. package/out/zero.js +1 -1
  33. package/out/zql/src/zql/ivm/fan-in.d.ts +4 -2
  34. package/out/zql/src/zql/ivm/fan-in.d.ts.map +1 -1
  35. package/out/zql/src/zql/ivm/fan-in.js +8 -5
  36. package/out/zql/src/zql/ivm/fan-in.js.map +1 -1
  37. package/out/zql/src/zql/ivm/fan-out.d.ts +2 -2
  38. package/out/zql/src/zql/ivm/fan-out.d.ts.map +1 -1
  39. package/out/zql/src/zql/ivm/fan-out.js +3 -5
  40. package/out/zql/src/zql/ivm/fan-out.js.map +1 -1
  41. package/out/zql/src/zql/ivm/filter.d.ts +1 -2
  42. package/out/zql/src/zql/ivm/filter.d.ts.map +1 -1
  43. package/out/zql/src/zql/ivm/filter.js +8 -5
  44. package/out/zql/src/zql/ivm/filter.js.map +1 -1
  45. package/out/zql/src/zql/ivm/memory-source.d.ts +2 -2
  46. package/out/zql/src/zql/ivm/schema.d.ts +1 -1
  47. package/out/zql/src/zql/ivm/schema.d.ts.map +1 -1
  48. package/out/zql/src/zql/ivm/take.d.ts.map +1 -1
  49. package/out/zql/src/zql/ivm/take.js.map +1 -1
  50. package/out/zqlite/src/db.d.ts +1 -1
  51. package/out/zqlite/src/db.js +1 -1
  52. package/out/zqlite/src/table-source.d.ts.map +1 -1
  53. package/out/zqlite/src/table-source.js +44 -23
  54. package/out/zqlite/src/table-source.js.map +1 -1
  55. package/package.json +2 -2
  56. package/out/chunk-4UHYW2B5.js.map +0 -7
package/out/react.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../zero-react/src/use-query.tsx", "../../shared/src/deep-clone.ts", "../../zero-react/src/use-zero.tsx"],
4
- "sourcesContent": ["import {useSyncExternalStore} from 'react';\nimport {deepClone} from '../../shared/src/deep-clone.js';\nimport type {Immutable} from '../../shared/src/immutable.js';\nimport type {\n Query,\n QueryType,\n Smash,\n TableSchema,\n TypedView,\n} from '../../zero-client/src/mod.js';\nimport type {AdvancedQuery} from '../../zql/src/zql/query/query-internal.js';\nimport {useZero} from './use-zero.js';\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(q: Query<TSchema, TReturn>, enable: boolean = true): Smash<TReturn> {\n const z = useZero();\n const view = viewStore.getView(\n z.clientID,\n q as AdvancedQuery<TSchema, TReturn>,\n enable,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(view.subscribeReactInternals, view.getSnapshot);\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nclass ViewStore {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #views = new Map<string, ViewWrapper<any, any>>();\n\n getView<TSchema extends TableSchema, TReturn extends QueryType>(\n clientID: string,\n query: AdvancedQuery<TSchema, TReturn>,\n enabled: boolean,\n ): {\n getSnapshot: () => Smash<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n } {\n if (!enabled) {\n return {\n getSnapshot: () =>\n (query.format.singular ? undefined : emptyArray) as Smash<TReturn>,\n subscribeReactInternals: disabledSubscriber,\n };\n }\n\n const hash = query.hash() + clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(\n query,\n view => {\n const lastView = this.#views.get(hash);\n // I don't think this can happen\n // but lets guard against it so we don't\n // leak resources.\n if (lastView && lastView !== view) {\n throw new Error('View already exists');\n }\n this.#views.set(hash, view);\n },\n () => {\n this.#views.delete(hash);\n },\n ) as ViewWrapper<TSchema, TReturn>;\n this.#views.set(hash, existing);\n }\n return existing;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener cound will go to 0 then a\n * new listener for the same view is immeidatiely added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<TSchema extends TableSchema, TReturn extends QueryType> {\n #view: TypedView<Smash<TReturn>> | undefined;\n readonly #defaultSnapshot: Smash<TReturn>;\n readonly #onDematerialized;\n readonly #onMaterialized;\n readonly #query: AdvancedQuery<TSchema, TReturn>;\n #snapshot: Smash<TReturn>;\n #reactInternals: Set<() => void>;\n\n constructor(\n query: AdvancedQuery<TSchema, TReturn>,\n onMaterialized: (view: ViewWrapper<TSchema, TReturn>) => void,\n onDematerialized: () => void,\n ) {\n this.#defaultSnapshot = (query.format.singular\n ? undefined\n : emptyArray) as unknown as Smash<TReturn>;\n this.#snapshot = this.#defaultSnapshot;\n this.#onMaterialized = onMaterialized;\n this.#onDematerialized = onDematerialized;\n this.#reactInternals = new Set();\n this.#query = query;\n }\n\n #onData = (snap: Immutable<Smash<TReturn>>) => {\n this.#snapshot = (\n snap === undefined ? snap : deepClone(snap)\n ) as Smash<TReturn>;\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#query.materialize();\n this.#view.addListener(this.#onData);\n\n this.#onMaterialized(this);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n if (this.#reactInternals.size === 0) {\n this.#view?.destroy();\n this.#view = undefined;\n this.#onDematerialized();\n }\n };\n };\n}\n", "import {hasOwn} from './has-own.js';\nimport type {JSONValue, ReadonlyJSONValue} from './json.js';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {createContext, useContext} from 'react';\nimport type {Schema, Zero} from '../../zero-client/src/mod.js';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ZeroContext = createContext<Zero<Schema> | undefined>(undefined);\n\nexport function useZero<S extends Schema>(): Zero<S> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S>;\n}\n\nexport function createUseZero<S extends Schema>() {\n return () => useZero<S>();\n}\n\nexport function ZeroProvider<S extends Schema>({\n children,\n zero,\n}: {\n children: React.ReactNode;\n zero: Zero<S>;\n}) {\n return (\n <ZeroContext.Provider value={zero as Zero<Schema>}>\n {children}\n </ZeroContext.Provider>\n );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {useSyncExternalStore} from 'react';\nimport {deepClone} from '../../shared/src/deep-clone.js';\nimport type {Immutable} from '../../shared/src/immutable.js';\nimport type {\n Query,\n QueryType,\n ReadonlyJSONValue,\n Smash,\n TableSchema,\n TypedView,\n} from '../../zero-client/src/mod.js';\nimport type {AdvancedQuery} from '../../zql/src/zql/query/query-internal.js';\nimport {useZero} from './use-zero.js';\n\nexport function useQuery<\n TSchema extends TableSchema,\n TReturn extends QueryType,\n>(q: Query<TSchema, TReturn>, enable: boolean = true): Smash<TReturn> {\n const z = useZero();\n const view = viewStore.getView(\n z.clientID,\n q as AdvancedQuery<TSchema, TReturn>,\n enable,\n );\n // https://react.dev/reference/react/useSyncExternalStore\n return useSyncExternalStore(view.subscribeReactInternals, view.getSnapshot);\n}\n\nconst emptyArray: unknown[] = [];\nconst disabledSubscriber = () => () => {};\n\n/**\n * A global store of all active views.\n *\n * React subscribes and unsubscribes to these views\n * via `useSyncExternalStore`.\n *\n * Managing views through `useEffect` or `useLayoutEffect` causes\n * inconsistencies because effects run after render.\n *\n * For example, if useQuery used use*Effect in the component below:\n * ```ts\n * function Foo({issueID}) {\n * const issue = useQuery(z.query.issue.where('id', issueID).one());\n * if (issue?.id !== undefined && issue.id !== issueID) {\n * console.log('MISMATCH!', issue.id, issueID);\n * }\n * }\n * ```\n *\n * `MISMATCH` will be printed whenever the `issueID` prop changes.\n *\n * This is because the component will render once with\n * the old state returned from `useQuery`. Then the effect inside\n * `useQuery` will run. The component will render again with the new\n * state. This inconsistent transition can cause unexpected results.\n *\n * Emulating `useEffect` via `useState` and `if` causes resource leaks.\n * That is:\n *\n * ```ts\n * function useQuery(q) {\n * const [oldHash, setOldHash] = useState();\n * if (hash(q) !== oldHash) {\n * // make new view\n * }\n *\n * useEffect(() => {\n * return () => view.destroy();\n * }, []);\n * }\n * ```\n *\n * I'm not sure why but in strict mode the cleanup function\n * fails to be called for the first instance of the view and only\n * cleans up later instances.\n *\n * Swapping `useState` to `useRef` has similar problems.\n */\nclass ViewStore {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #views = new Map<string, ViewWrapper<any, any>>();\n\n getView<TSchema extends TableSchema, TReturn extends QueryType>(\n clientID: string,\n query: AdvancedQuery<TSchema, TReturn>,\n enabled: boolean,\n ): {\n getSnapshot: () => Smash<TReturn>;\n subscribeReactInternals: (internals: () => void) => () => void;\n } {\n if (!enabled) {\n return {\n getSnapshot: () =>\n (query.format.singular ? undefined : emptyArray) as Smash<TReturn>,\n subscribeReactInternals: disabledSubscriber,\n };\n }\n\n const hash = query.hash() + clientID;\n let existing = this.#views.get(hash);\n if (!existing) {\n existing = new ViewWrapper(\n query,\n view => {\n const lastView = this.#views.get(hash);\n // I don't think this can happen\n // but lets guard against it so we don't\n // leak resources.\n if (lastView && lastView !== view) {\n throw new Error('View already exists');\n }\n this.#views.set(hash, view);\n },\n () => {\n this.#views.delete(hash);\n },\n ) as ViewWrapper<TSchema, TReturn>;\n this.#views.set(hash, existing);\n }\n return existing;\n }\n}\n\nconst viewStore = new ViewStore();\n\n/**\n * This wraps and ref counts a view.\n *\n * The only signal we have from React as to whether or not it is\n * done with a view is when it calls `unsubscribe`.\n *\n * In non-strict-mode we can clean up the view as soon\n * as the listener count goes to 0.\n *\n * In strict-mode, the listener cound will go to 0 then a\n * new listener for the same view is immeidatiely added back.\n *\n * This is why the `onMaterialized` and `onDematerialized` callbacks exist --\n * they allow a view which React is still referencing to be added\n * back into the store when React re-subscribes to it.\n *\n * This wrapper also exists to deal with the various\n * `useSyncExternalStore` caveats that cause excessive\n * re-renders and materializations.\n *\n * See: https://react.dev/reference/react/useSyncExternalStore#caveats\n * Especially:\n * 1. The store snapshot returned by getSnapshot must be immutable. If the underlying store has mutable data, return a new immutable snapshot if the data has changed. Otherwise, return a cached last snapshot.\n * 2. If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.\n */\nclass ViewWrapper<TSchema extends TableSchema, TReturn extends QueryType> {\n #view: TypedView<Smash<TReturn>> | undefined;\n readonly #defaultSnapshot: Smash<TReturn>;\n readonly #onDematerialized;\n readonly #onMaterialized;\n readonly #query: AdvancedQuery<TSchema, TReturn>;\n #snapshot: Smash<TReturn>;\n #reactInternals: Set<() => void>;\n\n constructor(\n query: AdvancedQuery<TSchema, TReturn>,\n onMaterialized: (view: ViewWrapper<TSchema, TReturn>) => void,\n onDematerialized: () => void,\n ) {\n this.#defaultSnapshot = (query.format.singular\n ? undefined\n : emptyArray) as unknown as Smash<TReturn>;\n this.#snapshot = this.#defaultSnapshot;\n this.#onMaterialized = onMaterialized;\n this.#onDematerialized = onDematerialized;\n this.#reactInternals = new Set();\n this.#query = query;\n }\n\n #onData = (snap: Immutable<Smash<TReturn>>) => {\n this.#snapshot = (\n snap === undefined ? snap : deepClone(snap as ReadonlyJSONValue)\n ) as Smash<TReturn>;\n for (const internals of this.#reactInternals) {\n internals();\n }\n };\n\n #materializeIfNeeded = () => {\n if (this.#view) {\n return;\n }\n\n this.#view = this.#query.materialize();\n this.#view.addListener(this.#onData);\n\n this.#onMaterialized(this);\n };\n\n getSnapshot = () => this.#snapshot;\n\n subscribeReactInternals = (internals: () => void): (() => void) => {\n this.#reactInternals.add(internals);\n this.#materializeIfNeeded();\n return () => {\n this.#reactInternals.delete(internals);\n if (this.#reactInternals.size === 0) {\n this.#view?.destroy();\n this.#view = undefined;\n this.#onDematerialized();\n }\n };\n };\n}\n", "import {hasOwn} from './has-own.js';\nimport type {JSONValue, ReadonlyJSONValue} from './json.js';\n\nexport function deepClone(value: ReadonlyJSONValue): JSONValue {\n const seen: Array<ReadonlyJSONValue> = [];\n return internalDeepClone(value, seen);\n}\n\nexport function internalDeepClone(\n value: ReadonlyJSONValue,\n seen: Array<ReadonlyJSONValue>,\n): JSONValue {\n switch (typeof value) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'undefined':\n return value;\n case 'object': {\n if (value === null) {\n return null;\n }\n if (seen.includes(value)) {\n throw new Error('Cyclic object');\n }\n seen.push(value);\n if (Array.isArray(value)) {\n const rv = value.map(v => internalDeepClone(v, seen));\n seen.pop();\n return rv;\n }\n\n const obj: JSONValue = {};\n\n for (const k in value) {\n if (hasOwn(value, k)) {\n const v = (value as Record<string, ReadonlyJSONValue>)[k];\n if (v !== undefined) {\n obj[k] = internalDeepClone(v, seen);\n }\n }\n }\n seen.pop();\n return obj;\n }\n\n default:\n throw new Error(`Invalid type: ${typeof value}`);\n }\n}\n", "import {createContext, useContext} from 'react';\nimport type {Schema, Zero} from '../../zero-client/src/mod.js';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst ZeroContext = createContext<Zero<Schema> | undefined>(undefined);\n\nexport function useZero<S extends Schema>(): Zero<S> {\n const zero = useContext(ZeroContext);\n if (zero === undefined) {\n throw new Error('useZero must be used within a ZeroProvider');\n }\n return zero as Zero<S>;\n}\n\nexport function createUseZero<S extends Schema>() {\n return () => useZero<S>();\n}\n\nexport function ZeroProvider<S extends Schema>({\n children,\n zero,\n}: {\n children: React.ReactNode;\n zero: Zero<S>;\n}) {\n return (\n <ZeroContext.Provider value={zero as Zero<Schema>}>\n {children}\n </ZeroContext.Provider>\n );\n}\n"],
5
+ "mappings": ";;;;;;AAAA,SAAQ,4BAA2B;;;ACG5B,SAAS,UAAU,OAAqC;AAC7D,QAAM,OAAiC,CAAC;AACxC,SAAO,kBAAkB,OAAO,IAAI;AACtC;AAEO,SAAS,kBACd,OACA,MACW;AACX,UAAQ,OAAO,OAAO;AAAA,IACpB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK,UAAU;AACb,UAAI,UAAU,MAAM;AAClB,eAAO;AAAA,MACT;AACA,UAAI,KAAK,SAAS,KAAK,GAAG;AACxB,cAAM,IAAI,MAAM,eAAe;AAAA,MACjC;AACA,WAAK,KAAK,KAAK;AACf,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,KAAK,MAAM,IAAI,OAAK,kBAAkB,GAAG,IAAI,CAAC;AACpD,aAAK,IAAI;AACT,eAAO;AAAA,MACT;AAEA,YAAM,MAAiB,CAAC;AAExB,iBAAW,KAAK,OAAO;AACrB,YAAI,OAAO,OAAO,CAAC,GAAG;AACpB,gBAAM,IAAK,MAA4C,CAAC;AACxD,cAAI,MAAM,QAAW;AACnB,gBAAI,CAAC,IAAI,kBAAkB,GAAG,IAAI;AAAA,UACpC;AAAA,QACF;AAAA,MACF;AACA,WAAK,IAAI;AACT,aAAO;AAAA,IACT;AAAA,IAEA;AACE,YAAM,IAAI,MAAM,iBAAiB,OAAO,KAAK,EAAE;AAAA,EACnD;AACF;;;ACjDA,SAAQ,eAAe,kBAAiB;AA0BpC;AAtBJ,IAAM,cAAc,cAAwC,MAAS;AAE9D,SAAS,UAAqC;AACnD,QAAM,OAAO,WAAW,WAAW;AACnC,MAAI,SAAS,QAAW;AACtB,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAC9D;AACA,SAAO;AACT;AAEO,SAAS,gBAAkC;AAChD,SAAO,MAAM,QAAW;AAC1B;AAEO,SAAS,aAA+B;AAAA,EAC7C;AAAA,EACA;AACF,GAGG;AACD,SACE,oBAAC,YAAY,UAAZ,EAAqB,OAAO,MAC1B,UACH;AAEJ;;;AFhBO,SAAS,SAGd,GAA4B,SAAkB,MAAsB;AACpE,QAAM,IAAI,QAAQ;AAClB,QAAM,OAAO,UAAU;AAAA,IACrB,EAAE;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAEA,SAAO,qBAAqB,KAAK,yBAAyB,KAAK,WAAW;AAC5E;AAEA,IAAM,aAAwB,CAAC;AAC/B,IAAM,qBAAqB,MAAM,MAAM;AAAC;AAkDxC,IAAM,YAAN,MAAgB;AAAA;AAAA,EAEd,SAAS,oBAAI,IAAmC;AAAA,EAEhD,QACE,UACA,OACA,SAIA;AACA,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,QACL,aAAa,MACV,MAAM,OAAO,WAAW,SAAY;AAAA,QACvC,yBAAyB;AAAA,MAC3B;AAAA,IACF;AAEA,UAAM,OAAO,MAAM,KAAK,IAAI;AAC5B,QAAI,WAAW,KAAK,OAAO,IAAI,IAAI;AACnC,QAAI,CAAC,UAAU;AACb,iBAAW,IAAI;AAAA,QACb;AAAA,QACA,UAAQ;AACN,gBAAM,WAAW,KAAK,OAAO,IAAI,IAAI;AAIrC,cAAI,YAAY,aAAa,MAAM;AACjC,kBAAM,IAAI,MAAM,qBAAqB;AAAA,UACvC;AACA,eAAK,OAAO,IAAI,MAAM,IAAI;AAAA,QAC5B;AAAA,QACA,MAAM;AACJ,eAAK,OAAO,OAAO,IAAI;AAAA,QACzB;AAAA,MACF;AACA,WAAK,OAAO,IAAI,MAAM,QAAQ;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AACF;AAEA,IAAM,YAAY,IAAI,UAAU;AA2BhC,IAAM,cAAN,MAA0E;AAAA,EACxE;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACT;AAAA,EACA;AAAA,EAEA,YACE,OACA,gBACA,kBACA;AACA,SAAK,mBAAoB,MAAM,OAAO,WAClC,SACA;AACJ,SAAK,YAAY,KAAK;AACtB,SAAK,kBAAkB;AACvB,SAAK,oBAAoB;AACzB,SAAK,kBAAkB,oBAAI,IAAI;AAC/B,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,UAAU,CAAC,SAAoC;AAC7C,SAAK,YACH,SAAS,SAAY,OAAO,UAAU,IAAyB;AAEjE,eAAW,aAAa,KAAK,iBAAiB;AAC5C,gBAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,uBAAuB,MAAM;AAC3B,QAAI,KAAK,OAAO;AACd;AAAA,IACF;AAEA,SAAK,QAAQ,KAAK,OAAO,YAAY;AACrC,SAAK,MAAM,YAAY,KAAK,OAAO;AAEnC,SAAK,gBAAgB,IAAI;AAAA,EAC3B;AAAA,EAEA,cAAc,MAAM,KAAK;AAAA,EAEzB,0BAA0B,CAAC,cAAwC;AACjE,SAAK,gBAAgB,IAAI,SAAS;AAClC,SAAK,qBAAqB;AAC1B,WAAO,MAAM;AACX,WAAK,gBAAgB,OAAO,SAAS;AACrC,UAAI,KAAK,gBAAgB,SAAS,GAAG;AACnC,aAAK,OAAO,QAAQ;AACpB,aAAK,QAAQ;AACb,aAAK,kBAAkB;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iterables.d.ts","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"AAEA,wBAAiB,aAAa,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,2BAIxD;AA2BD,cAAM,WAAW,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAI7B,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAIrD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAG5D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAEjE;AAED,wBAAiB,cAAc,CAAC,CAAC,EAC/B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,UAAQ,GACf,gBAAgB,CAAC,CAAC,CAAC,CAwCrB"}
1
+ {"version":3,"file":"iterables.d.ts","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"AAEA,wBAAiB,aAAa,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,2BAIxD;AA2BD,cAAM,WAAW,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAI7B,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAIrD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAG5D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAEjE;AAED,wBAAiB,cAAc,CAAC,CAAC,EAC/B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,EAClC,QAAQ,UAAQ,GACf,gBAAgB,CAAC,CAAC,CAAC,CAoCrB"}
@@ -64,11 +64,6 @@ export function* mergeIterables(iterables, comparator, distinct = false) {
64
64
  yield min[0];
65
65
  }
66
66
  }
67
- catch (e) {
68
- for (const it of iterators) {
69
- it.throw?.(e);
70
- }
71
- }
72
67
  finally {
73
68
  for (const it of iterators) {
74
69
  it.return?.();
@@ -1 +1 @@
1
- {"version":3,"file":"iterables.js","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterables.js","sourceRoot":"","sources":["../../../../shared/src/iterables.ts"],"names":[],"mappings":"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"}
package/out/solid.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Zero
3
- } from "./chunk-4UHYW2B5.js";
3
+ } from "./chunk-TBA526RR.js";
4
4
  import "./chunk-HARIWJ2J.js";
5
5
  import "./chunk-ULOTOBTC.js";
6
6
  import {
@@ -21,7 +21,7 @@ declare const ruleSchema: v.TupleType<[v.Type<"allow">, v.ObjectType<{
21
21
  limit: v.Optional<number>;
22
22
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
23
23
  start: v.Optional<{
24
- row: Record<string, string | number | boolean | null | undefined>;
24
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
25
25
  exclusive: boolean;
26
26
  }>;
27
27
  }, undefined>]>;
@@ -44,7 +44,7 @@ declare const policySchema: v.ArrayType<v.TupleType<[v.Type<"allow">, v.ObjectTy
44
44
  limit: v.Optional<number>;
45
45
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
46
46
  start: v.Optional<{
47
- row: Record<string, string | number | boolean | null | undefined>;
47
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
48
48
  exclusive: boolean;
49
49
  }>;
50
50
  }, undefined>]>>;
@@ -67,7 +67,7 @@ declare const assetSchema: v.ObjectType<{
67
67
  limit?: number | undefined;
68
68
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
69
69
  start?: {
70
- row: Record<string, string | number | boolean | null | undefined>;
70
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
71
71
  exclusive: boolean;
72
72
  } | undefined;
73
73
  table: string;
@@ -89,7 +89,7 @@ declare const assetSchema: v.ObjectType<{
89
89
  limit?: number | undefined;
90
90
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
91
91
  start?: {
92
- row: Record<string, string | number | boolean | null | undefined>;
92
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
93
93
  exclusive: boolean;
94
94
  } | undefined;
95
95
  table: string;
@@ -111,7 +111,7 @@ declare const assetSchema: v.ObjectType<{
111
111
  limit?: number | undefined;
112
112
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
113
113
  start?: {
114
- row: Record<string, string | number | boolean | null | undefined>;
114
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
115
115
  exclusive: boolean;
116
116
  } | undefined;
117
117
  table: string;
@@ -133,7 +133,7 @@ declare const assetSchema: v.ObjectType<{
133
133
  limit?: number | undefined;
134
134
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
135
135
  start?: {
136
- row: Record<string, string | number | boolean | null | undefined>;
136
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
137
137
  exclusive: boolean;
138
138
  } | undefined;
139
139
  table: string;
@@ -159,7 +159,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
159
159
  limit?: number | undefined;
160
160
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
161
161
  start?: {
162
- row: Record<string, string | number | boolean | null | undefined>;
162
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
163
163
  exclusive: boolean;
164
164
  } | undefined;
165
165
  table: string;
@@ -181,7 +181,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
181
181
  limit?: number | undefined;
182
182
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
183
183
  start?: {
184
- row: Record<string, string | number | boolean | null | undefined>;
184
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
185
185
  exclusive: boolean;
186
186
  } | undefined;
187
187
  table: string;
@@ -203,7 +203,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
203
203
  limit?: number | undefined;
204
204
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
205
205
  start?: {
206
- row: Record<string, string | number | boolean | null | undefined>;
206
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
207
207
  exclusive: boolean;
208
208
  } | undefined;
209
209
  table: string;
@@ -225,7 +225,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
225
225
  limit?: number | undefined;
226
226
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
227
227
  start?: {
228
- row: Record<string, string | number | boolean | null | undefined>;
228
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
229
229
  exclusive: boolean;
230
230
  } | undefined;
231
231
  table: string;
@@ -249,7 +249,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
249
249
  limit?: number | undefined;
250
250
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
251
251
  start?: {
252
- row: Record<string, string | number | boolean | null | undefined>;
252
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
253
253
  exclusive: boolean;
254
254
  } | undefined;
255
255
  table: string;
@@ -271,7 +271,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
271
271
  limit?: number | undefined;
272
272
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
273
273
  start?: {
274
- row: Record<string, string | number | boolean | null | undefined>;
274
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
275
275
  exclusive: boolean;
276
276
  } | undefined;
277
277
  table: string;
@@ -293,7 +293,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
293
293
  limit?: number | undefined;
294
294
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
295
295
  start?: {
296
- row: Record<string, string | number | boolean | null | undefined>;
296
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
297
297
  exclusive: boolean;
298
298
  } | undefined;
299
299
  table: string;
@@ -315,7 +315,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
315
315
  limit?: number | undefined;
316
316
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
317
317
  start?: {
318
- row: Record<string, string | number | boolean | null | undefined>;
318
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
319
319
  exclusive: boolean;
320
320
  } | undefined;
321
321
  table: string;
@@ -339,7 +339,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
339
339
  limit?: number | undefined;
340
340
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
341
341
  start?: {
342
- row: Record<string, string | number | boolean | null | undefined>;
342
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
343
343
  exclusive: boolean;
344
344
  } | undefined;
345
345
  table: string;
@@ -361,7 +361,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
361
361
  limit?: number | undefined;
362
362
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
363
363
  start?: {
364
- row: Record<string, string | number | boolean | null | undefined>;
364
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
365
365
  exclusive: boolean;
366
366
  } | undefined;
367
367
  table: string;
@@ -383,7 +383,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
383
383
  limit?: number | undefined;
384
384
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
385
385
  start?: {
386
- row: Record<string, string | number | boolean | null | undefined>;
386
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
387
387
  exclusive: boolean;
388
388
  } | undefined;
389
389
  table: string;
@@ -405,7 +405,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
405
405
  limit?: number | undefined;
406
406
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
407
407
  start?: {
408
- row: Record<string, string | number | boolean | null | undefined>;
408
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
409
409
  exclusive: boolean;
410
410
  } | undefined;
411
411
  table: string;
@@ -429,7 +429,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
429
429
  limit?: number | undefined;
430
430
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
431
431
  start?: {
432
- row: Record<string, string | number | boolean | null | undefined>;
432
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
433
433
  exclusive: boolean;
434
434
  } | undefined;
435
435
  table: string;
@@ -451,7 +451,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
451
451
  limit?: number | undefined;
452
452
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
453
453
  start?: {
454
- row: Record<string, string | number | boolean | null | undefined>;
454
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
455
455
  exclusive: boolean;
456
456
  } | undefined;
457
457
  table: string;
@@ -473,7 +473,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
473
473
  limit?: number | undefined;
474
474
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
475
475
  start?: {
476
- row: Record<string, string | number | boolean | null | undefined>;
476
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
477
477
  exclusive: boolean;
478
478
  } | undefined;
479
479
  table: string;
@@ -495,7 +495,7 @@ declare const authorizationConfigSchema: v.Type<Record<string, {
495
495
  limit?: number | undefined;
496
496
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
497
497
  start?: {
498
- row: Record<string, string | number | boolean | null | undefined>;
498
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
499
499
  exclusive: boolean;
500
500
  } | undefined;
501
501
  table: string;
@@ -578,7 +578,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
578
578
  limit?: number | undefined;
579
579
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
580
580
  start?: {
581
- row: Record<string, string | number | boolean | null | undefined>;
581
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
582
582
  exclusive: boolean;
583
583
  } | undefined;
584
584
  table: string;
@@ -600,7 +600,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
600
600
  limit?: number | undefined;
601
601
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
602
602
  start?: {
603
- row: Record<string, string | number | boolean | null | undefined>;
603
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
604
604
  exclusive: boolean;
605
605
  } | undefined;
606
606
  table: string;
@@ -622,7 +622,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
622
622
  limit?: number | undefined;
623
623
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
624
624
  start?: {
625
- row: Record<string, string | number | boolean | null | undefined>;
625
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
626
626
  exclusive: boolean;
627
627
  } | undefined;
628
628
  table: string;
@@ -644,7 +644,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
644
644
  limit?: number | undefined;
645
645
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
646
646
  start?: {
647
- row: Record<string, string | number | boolean | null | undefined>;
647
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
648
648
  exclusive: boolean;
649
649
  } | undefined;
650
650
  table: string;
@@ -668,7 +668,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
668
668
  limit?: number | undefined;
669
669
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
670
670
  start?: {
671
- row: Record<string, string | number | boolean | null | undefined>;
671
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
672
672
  exclusive: boolean;
673
673
  } | undefined;
674
674
  table: string;
@@ -690,7 +690,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
690
690
  limit?: number | undefined;
691
691
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
692
692
  start?: {
693
- row: Record<string, string | number | boolean | null | undefined>;
693
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
694
694
  exclusive: boolean;
695
695
  } | undefined;
696
696
  table: string;
@@ -712,7 +712,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
712
712
  limit?: number | undefined;
713
713
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
714
714
  start?: {
715
- row: Record<string, string | number | boolean | null | undefined>;
715
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
716
716
  exclusive: boolean;
717
717
  } | undefined;
718
718
  table: string;
@@ -734,7 +734,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
734
734
  limit?: number | undefined;
735
735
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
736
736
  start?: {
737
- row: Record<string, string | number | boolean | null | undefined>;
737
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
738
738
  exclusive: boolean;
739
739
  } | undefined;
740
740
  table: string;
@@ -758,7 +758,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
758
758
  limit?: number | undefined;
759
759
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
760
760
  start?: {
761
- row: Record<string, string | number | boolean | null | undefined>;
761
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
762
762
  exclusive: boolean;
763
763
  } | undefined;
764
764
  table: string;
@@ -780,7 +780,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
780
780
  limit?: number | undefined;
781
781
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
782
782
  start?: {
783
- row: Record<string, string | number | boolean | null | undefined>;
783
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
784
784
  exclusive: boolean;
785
785
  } | undefined;
786
786
  table: string;
@@ -802,7 +802,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
802
802
  limit?: number | undefined;
803
803
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
804
804
  start?: {
805
- row: Record<string, string | number | boolean | null | undefined>;
805
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
806
806
  exclusive: boolean;
807
807
  } | undefined;
808
808
  table: string;
@@ -824,7 +824,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
824
824
  limit?: number | undefined;
825
825
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
826
826
  start?: {
827
- row: Record<string, string | number | boolean | null | undefined>;
827
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
828
828
  exclusive: boolean;
829
829
  } | undefined;
830
830
  table: string;
@@ -848,7 +848,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
848
848
  limit?: number | undefined;
849
849
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
850
850
  start?: {
851
- row: Record<string, string | number | boolean | null | undefined>;
851
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
852
852
  exclusive: boolean;
853
853
  } | undefined;
854
854
  table: string;
@@ -870,7 +870,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
870
870
  limit?: number | undefined;
871
871
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
872
872
  start?: {
873
- row: Record<string, string | number | boolean | null | undefined>;
873
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
874
874
  exclusive: boolean;
875
875
  } | undefined;
876
876
  table: string;
@@ -892,7 +892,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
892
892
  limit?: number | undefined;
893
893
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
894
894
  start?: {
895
- row: Record<string, string | number | boolean | null | undefined>;
895
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
896
896
  exclusive: boolean;
897
897
  } | undefined;
898
898
  table: string;
@@ -914,7 +914,7 @@ export declare const zeroConfigSchema: v.ObjectType<Omit<{
914
914
  limit?: number | undefined;
915
915
  orderBy?: readonly (readonly [string, "asc" | "desc"])[] | undefined;
916
916
  start?: {
917
- row: Record<string, string | number | boolean | null | undefined>;
917
+ row: Record<string, import("../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
918
918
  exclusive: boolean;
919
919
  } | undefined;
920
920
  table: string;
@@ -1,4 +1,4 @@
1
- import type { RunResult } from 'better-sqlite3-bedrock';
1
+ import type { RunResult } from '@rocicorp/zero-sqlite3';
2
2
  import { Database } from '../../../zqlite/src/db.js';
3
3
  import { StatementCache } from '../../../zqlite/src/internal/statement-cache.js';
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { SqliteError } from 'better-sqlite3-bedrock';
1
+ import { SqliteError } from '@rocicorp/zero-sqlite3';
2
2
  import { LogicalReplicationService } from 'pg-logical-replication';
3
3
  import { AbortError } from '../../../../shared/src/abort-error.js';
4
4
  import { assert, unreachable } from '../../../../shared/src/asserts.js';
@@ -99,7 +99,7 @@ export declare const baseQueryRecordSchema: v.ObjectType<{
99
99
  limit: v.Optional<number>;
100
100
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
101
101
  start: v.Optional<{
102
- row: Record<string, string | number | boolean | null | undefined>;
102
+ row: Record<string, import("../../../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
103
103
  exclusive: boolean;
104
104
  }>;
105
105
  }, undefined>;
@@ -168,7 +168,7 @@ export declare const internalQueryRecordSchema: v.ObjectType<Omit<{
168
168
  limit: v.Optional<number>;
169
169
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
170
170
  start: v.Optional<{
171
- row: Record<string, string | number | boolean | null | undefined>;
171
+ row: Record<string, import("../../../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
172
172
  exclusive: boolean;
173
173
  }>;
174
174
  }, undefined>;
@@ -234,7 +234,7 @@ export declare const clientQueryRecordSchema: v.ObjectType<Omit<{
234
234
  limit: v.Optional<number>;
235
235
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
236
236
  start: v.Optional<{
237
- row: Record<string, string | number | boolean | null | undefined>;
237
+ row: Record<string, import("../../../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
238
238
  exclusive: boolean;
239
239
  }>;
240
240
  }, undefined>;
@@ -308,7 +308,7 @@ export declare const queryRecordSchema: v.UnionType<[v.ObjectType<Omit<{
308
308
  limit: v.Optional<number>;
309
309
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
310
310
  start: v.Optional<{
311
- row: Record<string, string | number | boolean | null | undefined>;
311
+ row: Record<string, import("../../../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
312
312
  exclusive: boolean;
313
313
  }>;
314
314
  }, undefined>;
@@ -380,7 +380,7 @@ export declare const queryRecordSchema: v.UnionType<[v.ObjectType<Omit<{
380
380
  limit: v.Optional<number>;
381
381
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
382
382
  start: v.Optional<{
383
- row: Record<string, string | number | boolean | null | undefined>;
383
+ row: Record<string, import("../../../../../shared/src/json.js").ReadonlyJSONValue | undefined>;
384
384
  exclusive: boolean;
385
385
  }>;
386
386
  }, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/lite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAE3C,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;AAEzE,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAiB9C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,EAAE,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,CAM/D;AAwBD,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,GACnB,WAAW,CAEb;AAUD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GACjB,SAAS,GAAG,SAAS,CAkDvB"}
1
+ {"version":3,"file":"lite.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/types/lite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAE3C,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;AAEzE,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAiB9C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,EAAE,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,CAM/D;AAwBD,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,GACnB,WAAW,CAEb;AAUD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GACjB,SAAS,GAAG,SAAS,CAwDvB"}
@@ -75,6 +75,7 @@ function mapLiteDataTypeToZqlValueType(dataType) {
75
75
  * For types not supported by ZQL, returns `undefined`.
76
76
  */
77
77
  export function dataTypeToZqlValueType(pgDataType) {
78
+ console.log('considering datatype', pgDataType);
78
79
  switch (pgDataType.toLowerCase()) {
79
80
  case 'smallint':
80
81
  case 'integer':
@@ -104,6 +105,7 @@ export function dataTypeToZqlValueType(pgDataType) {
104
105
  // Timestamps are represented as epoch milliseconds (at microsecond resolution using floating point),
105
106
  // and DATEs are represented as epoch milliseconds of UTC midnight of the date.
106
107
  return 'number';
108
+ case 'bpchar':
107
109
  case 'character':
108
110
  case 'character varying':
109
111
  case 'text':
@@ -112,6 +114,9 @@ export function dataTypeToZqlValueType(pgDataType) {
112
114
  case 'bool':
113
115
  case 'boolean':
114
116
  return 'boolean';
117
+ case 'json':
118
+ case 'jsonb':
119
+ return 'json';
115
120
  // TODO: Add support for these.
116
121
  // case 'bytea':
117
122
  // case 'time':
@@ -1 +1 @@
1
- {"version":3,"file":"lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/lite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lite.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/lite.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * are also required for recursive schema definitions.)
7
7
  */
8
8
  import * as v from '../../shared/src/valita.js';
9
- import type { Row } from './data.js';
9
+ import { type Row } from './data.js';
10
10
  export declare const selectorSchema: v.Type<string>;
11
11
  export declare const orderingSchema: v.Type<readonly (readonly [string, "asc" | "desc"])[]>;
12
12
  export declare const primitiveSchema: v.UnionType<[v.Type<string>, v.Type<number>, v.Type<boolean>, v.Type<null>]>;
@@ -62,7 +62,7 @@ export declare const astSchema: v.ObjectType<{
62
62
  limit: v.Optional<number>;
63
63
  orderBy: v.Optional<readonly (readonly [string, "asc" | "desc"])[]>;
64
64
  start: v.Optional<{
65
- row: Record<string, string | number | boolean | null | undefined>;
65
+ row: Record<string, import("../../shared/src/json.js").ReadonlyJSONValue | undefined>;
66
66
  exclusive: boolean;
67
67
  }>;
68
68
  }, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../zero-protocol/src/ast.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { compareUTF8 } from 'compare-utf8';
9
9
  import { must } from '../../shared/src/must.js';
10
10
  import * as v from '../../shared/src/valita.js';
11
11
  import { defined } from '../../shared/src/arrays.js';
12
+ import { rowSchema } from './data.js';
12
13
  export const selectorSchema = v.string();
13
14
  const orderingElementSchema = v.readonly(v.tuple([selectorSchema, v.union(v.literal('asc'), v.literal('desc'))]));
14
15
  export const orderingSchema = v.readonlyArray(orderingElementSchema);
@@ -64,7 +65,7 @@ export const astSchema = v.object({
64
65
  orderBy: orderingSchema.optional(),
65
66
  start: v
66
67
  .object({
67
- row: v.record(v.union(v.string(), v.number(), v.boolean(), v.null(), v.undefined())),
68
+ row: rowSchema,
68
69
  exclusive: v.boolean(),
69
70
  })
70
71
  .optional(),