over-zero 0.0.0 → 0.0.1

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 (193) hide show
  1. package/dist/cjs/createPermissions.cjs +43 -57
  2. package/dist/cjs/createPermissions.js +46 -48
  3. package/dist/cjs/createPermissions.js.map +2 -2
  4. package/dist/cjs/createPermissions.native.js +46 -53
  5. package/dist/cjs/createPermissions.native.js.map +2 -2
  6. package/dist/cjs/createZero.cjs +128 -0
  7. package/dist/cjs/createZero.js +107 -0
  8. package/dist/cjs/createZero.js.map +6 -0
  9. package/dist/cjs/createZero.native.js +115 -0
  10. package/dist/cjs/createZero.native.js.map +6 -0
  11. package/dist/cjs/createZeroServer.cjs +131 -0
  12. package/dist/cjs/createZeroServer.js +108 -0
  13. package/dist/cjs/createZeroServer.js.map +6 -0
  14. package/dist/cjs/createZeroServer.native.js +107 -0
  15. package/dist/cjs/createZeroServer.native.js.map +6 -0
  16. package/dist/cjs/helpers/context.js.map +1 -1
  17. package/dist/cjs/helpers/context.native.js.map +1 -1
  18. package/dist/cjs/helpers/createMutators.cjs +11 -11
  19. package/dist/cjs/helpers/createMutators.js +9 -7
  20. package/dist/cjs/helpers/createMutators.js.map +1 -1
  21. package/dist/cjs/helpers/createMutators.native.js +8 -6
  22. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  23. package/dist/cjs/helpers/ensureLoggedIn.cjs +1 -1
  24. package/dist/cjs/helpers/ensureLoggedIn.js +1 -1
  25. package/dist/cjs/helpers/ensureLoggedIn.js.map +1 -1
  26. package/dist/cjs/helpers/ensureLoggedIn.native.js +1 -1
  27. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  28. package/dist/cjs/helpers/getAuthData.cjs +0 -36
  29. package/dist/cjs/helpers/getAuthData.js +0 -28
  30. package/dist/cjs/helpers/getAuthData.js.map +2 -2
  31. package/dist/cjs/helpers/getAuthData.native.js +0 -31
  32. package/dist/cjs/helpers/getAuthData.native.js.map +2 -2
  33. package/dist/cjs/helpers/useAuthData.cjs +0 -32
  34. package/dist/cjs/helpers/useAuthData.js +0 -24
  35. package/dist/cjs/helpers/useAuthData.js.map +2 -2
  36. package/dist/cjs/helpers/useAuthData.native.js +0 -31
  37. package/dist/cjs/helpers/useAuthData.native.js.map +2 -2
  38. package/dist/cjs/helpers/useZeroDebug.cjs +68 -0
  39. package/dist/cjs/helpers/useZeroDebug.js +49 -0
  40. package/dist/cjs/helpers/useZeroDebug.js.map +6 -0
  41. package/dist/cjs/helpers/useZeroDebug.native.js +66 -0
  42. package/dist/cjs/helpers/useZeroDebug.native.js.map +6 -0
  43. package/dist/cjs/helpers/zeroEmitter.cjs +2 -2
  44. package/dist/cjs/helpers/zeroEmitter.js +2 -2
  45. package/dist/cjs/helpers/zeroEmitter.native.js +1 -1
  46. package/dist/cjs/helpers/zeroEmitter.native.js.map +1 -1
  47. package/dist/cjs/index.cjs +3 -1
  48. package/dist/cjs/index.js +2 -0
  49. package/dist/cjs/index.js.map +1 -1
  50. package/dist/cjs/index.native.js +4 -0
  51. package/dist/cjs/index.native.js.map +1 -1
  52. package/dist/cjs/mutations.cjs +50 -0
  53. package/dist/cjs/mutations.js +43 -0
  54. package/dist/cjs/mutations.js.map +6 -0
  55. package/dist/cjs/mutations.native.js +50 -0
  56. package/dist/cjs/mutations.native.js.map +6 -0
  57. package/dist/cjs/server.cjs +18 -0
  58. package/dist/cjs/server.js +15 -0
  59. package/dist/cjs/server.js.map +6 -0
  60. package/dist/cjs/server.native.js +20 -0
  61. package/dist/cjs/server.native.js.map +6 -0
  62. package/dist/cjs/where.cjs +33 -0
  63. package/dist/cjs/where.js +28 -0
  64. package/dist/cjs/where.js.map +6 -0
  65. package/dist/cjs/where.native.js +34 -0
  66. package/dist/cjs/where.native.js.map +6 -0
  67. package/dist/esm/createPermissions.js +48 -47
  68. package/dist/esm/createPermissions.js.map +2 -2
  69. package/dist/esm/createPermissions.mjs +41 -55
  70. package/dist/esm/createPermissions.mjs.map +1 -1
  71. package/dist/esm/createPermissions.native.js +55 -69
  72. package/dist/esm/createPermissions.native.js.map +1 -1
  73. package/dist/esm/createZero.js +99 -0
  74. package/dist/esm/createZero.js.map +6 -0
  75. package/dist/esm/createZero.mjs +105 -0
  76. package/dist/esm/createZero.mjs.map +1 -0
  77. package/dist/esm/createZero.native.js +119 -0
  78. package/dist/esm/createZero.native.js.map +1 -0
  79. package/dist/esm/createZeroServer.js +90 -0
  80. package/dist/esm/createZeroServer.js.map +6 -0
  81. package/dist/esm/createZeroServer.mjs +97 -0
  82. package/dist/esm/createZeroServer.mjs.map +1 -0
  83. package/dist/esm/createZeroServer.native.js +104 -0
  84. package/dist/esm/createZeroServer.native.js.map +1 -0
  85. package/dist/esm/helpers/context.js.map +1 -1
  86. package/dist/esm/helpers/context.mjs.map +1 -1
  87. package/dist/esm/helpers/context.native.js.map +1 -1
  88. package/dist/esm/helpers/createMutators.js +6 -7
  89. package/dist/esm/helpers/createMutators.js.map +1 -1
  90. package/dist/esm/helpers/createMutators.mjs +7 -7
  91. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  92. package/dist/esm/helpers/createMutators.native.js +9 -7
  93. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  94. package/dist/esm/helpers/ensureLoggedIn.js +1 -1
  95. package/dist/esm/helpers/ensureLoggedIn.js.map +1 -1
  96. package/dist/esm/helpers/ensureLoggedIn.mjs +1 -1
  97. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  98. package/dist/esm/helpers/ensureLoggedIn.native.js +1 -1
  99. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  100. package/dist/esm/helpers/getAuthData.js +0 -12
  101. package/dist/esm/helpers/getAuthData.js.map +2 -2
  102. package/dist/esm/helpers/getAuthData.mjs +1 -12
  103. package/dist/esm/helpers/getAuthData.mjs.map +1 -1
  104. package/dist/esm/helpers/getAuthData.native.js +1 -12
  105. package/dist/esm/helpers/getAuthData.native.js.map +1 -1
  106. package/dist/esm/helpers/useAuthData.js +0 -10
  107. package/dist/esm/helpers/useAuthData.js.map +2 -2
  108. package/dist/esm/helpers/useAuthData.mjs +1 -8
  109. package/dist/esm/helpers/useAuthData.mjs.map +1 -1
  110. package/dist/esm/helpers/useAuthData.native.js +1 -12
  111. package/dist/esm/helpers/useAuthData.native.js.map +1 -1
  112. package/dist/esm/helpers/useZeroDebug.js +35 -0
  113. package/dist/esm/helpers/useZeroDebug.js.map +6 -0
  114. package/dist/esm/helpers/useZeroDebug.mjs +45 -0
  115. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -0
  116. package/dist/esm/helpers/useZeroDebug.native.js +53 -0
  117. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -0
  118. package/dist/esm/helpers/zeroEmitter.js +1 -1
  119. package/dist/esm/helpers/zeroEmitter.mjs +1 -1
  120. package/dist/esm/helpers/zeroEmitter.native.js +1 -1
  121. package/dist/esm/index.js +2 -0
  122. package/dist/esm/index.js.map +1 -1
  123. package/dist/esm/index.mjs +3 -1
  124. package/dist/esm/index.mjs.map +1 -1
  125. package/dist/esm/index.native.js +3 -1
  126. package/dist/esm/index.native.js.map +1 -1
  127. package/dist/esm/mutations.js +27 -0
  128. package/dist/esm/mutations.js.map +6 -0
  129. package/dist/esm/mutations.mjs +27 -0
  130. package/dist/esm/mutations.mjs.map +1 -0
  131. package/dist/esm/mutations.native.js +29 -0
  132. package/dist/esm/mutations.native.js.map +1 -0
  133. package/dist/esm/server.js +2 -0
  134. package/dist/esm/server.js.map +6 -0
  135. package/dist/esm/server.mjs +2 -0
  136. package/dist/esm/server.mjs.map +1 -0
  137. package/dist/esm/server.native.js +2 -0
  138. package/dist/esm/server.native.js.map +1 -0
  139. package/dist/esm/where.js +12 -0
  140. package/dist/esm/where.js.map +6 -0
  141. package/dist/esm/where.mjs +9 -0
  142. package/dist/esm/where.mjs.map +1 -0
  143. package/dist/esm/where.native.js +9 -0
  144. package/dist/esm/where.native.js.map +1 -0
  145. package/package.json +12 -6
  146. package/src/createPermissions.ts +17 -77
  147. package/src/{createZeroClient.tsx → createZero.tsx} +25 -17
  148. package/src/createZeroServer.ts +43 -43
  149. package/src/helpers/createMutators.ts +19 -29
  150. package/src/helpers/ensureLoggedIn.ts +2 -1
  151. package/src/helpers/prettyFormatZeroQuery.ts +1 -1
  152. package/src/helpers/useZeroDebug.ts +1 -0
  153. package/src/index.ts +2 -6
  154. package/src/mutations.ts +20 -7
  155. package/src/server.ts +1 -0
  156. package/src/types.ts +74 -7
  157. package/src/where.ts +28 -0
  158. package/src/helpers/clearZeroDatabase.ts +0 -68
  159. package/src/helpers/getAuthData.tsx +0 -12
  160. package/src/helpers/useAuthData.ts +0 -13
  161. package/src/helpers/zeroEmitter.ts +0 -5
  162. package/types/createMutations.d.ts +0 -20
  163. package/types/createMutations.d.ts.map +0 -1
  164. package/types/createPermissions.d.ts +0 -37
  165. package/types/createPermissions.d.ts.map +0 -1
  166. package/types/createZeroClient.d.ts +0 -45
  167. package/types/createZeroClient.d.ts.map +0 -1
  168. package/types/createZeroServer.d.ts +0 -61
  169. package/types/createZeroServer.d.ts.map +0 -1
  170. package/types/helpers/batchQuery.d.ts +0 -7
  171. package/types/helpers/batchQuery.d.ts.map +0 -1
  172. package/types/helpers/clearZeroDatabase.d.ts +0 -2
  173. package/types/helpers/clearZeroDatabase.d.ts.map +0 -1
  174. package/types/helpers/context.d.ts +0 -5
  175. package/types/helpers/context.d.ts.map +0 -1
  176. package/types/helpers/createMutators.d.ts +0 -16
  177. package/types/helpers/createMutators.d.ts.map +0 -1
  178. package/types/helpers/ensureLoggedIn.d.ts +0 -2
  179. package/types/helpers/ensureLoggedIn.d.ts.map +0 -1
  180. package/types/helpers/getAuthData.d.ts +0 -1
  181. package/types/helpers/getAuthData.d.ts.map +0 -1
  182. package/types/helpers/prettyFormatZeroQuery.d.ts +0 -3
  183. package/types/helpers/prettyFormatZeroQuery.d.ts.map +0 -1
  184. package/types/helpers/useAuthData.d.ts +0 -1
  185. package/types/helpers/useAuthData.d.ts.map +0 -1
  186. package/types/helpers/useZeroDebug.d.ts +0 -3
  187. package/types/helpers/useZeroDebug.d.ts.map +0 -1
  188. package/types/helpers/zeroEmitter.d.ts +0 -2
  189. package/types/helpers/zeroEmitter.d.ts.map +0 -1
  190. package/types/index.d.ts +0 -9
  191. package/types/index.d.ts.map +0 -1
  192. package/types/types.d.ts +0 -21
  193. package/types/types.d.ts.map +0 -1
@@ -1,44 +1,36 @@
1
1
  import { isClient, isServer, mapObject, time } from '@vxrn/helpers'
2
- import type { AuthData } from 'start/types'
3
- import type { GenericTransaction, MutatorContext } from '../types'
2
+ import type {
3
+ AuthData,
4
+ GenericModels,
5
+ GetZeroMutators,
6
+ Transaction,
7
+ Where,
8
+ } from '../types'
4
9
  import { runWithContext } from './context'
5
10
 
6
- type MutatorProps = {
7
- environment: 'server' | 'client'
8
- authData: AuthData | null
9
- can: (where: string, action: () => Promise<any>, obj: any) => void
10
- models: any
11
- asyncTasks?: Array<() => Promise<void>>
12
- createServerActions?: (authData: AuthData | null) => Record<string, any>
13
- }
14
-
15
- type TransformMutators<T> = {
16
- [K in keyof T]: T[K] extends (ctx: MutatorContext, ...args: infer Args) => infer Return
17
- ? (tx: GenericTransaction, ...args: Args) => Return
18
- : never
19
- }
20
-
21
- export function createMutators<
22
- MutatorsIn extends Record<string, any>,
23
- Mutators extends {
24
- [K in keyof MutatorsIn]: TransformMutators<MutatorsIn[K]>
25
- },
26
- >({
11
+ export function createMutators<Models extends GenericModels>({
27
12
  environment,
28
13
  authData,
29
14
  createServerActions,
30
15
  asyncTasks = [],
31
16
  can,
32
17
  models,
33
- }: MutatorProps) {
34
- const serverActions = createServerActions?.(authData)
18
+ }: {
19
+ environment: 'server' | 'client'
20
+ authData: AuthData | null
21
+ can: (where: Where<any>, action: string, obj: any) => void
22
+ models: Models
23
+ asyncTasks?: Array<() => Promise<void>>
24
+ createServerActions?: () => Record<string, any>
25
+ }): GetZeroMutators<Models> {
26
+ const serverActions = createServerActions?.()
35
27
 
36
28
  const modelMutators = mapObject(models, (val) => val.mutate) as {
37
29
  [K in keyof typeof models]: (typeof models)[K]['mutate']
38
30
  }
39
31
 
40
32
  function withContext<Args extends any[]>(fn: (...args: Args) => Promise<void>) {
41
- return async (tx: GenericTransaction, ...args: Args): Promise<void> => {
33
+ return async (tx: Transaction, ...args: Args): Promise<void> => {
42
34
  const mutationContext = {
43
35
  tx,
44
36
  authData,
@@ -114,9 +106,7 @@ export function createMutators<
114
106
  }
115
107
  }
116
108
 
117
- function decorateMutators<T extends Record<string, Record<string, any>>>(
118
- modules: T
119
- ): Mutators {
109
+ function decorateMutators<T extends Record<string, Record<string, any>>>(modules: T) {
120
110
  const result: any = {}
121
111
 
122
112
  for (const [moduleName, moduleExports] of Object.entries(modules)) {
@@ -1,7 +1,8 @@
1
1
  import { ensure } from '@vxrn/helpers'
2
+ import type { AuthData } from '../types'
2
3
  import { context } from './context'
3
4
 
4
- export const ensureLoggedIn = () => {
5
+ export const ensureLoggedIn = (): AuthData => {
5
6
  const { authData } = context()
6
7
  ensure(authData, 'logged in')
7
8
  return authData
@@ -5,7 +5,7 @@ export const prettyFormatZeroQuery = (
5
5
  query: Query<any, any, any>,
6
6
  mode: 'full' | 'minimal' = 'full'
7
7
  ): string => {
8
- // @ts-expect-error accessing hidden property
8
+ // @ts-expect-error
9
9
  const astObject = query['_completeAst']?.()
10
10
 
11
11
  if (!astObject) return ''
@@ -27,6 +27,7 @@ export const useZeroDebug = (query: Query<any, any, any>, options: any, results:
27
27
  // return
28
28
  // }
29
29
 
30
+ // @ts-expect-error
30
31
  const astObject = query['_completeAst']?.()
31
32
  const table = astObject.table
32
33
  const ast = JSON.stringify(astObject, null, 2)
package/src/index.ts CHANGED
@@ -5,11 +5,7 @@ export * from './helpers/createMutators'
5
5
  export * from './helpers/ensureLoggedIn'
6
6
 
7
7
  export * from './mutations'
8
- export * from './createZeroClient'
9
- export * from './createZeroServer'
8
+ export * from './where'
9
+ export * from './createZero'
10
10
 
11
11
  export type * from './types'
12
-
13
- // export * from '~/data/schema'
14
- // export * from './types'
15
- // export * from '../zero'
package/src/mutations.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import type { TableBuilderWithColumns } from '@rocicorp/zero'
2
- import type { MutatorContext, TableInsertRow, TableUpdateRow, Where } from './types'
2
+ import type {
3
+ MutatorContext,
4
+ TableInsertRow,
5
+ TableName,
6
+ TableUpdateRow,
7
+ Where,
8
+ } from './types'
3
9
 
4
10
  // two ways to use it:
5
11
  // - mutations({}) which doesn't add the "allowed" helper or add CRUD
@@ -65,12 +71,18 @@ export function mutations<
65
71
  Mutations extends Record<string, MutationBuilder>,
66
72
  >(table: Table | Mutations, permissions?: Where, mutations?: Mutations): Mutations {
67
73
  if (permissions) {
68
- const tableName = (table as Table).schema.name
74
+ const tableName = (table as Table).schema.name as TableName
69
75
 
70
76
  const createCRUDMutation = (action: CRUDNames) => {
71
77
  return async (ctx: MutatorContext, obj: any) => {
72
- // run permission query - for delete before the mutation runs, for the rest after
73
- // when the "can" query is unsuccessful it throws an error which will revert everything
78
+ /**
79
+ * CRUD mutations have permissions handled automatically using `can`:
80
+ * - `can` throws an error if it fails
81
+ * - zero catches error and rolls back transaction
82
+ * - zero returns error to client when you await zero.mutate.x.z().server
83
+ * - for INSERT: check runs after insert completes
84
+ * - for the rest: check runs before mutation
85
+ */
74
86
  const runServerPermissionCheck = async () => {
75
87
  if (ctx.didCanPermissionsRun) {
76
88
  // if the user-defined CRUD mutation runs their own "can", we avoid running ours
@@ -83,7 +95,7 @@ export function mutations<
83
95
  }
84
96
  }
85
97
 
86
- if (action === 'delete') {
98
+ if (action !== 'insert') {
87
99
  await runServerPermissionCheck()
88
100
  }
89
101
 
@@ -93,10 +105,11 @@ export function mutations<
93
105
  if (existing) {
94
106
  await existing(ctx, obj)
95
107
  } else {
96
- await ctx.tx.mutate[tableName][action](obj)
108
+ type TableName = keyof typeof ctx.tx.mutate // weird type foo because we declare this module and then type check
109
+ await ctx.tx.mutate[tableName as TableName]![action](obj)
97
110
  }
98
111
 
99
- if (action !== 'delete') {
112
+ if (action === 'insert') {
100
113
  await runServerPermissionCheck()
101
114
  }
102
115
  }
package/src/server.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './createZeroServer'
package/src/types.ts CHANGED
@@ -1,25 +1,90 @@
1
1
  import type {
2
2
  ExpressionBuilder,
3
3
  Row,
4
- Schema,
5
4
  TableBuilderWithColumns,
6
- Transaction,
5
+ Schema as ZeroSchema,
6
+ Transaction as ZeroTransaction,
7
7
  } from '@rocicorp/zero'
8
8
  import type { NullToOptional, TupleToUnion } from '@vxrn/helpers'
9
9
 
10
- export type GenericTransaction = Transaction<any>
10
+ /**
11
+ * ➗0️⃣ START OVERRIDDEN TYPES
12
+ *
13
+ * To get types, put the following in a .ts file that's included by your tsconfig:
14
+ *
15
+ * export type Schema = typeof schema
16
+ *
17
+ * declare module 'over-zero' {
18
+ * interface Config {
19
+ * schema: Schema
20
+ * authData: AuthData
21
+ * }
22
+ * }
23
+ *
24
+ * over-zero is overridden by consumers of this library to get types which is
25
+ * needed to allow co-locating certain typed helpers like where() and
26
+ * mutations() alongside table() because table is later used to create the Zero
27
+ * schema, which is then needed for where/mutations
28
+ */
29
+
30
+ export interface Config {}
31
+
32
+ interface DefaultConfig {
33
+ schema: ZeroSchema
34
+ authData: {}
35
+ }
36
+
37
+ interface FinalConfig extends Omit<DefaultConfig, keyof Config>, Config {}
38
+
39
+ export type Schema = FinalConfig['schema']
40
+
41
+ export type TableName = keyof Schema['tables'] extends string
42
+ ? keyof Schema['tables']
43
+ : string
44
+
45
+ export type Transaction = ZeroTransaction<Schema>
46
+
47
+ export type AuthData = FinalConfig['authData'] extends Record<string, unknown>
48
+ ? FinalConfig['authData']
49
+ : Record<string, unknown>
50
+
51
+ /**
52
+ * ➗0️⃣ END OVERRIDDEN TYPES
53
+ */
54
+
55
+ // turns our mutators with custom context into zero mutators
56
+ export type GetZeroMutators<Models extends GenericModels> = {
57
+ [Key in keyof Models]: TransformMutators<GetModelMutators<Models>[Key]>
58
+ }
59
+
60
+ type GetModelMutators<Models extends GenericModels> = {
61
+ [Key in keyof Models]: Models[Key]['mutate']
62
+ }
63
+
64
+ export type GenericModels = {
65
+ [key: string]: {
66
+ mutate: Record<string, (ctx: MutatorContext, obj?: any) => Promise<any>>
67
+ permissions: Where
68
+ }
69
+ }
70
+
71
+ export type TransformMutators<T> = {
72
+ [K in keyof T]: T[K] extends (ctx: MutatorContext, ...args: infer Args) => infer Return
73
+ ? (tx: Transaction, ...args: Args) => Return extends unknown ? Promise<any> : Return
74
+ : never
75
+ }
11
76
 
12
77
  export type MutatorContext = {
13
- tx: GenericTransaction
78
+ tx: Transaction
14
79
  authData: AuthData | null
15
80
  environment: 'server' | 'client'
16
- serverActions?: any
81
+ serverActions?: any // TODO
17
82
  asyncTasks?: Array<() => Promise<void>>
18
83
  can: any // TODO
19
84
  didCanPermissionsRun?: boolean
20
85
  }
21
86
 
22
- export type AuthData = any
87
+ export type AsyncAction = () => Promise<void>
23
88
 
24
89
  type GenericTable = TableBuilderWithColumns<any>
25
90
 
@@ -43,7 +108,9 @@ export type TablePrimaryKeys<TS extends GenericTable> = TupleToUnion<
43
108
  GetTableSchema<TS>['primaryKey']
44
109
  >
45
110
 
46
- export type Where<Table extends string = string, ReturnType = any> = (
111
+ export type Where<Table extends TableName = TableName, ReturnType = any> = (
47
112
  expressionBuilder: ExpressionBuilder<Schema, Table>,
48
113
  auth: AuthData | null
49
114
  ) => ReturnType
115
+
116
+ export type ZeroEvent = { type: 'error'; message: string }
package/src/where.ts ADDED
@@ -0,0 +1,28 @@
1
+ import type { TableName, Where } from './types'
2
+
3
+ export function where<Table extends TableName, Builder extends Where = Where<Table>>(
4
+ tableName: Table,
5
+ builder: Builder
6
+ ): Builder
7
+
8
+ export function where<Table extends TableName, Builder extends Where = Where<Table>>(
9
+ builder: Builder
10
+ ): Builder
11
+
12
+ export function where<Table extends TableName, Builder extends Where = Where<Table>>(
13
+ a: Table | Builder,
14
+ b?: Builder
15
+ ): Builder {
16
+ if (b) {
17
+ WhereTableNameMap.set(b, a as Table)
18
+ }
19
+ return (b || a) as any
20
+ }
21
+
22
+ // permissions where:
23
+
24
+ const WhereTableNameMap = new WeakMap<Where, TableName>()
25
+
26
+ export function getWhereTableName(where: Where) {
27
+ return WhereTableNameMap.get(where)
28
+ }
@@ -1,68 +0,0 @@
1
- import { showToast } from '~/interface/toast/Toast'
2
- import { zero } from '../zero'
3
-
4
- export const clearZeroDatabase = async () => {
5
- try {
6
- // Get all IndexedDB databases
7
- const databases = await indexedDB.databases()
8
-
9
- // Find Zero/Replicache databases
10
- const zeroAndReplicacheDatabases = databases.filter((db) => {
11
- if (!db.name) return false
12
- const name = db.name.toLowerCase()
13
- return (
14
- name.includes('zero') ||
15
- name.includes('replicache') ||
16
- name.includes('roc') || // rocicorp prefix
17
- name.startsWith('rep:') // replicache prefix
18
- )
19
- })
20
-
21
- if (zeroAndReplicacheDatabases.length > 0) {
22
- // Delete all Zero/Replicache databases
23
- await Promise.all(
24
- zeroAndReplicacheDatabases.map((db) => {
25
- return new Promise<void>((resolve, reject) => {
26
- const deleteReq = indexedDB.deleteDatabase(db.name!)
27
- deleteReq.onsuccess = () => resolve()
28
- deleteReq.onerror = () => reject(deleteReq.error)
29
- deleteReq.onblocked = () => reject(new Error('database deletion blocked'))
30
- })
31
- })
32
- )
33
-
34
- const dbNames = zeroAndReplicacheDatabases.map((db) => db.name).join(', ')
35
- showToast(
36
- `Cleared ${zeroAndReplicacheDatabases.length} Zero/Replicache databases: ${dbNames}`
37
- )
38
- } else {
39
- // Fallback: clear all IndexedDB databases
40
- await Promise.all(
41
- databases.map((db) => {
42
- if (db.name) {
43
- return new Promise<void>((resolve, reject) => {
44
- const deleteReq = indexedDB.deleteDatabase(db.name!)
45
- deleteReq.onsuccess = () => resolve()
46
- deleteReq.onerror = () => reject(deleteReq.error)
47
- deleteReq.onblocked = () => reject(new Error('database deletion blocked'))
48
- })
49
- }
50
- })
51
- )
52
- showToast('Cleared all IndexedDB databases')
53
- }
54
-
55
- // Close the zero connection before reloading
56
- if (zero && typeof (zero as any).close === 'function') {
57
- await (zero as any).close()
58
- }
59
-
60
- // Reload the page to reinitialize Zero
61
- setTimeout(() => {
62
- window.location.reload()
63
- }, 1000)
64
- } catch (error) {
65
- console.error('Error clearing Zero database:', error)
66
- showToast('Error clearing Zero database')
67
- }
68
- }
@@ -1,12 +0,0 @@
1
- // import { getAuth } from '~/auth/client/authClient'
2
-
3
- // export const getAuthData = () => {
4
- // const { user } = getAuth()
5
- // return user
6
- // ? {
7
- // id: user.id || 'anon',
8
- // email: user.email,
9
- // role: undefined,
10
- // }
11
- // : null
12
- // }
@@ -1,13 +0,0 @@
1
- // import { useMemo } from 'react'
2
- // import { useAuth } from '~/auth/client/authClient'
3
- // import { getAuthData } from './getAuthData'
4
-
5
- // export const useAuthData = () => {
6
- // const auth = useAuth()
7
- // const userId = auth?.user?.id || 'anon'
8
-
9
- // // biome-ignore lint/correctness/useExhaustiveDependencies: its based on id
10
- // return useMemo(() => {
11
- // return getAuthData()
12
- // }, [userId])
13
- // }
@@ -1,5 +0,0 @@
1
- import { createEmitter } from '@vxrn/helpers'
2
-
3
- export const zeroEmitter = createEmitter<ZeroEvent | undefined>('zero', undefined)
4
-
5
- type ZeroEvent = { type: 'error'; message: string }
@@ -1,20 +0,0 @@
1
- import type { TableBuilderWithColumns } from '@rocicorp/zero';
2
- import type { MutatorContext, TableInsertRow, TableUpdateRow, Where } from './types';
3
- type MutationBuilder<Obj = any> = (ctx: MutatorContext, obj?: Obj) => Promise<void>;
4
- type MutationBuilders = Record<string, MutationBuilder>;
5
- type GenericTable = TableBuilderWithColumns<any>;
6
- type CRUDMutations<Table extends GenericTable> = {
7
- insert: MutationBuilder<TableInsertRow<Table>>;
8
- upsert: MutationBuilder<TableInsertRow<Table>>;
9
- update: MutationBuilder<TableUpdateRow<Table>>;
10
- delete: MutationBuilder<TableUpdateRow<Table>>;
11
- };
12
- type CRUDNames = 'insert' | 'upsert' | 'update' | 'delete';
13
- type MutationsWithCRUD<Table extends GenericTable, Mutations extends MutationBuilders> = {
14
- [Key in CRUDNames | keyof Mutations]: Key extends keyof Mutations ? Mutations[Key] : Key extends keyof CRUDMutations<any> ? CRUDMutations<Table>[Key] : never;
15
- };
16
- export declare function mutations<Table extends GenericTable, Permissions extends Where>(table: Table, permissions: Permissions): MutationsWithCRUD<Table, {}>;
17
- export declare function mutations<Table extends GenericTable, Permissions extends Where, Mutations extends MutationBuilders>(table: Table, permissions: Permissions, mutations: Mutations): MutationsWithCRUD<Table, Mutations>;
18
- export declare function mutations<Mutations extends MutationBuilder>(mutations: Mutations): Mutations;
19
- export {};
20
- //# sourceMappingURL=createMutations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createMutations.d.ts","sourceRoot":"","sources":["../src/createMutations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpF,KAAK,eAAe,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AACnF,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAevD,KAAK,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;AAEhD,KAAK,aAAa,CAAC,KAAK,SAAS,YAAY,IAAI;IAC/C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;CAC/C,CAAA;AAED,KAAK,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE1D,KAAK,iBAAiB,CAAC,KAAK,SAAS,YAAY,EAAE,SAAS,SAAS,gBAAgB,IAAI;KACtF,GAAG,IAAI,SAAS,GAAG,MAAM,SAAS,GAAG,GAAG,SAAS,MAAM,SAAS,GAC7D,SAAS,CAAC,GAAG,CAAC,GACd,GAAG,SAAS,MAAM,aAAa,CAAC,GAAG,CAAC,GAClC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GACzB,KAAK;CACZ,CAAA;AAED,wBAAgB,SAAS,CAAC,KAAK,SAAS,YAAY,EAAE,WAAW,SAAS,KAAK,EAC7E,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,GACvB,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAE/B,wBAAgB,SAAS,CACvB,KAAK,SAAS,YAAY,EAC1B,WAAW,SAAS,KAAK,EACzB,SAAS,SAAS,gBAAgB,EAElC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AAEtC,wBAAgB,SAAS,CAAC,SAAS,SAAS,eAAe,EACzD,SAAS,EAAE,SAAS,GACnB,SAAS,CAAA"}
@@ -1,37 +0,0 @@
1
- import type { Condition, ExpressionBuilder, Schema as ZeroSchema } from '@rocicorp/zero';
2
- import type { AuthData } from 'start/types';
3
- import type { MutatorContext, Where } from './types';
4
- export declare function createPermissions<Schema extends ZeroSchema, TableName extends string>({ schema, getContext, }: {
5
- schema: Schema;
6
- getContext: () => MutatorContext;
7
- }): {
8
- where: {
9
- <Table extends TableName, Builder extends Where = Where<Table>>(tableName: Table, builder: Builder): Builder;
10
- <Table extends TableName, Builder extends Where = Where<Table>>(builder: Builder): Builder;
11
- };
12
- can: <PWhere extends Where<TableName, Partial<Record<("insert" | "update" | "delete" | "select" | "read" | "write") | (string & {}), boolean | Condition>>>, Action extends keyof ReturnType<PWhere>>(where: PWhere, action: Action, obj: any) => Promise<void>;
13
- buildPermissionQuery: <PermissionWhere extends Where<TableName, Partial<Record<("insert" | "update" | "delete" | "select" | "read" | "write") | (string & {}), boolean | Condition>>>, Action extends string>(authData: AuthData | null, eb: ExpressionBuilder<any, any>, permissionWhere: PermissionWhere, action: Action, objOrId: Record<string, any> | string) => Condition;
14
- readPermissions: Promise<{
15
- tables: Record<string, {
16
- row?: {
17
- select?: ["allow", Condition][] | undefined;
18
- insert?: ["allow", Condition][] | undefined;
19
- update?: {
20
- preMutation?: ["allow", Condition][] | undefined;
21
- postMutation?: ["allow", Condition][] | undefined;
22
- } | undefined;
23
- delete?: ["allow", Condition][] | undefined;
24
- } | undefined;
25
- cell?: Record<string, {
26
- select?: ["allow", Condition][] | undefined;
27
- insert?: ["allow", Condition][] | undefined;
28
- update?: {
29
- preMutation?: ["allow", Condition][] | undefined;
30
- postMutation?: ["allow", Condition][] | undefined;
31
- } | undefined;
32
- delete?: ["allow", Condition][] | undefined;
33
- }> | undefined;
34
- }>;
35
- } | undefined>;
36
- };
37
- //# sourceMappingURL=createPermissions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createPermissions.d.ts","sourceRoot":"","sources":["../src/createPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EAGjB,MAAM,IAAI,UAAU,EACrB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpD,wBAAgB,iBAAiB,CAAC,MAAM,SAAS,UAAU,EAAE,SAAS,SAAS,MAAM,EAAE,EACrF,MAAM,EACN,UAAU,GACX,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,cAAc,CAAA;CACjC;;SAYgB,KAAK,SAAS,SAAS,EAAE,OAAO,SAAS,KAAK,4BAChD,KAAK,WACP,OAAO,GACf,OAAO;SAEK,KAAK,SAAS,SAAS,EAAE,OAAO,SAAS,KAAK,0BAClD,OAAO,GACf,OAAO;;UAgGR,MAAM,iJACN,MAAM,SAAS,MAAM,UAAU,CAAC,MAAM,CAAC,SAChC,MAAM,UAAU,MAAM,OAAO,GAAG;2BAlDvC,eAAe,iJACf,MAAM,SAAS,MAAM,YAEX,QAAQ,GAAG,IAAI,MACrB,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,mBACd,eAAe,UACxB,MAAM,WAEL,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;;;;sBAnEqC,CAAC;sBACL,CAAC;sBAGpD,CAAA;+BAA+B,CAAC;gCAK/B,CAAC;;sBAIQ,CAAC;;;sBAKG,CAAC;sBAOT,CAAC;sBAGT,CAAC;+BAGd,CAAC;gCAKL,CAAF;;sBAMuB,CAAC;;;;EAwLzB"}
@@ -1,45 +0,0 @@
1
- import type { Row, Schema, ZeroOptions } from '@rocicorp/zero';
2
- import { useQuery as zeroUseQuery } from '@rocicorp/zero/react';
3
- import { type ReactNode } from 'react';
4
- export declare function createZeroClient<S extends Schema>({ schema, models, disable, }: {
5
- schema: S;
6
- models: any;
7
- disable?: boolean;
8
- }): {
9
- where: {
10
- <Table extends string, Builder extends import("./types").Where = import("./types").Where<Table>>(tableName: Table, builder: Builder): Builder;
11
- <Table extends string, Builder extends import("./types").Where = import("./types").Where<Table>>(builder: Builder): Builder;
12
- };
13
- can: <PWhere extends import("./types").Where<string, Partial<Record<("insert" | "update" | "delete" | "select" | "read" | "write") | (string & {}), boolean | import("@rocicorp/zero").Condition>>>, Action extends keyof ReturnType<PWhere>>(where: PWhere, action: Action, obj: any) => Promise<void>;
14
- buildPermissionQuery: <PermissionWhere extends import("./types").Where<string, Partial<Record<("insert" | "update" | "delete" | "select" | "read" | "write") | (string & {}), boolean | import("@rocicorp/zero").Condition>>>, Action extends string>(authData: import("start/types").AuthData | null, eb: import("@rocicorp/zero").ExpressionBuilder<any, any>, permissionWhere: PermissionWhere, action: Action, objOrId: Record<string, any> | string) => import("@rocicorp/zero").Condition;
15
- readPermissions: Promise<{
16
- tables: Record<string, {
17
- row?: {
18
- select?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
19
- insert?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
20
- update?: {
21
- preMutation?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
22
- postMutation?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
23
- } | undefined;
24
- delete?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
25
- } | undefined;
26
- cell?: Record<string, {
27
- select?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
28
- insert?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
29
- update?: {
30
- preMutation?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
31
- postMutation?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
32
- } | undefined;
33
- delete?: ["allow", import("@rocicorp/zero").Condition][] | undefined;
34
- }> | undefined;
35
- }>;
36
- } | undefined>;
37
- ProvideZero: ({ children, authData, ...props }: Omit<ZeroOptions<Schema, any>, "schema" | "mutators"> & {
38
- children: ReactNode;
39
- authData?: any;
40
- }) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
41
- useQuery: typeof zeroUseQuery;
42
- usePermission: <K extends string, Action extends "insert" | "update" | "delete" | "select">(table: K, action: Action, objOrId: string | Partial<Row<Schema["tables"][K]>> | undefined, enabled?: boolean, debug?: boolean) => boolean | null;
43
- zero: import("@rocicorp/zero").Zero<S, any>;
44
- };
45
- //# sourceMappingURL=createZeroClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createZeroClient.d.ts","sourceRoot":"","sources":["../src/createZeroClient.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAyB,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEtF,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AASnE,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,EACjD,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,CAAC,CAAA;IACT,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;;;;;;;;;;sBAW+B,CAAC;sBAKT,CAAC;sBAIhB,CAAC;+BAA+B,CAAC;gCAIzB,CAAC;;sBAKF,CAAC;;;sBAIH,CAAC;sBAEV,CAAC;sBACE,CAAC;+BAA+B,CAAC;gCAEN,CAAC;;sBAMpB,CAAC;;;;oDAyEZ,IAAI,CAAC,WAAW,CAAC,MAAM,MAAW,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;QAC9D,QAAQ,EAAE,SAAS,CAAA;QACnB,QAAQ,CAAC,EAAE,GAAG,CAAA;KACf;;oBAhGC,CAAC,iBACD,MAAM,SAAS,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,SAEjD,CAAC,UACA,MAAM,WACL,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,yCAG9D,OAAO,GAAG,IAAI;;EA+IlB"}
@@ -1,61 +0,0 @@
1
- import type { AuthData } from './types';
2
- import type { GenericTransaction } from './types';
3
- export declare function createZeroServer<TX extends GenericTransaction>({ actions, }: {
4
- actions: any;
5
- }): {
6
- handleMutationRequest: ({ authData, request, skipAsyncTasks, }: {
7
- authData: AuthData;
8
- request: Request;
9
- skipAsyncTasks?: boolean;
10
- }) => Promise<{
11
- response: {
12
- mutations: {
13
- id: {
14
- id: number;
15
- clientID: string;
16
- };
17
- result: {
18
- data?: import("@rocicorp/zero").ReadonlyJSONValue | undefined;
19
- } | {
20
- details?: import("@rocicorp/zero").ReadonlyJSONValue | undefined;
21
- error: "app";
22
- } | {
23
- details?: import("@rocicorp/zero").ReadonlyJSONValue | undefined;
24
- error: "oooMutation" | "alreadyProcessed";
25
- };
26
- }[];
27
- } | {
28
- mutationIDs?: {
29
- id: number;
30
- clientID: string;
31
- }[] | undefined;
32
- error: "unsupportedPushVersion";
33
- } | {
34
- mutationIDs?: {
35
- id: number;
36
- clientID: string;
37
- }[] | undefined;
38
- error: "unsupportedSchemaVersion";
39
- } | {
40
- mutationIDs?: {
41
- id: number;
42
- clientID: string;
43
- }[] | undefined;
44
- error: "http";
45
- status: number;
46
- details: string;
47
- } | {
48
- mutationIDs?: {
49
- id: number;
50
- clientID: string;
51
- }[] | undefined;
52
- error: "zeroPusher";
53
- details: string;
54
- };
55
- asyncTasks: (() => Promise<void>)[];
56
- }>;
57
- transaction: <CB extends (tx: TX) => Promise<any>, Returns extends CB extends (tx: TX) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
58
- mutate: (run: (tx: TX, mutators: Mutators) => Promise<void>, authData?: Pick<AuthData, "email" | "id"> & Partial<AuthData>) => Promise<void>;
59
- query: <CB extends (tx: TX) => Promise<any>, Returns extends CB extends (tx: TX) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
60
- };
61
- //# sourceMappingURL=createZeroServer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createZeroServer.d.ts","sourceRoot":"","sources":["../src/createZeroServer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAOvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAYjD,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,EAC9D,OAAO,GACR,EAAE;IACD,OAAO,EAAE,GAAG,CAAA;CACb;oEAcI;QACD,QAAQ,EAAE,QAAQ,CAAA;QAClB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAE+B,OAAO,CAAC,IAAI,CAAC;;kBAqE3C,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACnC,OAAO,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SAC5D,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;kBAvCvB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,aACvC,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;YAoC7D,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACnC,OAAO,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SAC5D,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;EAmB/B"}
@@ -1,7 +0,0 @@
1
- import type { Query, Row } from '@rocicorp/zero';
2
- export declare function batchQuery<Q extends Query<any, any, any>, Item extends Row<Q>>(q: Q, mapper: (items: Item[]) => Promise<void>, { chunk, pause, stopAfter, }?: {
3
- chunk: number;
4
- pause?: number;
5
- stopAfter?: number;
6
- }): Promise<void>;
7
- //# sourceMappingURL=batchQuery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batchQuery.d.ts","sourceRoot":"","sources":["../../src/helpers/batchQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGhD,wBAAsB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,EAClF,CAAC,EAAE,CAAC,EACJ,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EACxC,EACE,KAAK,EACL,KAAS,EACT,SAAmB,GACpB,GAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACH,iBA8BlB"}
@@ -1,2 +0,0 @@
1
- export declare const clearZeroDatabase: () => Promise<void>;
2
- //# sourceMappingURL=clearZeroDatabase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clearZeroDatabase.d.ts","sourceRoot":"","sources":["../../src/helpers/clearZeroDatabase.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,qBAgE7B,CAAA"}
@@ -1,5 +0,0 @@
1
- import type { MutatorContext } from '../types';
2
- export declare function context(): MutatorContext;
3
- export declare function isInZeroMutation(): boolean;
4
- export declare function runWithContext<T>(context: MutatorContext, fn: () => T | Promise<T>): Promise<T>;
5
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/helpers/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAQ9C,wBAAgB,OAAO,IAAI,cAAc,CAOxC;AAED,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,CAEZ"}