@supalive/core 0.1.4 → 0.1.6

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 (222) hide show
  1. package/README.md +17 -2
  2. package/dist/bytes-AuEkyxeU.js +19 -0
  3. package/dist/bytes-AuEkyxeU.js.map +1 -0
  4. package/dist/codec-BHAmGEIQ.js +62 -0
  5. package/dist/codec-BHAmGEIQ.js.map +1 -0
  6. package/dist/helper-CiacMqje.d.ts +14 -0
  7. package/dist/helper-CiacMqje.d.ts.map +1 -0
  8. package/dist/helper-wGbzz6zo.js +42 -0
  9. package/dist/helper-wGbzz6zo.js.map +1 -0
  10. package/dist/index-CaWMDqq0.d.ts +1754 -0
  11. package/dist/index-CaWMDqq0.d.ts.map +1 -0
  12. package/dist/mysql-Cxd4Uq5p.d.ts +104 -0
  13. package/dist/mysql-Cxd4Uq5p.d.ts.map +1 -0
  14. package/dist/mysql-bvnjYWvZ.js +570 -0
  15. package/dist/mysql-bvnjYWvZ.js.map +1 -0
  16. package/dist/overlap-checker-Ct_HP_iB.js +187 -0
  17. package/dist/overlap-checker-Ct_HP_iB.js.map +1 -0
  18. package/dist/postgres-B8u1YN8X.js +824 -0
  19. package/dist/postgres-B8u1YN8X.js.map +1 -0
  20. package/dist/postgres-Ck-xt72U.d.ts +108 -0
  21. package/dist/postgres-Ck-xt72U.d.ts.map +1 -0
  22. package/dist/procedure-DX87tyef.js +124 -0
  23. package/dist/procedure-DX87tyef.js.map +1 -0
  24. package/dist/query-Bh0RNxDz.js +673 -0
  25. package/dist/query-Bh0RNxDz.js.map +1 -0
  26. package/dist/realtime_db-DOCgqbwi.js +247 -0
  27. package/dist/realtime_db-DOCgqbwi.js.map +1 -0
  28. package/dist/router-DlTYWpop.js +81 -0
  29. package/dist/router-DlTYWpop.js.map +1 -0
  30. package/dist/schema-Dd7u0A1L.js +109 -0
  31. package/dist/schema-Dd7u0A1L.js.map +1 -0
  32. package/dist/src/client/index.d.ts +2 -17
  33. package/dist/src/client/index.js +1152 -18
  34. package/dist/src/client/index.js.map +1 -1
  35. package/dist/src/exports/mysql.d.ts +2 -2
  36. package/dist/src/exports/mysql.js +2 -2
  37. package/dist/src/exports/postgres.d.ts +2 -2
  38. package/dist/src/exports/postgres.js +2 -2
  39. package/dist/src/exports/procedure.d.ts +3 -5
  40. package/dist/src/exports/procedure.js +6 -5
  41. package/dist/src/exports/schema-sql.d.ts +18 -0
  42. package/dist/src/exports/schema-sql.d.ts.map +1 -0
  43. package/dist/src/exports/schema-sql.js +161 -0
  44. package/dist/src/exports/schema-sql.js.map +1 -0
  45. package/dist/src/exports/server.d.ts +368 -2
  46. package/dist/src/exports/server.d.ts.map +1 -1
  47. package/dist/src/exports/server.js +1346 -2
  48. package/dist/src/exports/server.js.map +1 -1
  49. package/dist/src/exports/subscription-manager-worker-entry.d.ts +1 -0
  50. package/dist/src/exports/subscription-manager-worker-entry.js +115 -0
  51. package/dist/src/exports/subscription-manager-worker-entry.js.map +1 -0
  52. package/dist/src/exports/types.d.ts +4 -6
  53. package/dist/src/exports/types.js +5 -6
  54. package/dist/subscription-worker-pahX0zxg.js +511 -0
  55. package/dist/subscription-worker-pahX0zxg.js.map +1 -0
  56. package/dist/types_client_rpc-CIsjQQGG.js +105 -0
  57. package/dist/types_client_rpc-CIsjQQGG.js.map +1 -0
  58. package/dist/types_db-DXj_l9n-.js +168 -0
  59. package/dist/types_db-DXj_l9n-.js.map +1 -0
  60. package/dist/types_server-Dk6o_B7N.js +24 -0
  61. package/dist/types_server-Dk6o_B7N.js.map +1 -0
  62. package/dist/types_server-TFo6SWDH.d.ts +216 -0
  63. package/dist/types_server-TFo6SWDH.d.ts.map +1 -0
  64. package/package.json +7 -3
  65. package/dist/src/client/caller_client.d.ts +0 -42
  66. package/dist/src/client/caller_client.d.ts.map +0 -1
  67. package/dist/src/client/caller_client.js +0 -77
  68. package/dist/src/client/caller_client.js.map +0 -1
  69. package/dist/src/client/client.d.ts +0 -149
  70. package/dist/src/client/client.d.ts.map +0 -1
  71. package/dist/src/client/client.js +0 -308
  72. package/dist/src/client/client.js.map +0 -1
  73. package/dist/src/client/index.d.ts.map +0 -1
  74. package/dist/src/client/sub_key.d.ts +0 -20
  75. package/dist/src/client/sub_key.d.ts.map +0 -1
  76. package/dist/src/client/sub_key.js +0 -37
  77. package/dist/src/client/sub_key.js.map +0 -1
  78. package/dist/src/client/ws_client_manager.d.ts +0 -268
  79. package/dist/src/client/ws_client_manager.d.ts.map +0 -1
  80. package/dist/src/client/ws_client_manager.js +0 -1013
  81. package/dist/src/client/ws_client_manager.js.map +0 -1
  82. package/dist/src/config.d.ts +0 -117
  83. package/dist/src/config.d.ts.map +0 -1
  84. package/dist/src/config.js +0 -2
  85. package/dist/src/config.js.map +0 -1
  86. package/dist/src/db/bytes.d.ts +0 -4
  87. package/dist/src/db/bytes.d.ts.map +0 -1
  88. package/dist/src/db/bytes.js +0 -24
  89. package/dist/src/db/bytes.js.map +0 -1
  90. package/dist/src/db/cache.d.ts +0 -30
  91. package/dist/src/db/cache.d.ts.map +0 -1
  92. package/dist/src/db/cache.js +0 -153
  93. package/dist/src/db/cache.js.map +0 -1
  94. package/dist/src/db/codec.d.ts +0 -10
  95. package/dist/src/db/codec.d.ts.map +0 -1
  96. package/dist/src/db/codec.js +0 -73
  97. package/dist/src/db/codec.js.map +0 -1
  98. package/dist/src/db/context.d.ts +0 -28
  99. package/dist/src/db/context.d.ts.map +0 -1
  100. package/dist/src/db/context.js +0 -147
  101. package/dist/src/db/context.js.map +0 -1
  102. package/dist/src/db/db.d.ts +0 -154
  103. package/dist/src/db/db.d.ts.map +0 -1
  104. package/dist/src/db/db.js +0 -23
  105. package/dist/src/db/db.js.map +0 -1
  106. package/dist/src/db/mysql.d.ts +0 -120
  107. package/dist/src/db/mysql.d.ts.map +0 -1
  108. package/dist/src/db/mysql.js +0 -708
  109. package/dist/src/db/mysql.js.map +0 -1
  110. package/dist/src/db/postgres.d.ts +0 -116
  111. package/dist/src/db/postgres.d.ts.map +0 -1
  112. package/dist/src/db/postgres.js +0 -998
  113. package/dist/src/db/postgres.js.map +0 -1
  114. package/dist/src/db/query.d.ts +0 -174
  115. package/dist/src/db/query.d.ts.map +0 -1
  116. package/dist/src/db/query.js +0 -790
  117. package/dist/src/db/query.js.map +0 -1
  118. package/dist/src/db/query_definition.d.ts +0 -54
  119. package/dist/src/db/query_definition.d.ts.map +0 -1
  120. package/dist/src/db/query_definition.js +0 -47
  121. package/dist/src/db/query_definition.js.map +0 -1
  122. package/dist/src/db/realtime_db.d.ts +0 -19
  123. package/dist/src/db/realtime_db.d.ts.map +0 -1
  124. package/dist/src/db/realtime_db.js +0 -98
  125. package/dist/src/db/realtime_db.js.map +0 -1
  126. package/dist/src/db/schema.d.ts +0 -110
  127. package/dist/src/db/schema.d.ts.map +0 -1
  128. package/dist/src/db/schema.js +0 -47
  129. package/dist/src/db/schema.js.map +0 -1
  130. package/dist/src/db/types_client_rpc.d.ts +0 -157
  131. package/dist/src/db/types_client_rpc.d.ts.map +0 -1
  132. package/dist/src/db/types_client_rpc.js +0 -106
  133. package/dist/src/db/types_client_rpc.js.map +0 -1
  134. package/dist/src/db/types_db.d.ts +0 -236
  135. package/dist/src/db/types_db.d.ts.map +0 -1
  136. package/dist/src/db/types_db.js +0 -188
  137. package/dist/src/db/types_db.js.map +0 -1
  138. package/dist/src/exports/mysql.d.ts.map +0 -1
  139. package/dist/src/exports/mysql.js.map +0 -1
  140. package/dist/src/exports/postgres.d.ts.map +0 -1
  141. package/dist/src/exports/postgres.js.map +0 -1
  142. package/dist/src/exports/procedure.d.ts.map +0 -1
  143. package/dist/src/exports/procedure.js.map +0 -1
  144. package/dist/src/exports/types.d.ts.map +0 -1
  145. package/dist/src/exports/types.js.map +0 -1
  146. package/dist/src/helper.d.ts +0 -11
  147. package/dist/src/helper.d.ts.map +0 -1
  148. package/dist/src/helper.js +0 -45
  149. package/dist/src/helper.js.map +0 -1
  150. package/dist/src/logger.d.ts +0 -7
  151. package/dist/src/logger.d.ts.map +0 -1
  152. package/dist/src/logger.js +0 -47
  153. package/dist/src/logger.js.map +0 -1
  154. package/dist/src/router/index.d.ts +0 -4
  155. package/dist/src/router/index.d.ts.map +0 -1
  156. package/dist/src/router/index.js +0 -4
  157. package/dist/src/router/index.js.map +0 -1
  158. package/dist/src/router/procedure.d.ts +0 -204
  159. package/dist/src/router/procedure.d.ts.map +0 -1
  160. package/dist/src/router/procedure.js +0 -122
  161. package/dist/src/router/procedure.js.map +0 -1
  162. package/dist/src/router/router.d.ts +0 -88
  163. package/dist/src/router/router.d.ts.map +0 -1
  164. package/dist/src/router/router.js +0 -88
  165. package/dist/src/router/router.js.map +0 -1
  166. package/dist/src/server/hash.d.ts +0 -12
  167. package/dist/src/server/hash.d.ts.map +0 -1
  168. package/dist/src/server/hash.js +0 -20
  169. package/dist/src/server/hash.js.map +0 -1
  170. package/dist/src/server/hash.test.d.ts +0 -2
  171. package/dist/src/server/hash.test.d.ts.map +0 -1
  172. package/dist/src/server/hash.test.js +0 -43
  173. package/dist/src/server/hash.test.js.map +0 -1
  174. package/dist/src/server/index.d.ts +0 -9
  175. package/dist/src/server/index.d.ts.map +0 -1
  176. package/dist/src/server/index.js +0 -8
  177. package/dist/src/server/index.js.map +0 -1
  178. package/dist/src/server/overlap-checker.d.ts +0 -18
  179. package/dist/src/server/overlap-checker.d.ts.map +0 -1
  180. package/dist/src/server/overlap-checker.js +0 -247
  181. package/dist/src/server/overlap-checker.js.map +0 -1
  182. package/dist/src/server/sub_hash.d.ts +0 -23
  183. package/dist/src/server/sub_hash.d.ts.map +0 -1
  184. package/dist/src/server/sub_hash.js +0 -38
  185. package/dist/src/server/sub_hash.js.map +0 -1
  186. package/dist/src/server/subscription-manager-client.d.ts +0 -120
  187. package/dist/src/server/subscription-manager-client.d.ts.map +0 -1
  188. package/dist/src/server/subscription-manager-client.js +0 -207
  189. package/dist/src/server/subscription-manager-client.js.map +0 -1
  190. package/dist/src/server/subscription-manager-types.d.ts +0 -168
  191. package/dist/src/server/subscription-manager-types.d.ts.map +0 -1
  192. package/dist/src/server/subscription-manager-types.js +0 -94
  193. package/dist/src/server/subscription-manager-types.js.map +0 -1
  194. package/dist/src/server/subscription-manager-worker-entry.d.ts +0 -2
  195. package/dist/src/server/subscription-manager-worker-entry.d.ts.map +0 -1
  196. package/dist/src/server/subscription-manager-worker-entry.js +0 -127
  197. package/dist/src/server/subscription-manager-worker-entry.js.map +0 -1
  198. package/dist/src/server/subscription-manager-worker-protocol.d.ts +0 -40
  199. package/dist/src/server/subscription-manager-worker-protocol.d.ts.map +0 -1
  200. package/dist/src/server/subscription-manager-worker-protocol.js +0 -20
  201. package/dist/src/server/subscription-manager-worker-protocol.js.map +0 -1
  202. package/dist/src/server/subscription-manager.d.ts +0 -32
  203. package/dist/src/server/subscription-manager.d.ts.map +0 -1
  204. package/dist/src/server/subscription-manager.js +0 -249
  205. package/dist/src/server/subscription-manager.js.map +0 -1
  206. package/dist/src/server/subscription-manager.test.d.ts +0 -2
  207. package/dist/src/server/subscription-manager.test.d.ts.map +0 -1
  208. package/dist/src/server/subscription-manager.test.js +0 -610
  209. package/dist/src/server/subscription-manager.test.js.map +0 -1
  210. package/dist/src/server/subscription-worker.d.ts +0 -32
  211. package/dist/src/server/subscription-worker.d.ts.map +0 -1
  212. package/dist/src/server/subscription-worker.js +0 -190
  213. package/dist/src/server/subscription-worker.js.map +0 -1
  214. package/dist/src/server/supalive-server.d.ts +0 -158
  215. package/dist/src/server/supalive-server.d.ts.map +0 -1
  216. package/dist/src/server/supalive-server.js +0 -1048
  217. package/dist/src/server/supalive-server.js.map +0 -1
  218. package/dist/src/server/types_server.d.ts +0 -96
  219. package/dist/src/server/types_server.d.ts.map +0 -1
  220. package/dist/src/server/types_server.js +0 -36
  221. package/dist/src/server/types_server.js.map +0 -1
  222. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-Dd7u0A1L.js","names":["z"],"sources":["../src/db/schema.ts"],"sourcesContent":["import { z, ZodRawShape } from \"zod\";\nimport { commitTsCodec } from \"./codec\";\nimport { LiveQueryHandle } from \"../client\";\nimport { utf8Encode } from \"./bytes\";\n\nexport interface ColumnCodec<TData = unknown, TDriver = unknown> {\n encode?: (value: TData) => TDriver;\n decode?: (value: TDriver) => TData;\n}\n\n// Constrain a codec's decoded type to match the schema field's inferred type.\n// Without this, `decode` could return any value (e.g. a string outside an enum)\n// and silently override the schema's declared type at the type level.\ntype SchemaCodecField<TSchema extends ZodRawShape, K extends PropertyKey> =\n K extends keyof TSchema\n ? TSchema[K] extends z.ZodTypeAny ? z.infer<TSchema[K]> : unknown\n : K extends keyof BaseSchema\n ? BaseSchema[K] extends z.ZodTypeAny ? z.infer<BaseSchema[K]> : unknown\n : unknown;\n\nexport type SchemaCodecs<TSchema extends ZodRawShape> = Partial<{\n [K in keyof (TSchema & BaseSchema)]: ColumnCodec<SchemaCodecField<TSchema, K>, any>;\n}>;\n\nexport interface SchemaColumnsOptions<TSchema extends ZodRawShape = ZodRawShape> {\n codecs?: SchemaCodecs<TSchema>;\n}\n\nexport interface SchemaColumnMapping {\n [key: string]: string;\n}\n\nexport interface DeclarativeIndex {\n name: string;\n columns: string[];\n unique?: boolean;\n type?: \"btree\" | \"hash\" | \"gin\" | \"gist\" | \"spgist\" | \"brin\";\n where?: string;\n using?: string;\n options?: string;\n tablespace?: string;\n}\n\nexport type IndexDefinition = string | DeclarativeIndex;\n\nexport interface DefineSchemaConfig<TSchema extends ZodRawShape> {\n name: string;\n schema: TSchema;\n options?: SchemaColumnsOptions<TSchema>;\n columns?: SchemaColumnMapping;\n indexes?: IndexDefinition[];\n}\n\n// Tuple-wrap the `undefined` checks so they don't fall through to the\n// object-shape conditionals when consumers compile under `strict: false`\n// (without `strictNullChecks`, `undefined` is assignable to object types and\n// would otherwise match `{ decode: ... }` / `ColumnCodec<...>` with all\n// `infer`s collapsing to `unknown`).\ntype CodecDataType<TCodec, TFallback> =\n [TCodec] extends [undefined] ? TFallback\n : TCodec extends { decode: (...args: any[]) => infer TDecoded } ? TDecoded\n : TCodec extends ColumnCodec<infer TData, unknown> ? TData\n : TFallback;\n\ntype ZodOutput<TZod> =\n [TZod] extends [undefined] ? unknown\n : TZod extends z.ZodTypeAny ? z.infer<TZod>\n : unknown;\nexport type ComputedDataType<TCodec, TZod> = CodecDataType<TCodec, ZodOutput<TZod>>;\nexport type ComputedCodec<TData, TDriver> = ColumnCodec<TData, TDriver>;\nexport type OverrideField<TObj, TKey extends PropertyKey, TValue> = Omit<TObj, TKey> & { [K in TKey]: TValue };\nexport interface ComputedFieldConfig<\n TField extends string,\n TDecoded = unknown,\n TDriver = unknown,\n TZodType extends z.ZodTypeAny | undefined = undefined,\n> {\n field: TField;\n sql: string;\n alias?: string;\n type?: TZodType;\n codec?: {\n decode: (value: TDriver) => TDecoded;\n encode?: (value: TDecoded) => TDriver;\n };\n}\n\nexport type ComputedField = {\n field: string;\n sql: string;\n alias: string;\n codec?: ColumnCodec<any, any>;\n};\n\nexport function defineComputedField<\n TField extends string,\n TDecoded = unknown,\n TDriver = unknown,\n TZodType extends z.ZodTypeAny | undefined = undefined,\n>(\n config: ComputedFieldConfig<TField, TDecoded, TDriver, TZodType>\n): ComputedFieldConfig<TField, TDecoded, TDriver, TZodType> {\n return config;\n}\n\nexport type Prettify<T> = { [K in keyof T]: T[K] } & {};\n\ntype ApplySchemaCodecs<TBase, TCodecs> = {\n [K in keyof TBase]: K extends keyof TCodecs ? CodecDataType<TCodecs[K], TBase[K]> : TBase[K];\n};\n\n// Only apply codecs when `options.codecs` is explicitly provided. Without this\n// guard, the default constraint (`SchemaColumnsOptions<TSchema>`) makes\n// `TOptions[\"codecs\"]` infer as `Partial<{ [K]: ColumnCodec<any, any> }>`,\n// which collapses every field to `any` inside `ApplySchemaCodecs`.\ntype ResolveSchemaType<\n TSchema extends ZodRawShape,\n TOptions extends SchemaColumnsOptions<TSchema>\n> = TOptions extends { codecs: infer TCodecs }\n ? Prettify<ApplySchemaCodecs<z.infer<z.ZodObject<TSchema & BaseSchema>>, TCodecs>>\n : Prettify<z.infer<z.ZodObject<TSchema & BaseSchema>>>;\n\n// Helper to detect if a Zod type is optional or nullable\ntype IsOptionalField<T> =\n T extends z.ZodOptional<any> ? true :\n T extends z.ZodNullable<any> ? true :\n T extends z.ZodDefault<any> ? true :\n false;\n\n// Split schema keys into required vs optional\ntype OptionalKeys<TZod extends ZodRawShape> = {\n [K in keyof TZod]: IsOptionalField<TZod[K]> extends true ? K : never\n}[keyof TZod];\n\ntype RequiredKeys<TZod extends ZodRawShape> = {\n [K in keyof TZod]: IsOptionalField<TZod[K]> extends true ? never : K\n}[keyof TZod];\n\n// Add a base shape type that all schemas will include\ntype BaseSchema = {\n id: z.ZodString;\n commitTs: z.ZodCoercedBigInt;\n};\n\nexport const schemaRegistry = new Map<string, SchemaDefinition<string, any, any>>();\nexport let shouldTrackSchema = false;\n\nexport function trackSchema(): void {\n shouldTrackSchema = true;\n}\n\nfunction getAutoIdCodec(idMeta: Record<string, unknown>, userCodec: unknown): ColumnCodec<any, any> | undefined {\n if (userCodec) return undefined;\n const rawType = (idMeta.pgType as string | undefined) ?? (idMeta.mysqlType as string | undefined);\n if (!rawType) return undefined;\n\n const upper = rawType.toUpperCase().replace(/\\(.*\\)/, \"\").trim();\n if ([\"BIGINT\", \"INT8\", \"SERIAL8\"].includes(upper)) {\n return {\n encode: (v: string) => BigInt(v),\n decode: (v: unknown) => String(v),\n };\n }\n if ([\"INTEGER\", \"INT\", \"SERIAL\", \"INT4\", \"SMALLINT\", \"INT2\"].includes(upper)) {\n return {\n encode: (v: string) => Number(v),\n decode: (v: unknown) => String(v),\n };\n }\n if ([\"DECIMAL\", \"NUMERIC\", \"FLOAT\", \"REAL\", \"DOUBLE\", \"FLOAT8\", \"FLOAT4\"].includes(upper)) {\n return {\n encode: (v: string) => Number(v),\n decode: (v: unknown) => String(v),\n };\n }\n if (upper === \"BOOLEAN\" || upper === \"BOOL\" || (upper.startsWith(\"TINYINT\") && rawType.toUpperCase().includes(\"(1)\"))) {\n return {\n encode: (v: string) => v === \"true\" || v === \"1\",\n decode: (v: unknown) => String(v),\n };\n }\n return undefined;\n}\n\nexport function defineSchema<\n TSchema extends ZodRawShape,\n TName extends string,\n TOptions extends SchemaColumnsOptions<TSchema> = SchemaColumnsOptions<TSchema>\n>(\n config: DefineSchemaConfig<TSchema> & { name: TName; options?: TOptions }\n): SchemaDefinition<TName, Prettify<TSchema & BaseSchema>, ResolveSchemaType<TSchema, TOptions>> {\n const columns: Record<string, string> = {};\n\n if (config.columns) {\n Object.assign(columns, { 'id': 'id', 'commitTs': 'commit_ts', ...config.columns });\n } else {\n // Default: use field name as column name\n for (const key of Object.keys(config.schema)) {\n columns[key] = key;\n }\n columns['id'] = 'id';\n columns['commitTs'] = 'commit_ts';\n }\n\n // Preserve user's id meta (pgType, mysqlType, etc.) so the SQL generator\n // can emit the correct raw type. primaryKey is always forced true.\n const idMeta: Record<string, unknown> = {};\n if (\"id\" in config.schema) {\n const userMeta = (config.schema.id as any)?.meta?.();\n if (userMeta) {\n for (const k of Object.keys(userMeta)) {\n if (k === \"primaryKey\") continue; // always forced true\n idMeta[k] = userMeta[k];\n }\n }\n }\n\n // Merge id/commitTs into the Zod schema, user-defined fields win for everything else,\n // but id/commitTs are always forced to their correct types\n const augmentedShape = {\n ...config.schema,\n // always string, even if user defined it differently\n id: z.string().meta({ primaryKey: true, ...idMeta }),\n // always bigint, mapped to commit_ts column\n commitTs: z.coerce.bigint(),\n };\n\n const userCodecs = config.options?.codecs;\n const autoIdCodec = getAutoIdCodec(idMeta, userCodecs?.id);\n const mergedCodecs = {\n ...(autoIdCodec ? { id: autoIdCodec } : {}),\n ...userCodecs,\n commitTs: commitTsCodec,\n };\n\n const result = {\n tableId: tableNameToId(config.name),\n table: config.name,\n schema: z.object(augmentedShape),\n columnsOptions: {\n ...config.options,\n codecs: mergedCodecs,\n },\n columns,\n indexes: config.indexes ?? [],\n } as SchemaDefinition<TName, TSchema & BaseSchema, ResolveSchemaType<TSchema, TOptions>>;\n\n if (shouldTrackSchema) {\n schemaRegistry.set(config.name, result);\n }\n\n return result\n}\n\nexport function tableNameToId(tableName: string): Uint8Array {\n return utf8Encode(tableName);\n}\n\n// Stored codec map is intentionally loose: the strict per-field constraint is\n// enforced on the input (`DefineSchemaConfig.options`), but storing the strict\n// type here would break variance when assigning a specific schema to a generic\n// `SchemaDefinition<string, ZodRawShape>` constraint (ColumnCodec.encode is\n// contravariant in its data type).\nexport interface StoredSchemaColumnsOptions {\n codecs?: Record<string, ColumnCodec<any, any>>;\n}\n\nexport interface SchemaDefinition<\n TTable extends string,\n TZod extends ZodRawShape,\n TData = z.infer<z.ZodObject<TZod>>\n> {\n tableId: Uint8Array;\n table: TTable;\n schema: z.ZodObject<TZod>;\n columnsOptions: StoredSchemaColumnsOptions;\n columns: Record<string, string>;\n indexes: IndexDefinition[];\n _dataType?: TData;\n}\n\nexport type InferSchema<T extends SchemaDefinition<string, ZodRawShape, any>> =\n T extends SchemaDefinition<string, ZodRawShape, infer TData> ? TData : never;\n\nexport type InsertData<T extends SchemaDefinition<string, ZodRawShape, any>> =\n T extends SchemaDefinition<string, infer TZod, infer TData>\n ? {\n [K in RequiredKeys<TZod> as K extends \"id\" | \"commitTs\" ? never : K]:\n Extract<K, string> extends keyof TData ? TData[Extract<K, string>] : never\n } & {\n [K in OptionalKeys<TZod> as K extends \"id\" | \"commitTs\" ? never : K]?:\n Extract<K, string> extends keyof TData ? TData[Extract<K, string>] : never\n }\n : never;\n\nexport interface Model {\n table: string;\n tableId: Uint8Array,\n columns: Record<string, string>;\n reverseColumns: Record<string, string>;\n types: Record<string, string>;\n codecs: Record<string, ColumnCodec<any, any>>;\n}\n\n\ntype MaybePromise<T> = T | Promise<T>;\n\nexport type ReturnLiveQuery<\n TLiveQueryFn extends (...args: any[]) => MaybePromise<LiveQueryHandle<any>>\n> =\n Awaited<ReturnType<TLiveQueryFn>> extends LiveQueryHandle<infer T>\n ? T\n : never;\n\nexport type ReturnQuery<TQueryFn extends (...args: any[]) => any> =\n Awaited<ReturnType<TQueryFn>>;\n\nexport type QueryArgs<TQueryFn extends (...args: any[]) => any> =\n Parameters<TQueryFn>[0];\n\nexport type MutationArgs<TMutationFn extends (...args: any[]) => any> =\n Parameters<TMutationFn>[0];\n\nexport type ActionArgs<TActionFn extends (...args: any[]) => any> =\n Parameters<TActionFn>[0];"],"mappings":";;;;AA8FA,SAAgB,oBAMZ,QACwD;CACxD,OAAO;AACX;AAyCA,MAAa,iCAAiB,IAAI,IAAgD;AAClF,IAAW,oBAAoB;AAE/B,SAAgB,cAAoB;CAChC,oBAAoB;AACxB;AAEA,SAAS,eAAe,QAAiC,WAAuD;CAC5G,IAAI,WAAW,OAAO,KAAA;CACtB,MAAM,UAAW,OAAO,UAAkC,OAAO;CACjE,IAAI,CAAC,SAAS,OAAO,KAAA;CAErB,MAAM,QAAQ,QAAQ,YAAY,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,KAAK;CAC/D,IAAI;EAAC;EAAU;EAAQ;CAAS,CAAC,CAAC,SAAS,KAAK,GAC5C,OAAO;EACH,SAAS,MAAc,OAAO,CAAC;EAC/B,SAAS,MAAe,OAAO,CAAC;CACpC;CAEJ,IAAI;EAAC;EAAW;EAAO;EAAU;EAAQ;EAAY;CAAM,CAAC,CAAC,SAAS,KAAK,GACvE,OAAO;EACH,SAAS,MAAc,OAAO,CAAC;EAC/B,SAAS,MAAe,OAAO,CAAC;CACpC;CAEJ,IAAI;EAAC;EAAW;EAAW;EAAS;EAAQ;EAAU;EAAU;CAAQ,CAAC,CAAC,SAAS,KAAK,GACpF,OAAO;EACH,SAAS,MAAc,OAAO,CAAC;EAC/B,SAAS,MAAe,OAAO,CAAC;CACpC;CAEJ,IAAI,UAAU,aAAa,UAAU,UAAW,MAAM,WAAW,SAAS,KAAK,QAAQ,YAAY,CAAC,CAAC,SAAS,KAAK,GAC/G,OAAO;EACH,SAAS,MAAc,MAAM,UAAU,MAAM;EAC7C,SAAS,MAAe,OAAO,CAAC;CACpC;AAGR;AAEA,SAAgB,aAKZ,QAC6F;CAC7F,MAAM,UAAkC,CAAC;CAEzC,IAAI,OAAO,SACP,OAAO,OAAO,SAAS;EAAE,MAAM;EAAM,YAAY;EAAa,GAAG,OAAO;CAAQ,CAAC;MAC9E;EAEH,KAAK,MAAM,OAAO,OAAO,KAAK,OAAO,MAAM,GACvC,QAAQ,OAAO;EAEnB,QAAQ,QAAQ;EAChB,QAAQ,cAAc;CAC1B;CAIA,MAAM,SAAkC,CAAC;CACzC,IAAI,QAAQ,OAAO,QAAQ;EACvB,MAAM,WAAY,OAAO,OAAO,IAAY,OAAO;EACnD,IAAI,UACA,KAAK,MAAM,KAAK,OAAO,KAAK,QAAQ,GAAG;GACnC,IAAI,MAAM,cAAc;GACxB,OAAO,KAAK,SAAS;EACzB;CAER;CAIA,MAAM,iBAAiB;EACnB,GAAG,OAAO;EAEV,IAAIA,IAAE,OAAO,CAAC,CAAC,KAAK;GAAE,YAAY;GAAM,GAAG;EAAO,CAAC;EAEnD,UAAUA,IAAE,OAAO,OAAO;CAC9B;CAEA,MAAM,aAAa,OAAO,SAAS;CACnC,MAAM,cAAc,eAAe,QAAQ,YAAY,EAAE;CACzD,MAAM,eAAe;EACjB,GAAI,cAAc,EAAE,IAAI,YAAY,IAAI,CAAC;EACzC,GAAG;EACH,UAAU;CACd;CAEA,MAAM,SAAS;EACX,SAAS,cAAc,OAAO,IAAI;EAClC,OAAO,OAAO;EACd,QAAQA,IAAE,OAAO,cAAc;EAC/B,gBAAgB;GACZ,GAAG,OAAO;GACV,QAAQ;EACZ;EACA;EACA,SAAS,OAAO,WAAW,CAAC;CAChC;CAEA,IAAI,mBACA,eAAe,IAAI,OAAO,MAAM,MAAM;CAG1C,OAAO;AACX;AAEA,SAAgB,cAAc,WAA+B;CACzD,OAAO,WAAW,SAAS;AAC/B"}
@@ -1,17 +1,2 @@
1
- export { defineQuery, _resetGlobalDefs } from "../db/query_definition";
2
- export type { QueryDefinition, AnyQueryDef, ParamsOf, ResultOf, DefsToMap, } from "../db/query_definition";
3
- export { SupaliveDb, sleep } from "../db/realtime_db";
4
- export { TxContext, DbReader, DbWriter } from "../db/context";
5
- export { DbReader as ReadContext, DbWriter as WritableContext } from "../db/context";
6
- export { defineSchema, defineComputedField } from "../db/schema";
7
- export type { Model } from "../db/schema";
8
- export type { ComputedFieldConfig, ColumnCodec, SchemaCodecs, SchemaDefinition, SchemaColumnsOptions, InferSchema, InsertData, } from "../db/schema";
9
- export type { Database, RawClient, PooledClient, DbQueryResult, } from "../db/db";
10
- export { matchesPredicate } from "../db/query";
11
- export * from "../db/types_db";
12
- export { NO_RETRY, DEFAULT_RETRY, OccConflictError, OccAbortError, } from "../db/types_db";
13
- export { createQueryBuilder, createMutationBuilder, createActionBuilder, type QueryProcedure, type MutationProcedure, type ActionProcedure, type AnyProcedure, type QueryFn, type MutationFn, type ActionFn, type OutputOf, type TypeOf, type ContextOf, type QueryConfig, type MutationConfig, type ActionConfig, type QueryCtx, type MutationCtx, type ActionCtx, } from "../router/procedure";
14
- export { router, type Router, type AppRouter, type RegisteredProcedure, type QueryProcedures, type MutationProcedures, type ActionProcedures, type PublicProcedures, type ProcedureNames, } from "../router/router";
15
- export { WsClientManager, RPCError, type WSClientOptions, type HeartbeatOptions, type ClientPublicState, } from "./ws_client_manager";
16
- export { createClient, type ClientOptions, type LiveQueryHandle, type LiveQueryState, type LiveQueryStatus, type WSClientMethods, type ClientFromProcedures, type CallOptions, } from "./client";
17
- //# sourceMappingURL=index.d.ts.map
1
+ import { $ as PublicProcedures, $n as CompareOperator, Ar as RetryConfig, At as ResultOf, Cr as RawPointReadSchema, Ct as createQueryBuilder, Dn as RawClient, Dr as RawReadEntrySchema, Dt as DefsToMap, Er as RawReadEntry, Et as AnyQueryDef, Fr as bytesFromJson, Ft as TxContext, G as RPCError, Gt as matchesPredicate, Ir as normalizeIdToBytes, J as ActionProcedures, Jn as BigIntSchema, K as WSClientOptions, Kn as AndPredicate, Lr as normalizeToBytes, Mr as WriteEntrySchema, Mt as defineQuery, Nr as WriteOp, Nt as DbReader, Or as ReadEntry, Ot as ParamsOf, Pr as WriteOpSchema, Pt as DbWriter, Q as ProcedureNames, Qn as CommitTs, Sn as DbQueryResult, Sr as RawPointRead, St as createMutationBuilder, Tn as PooledClient, Tr as RawRangeReadSchema, Tt as sleep, U as ClientPublicState, W as HeartbeatOptions, Xn as CachedPgMetadataSchema, Y as AppRouter, Yn as CachedPgMetadata, Z as MutationProcedures, Zn as CommitLogEntry, Zt as ComputedFieldConfig, _r as QueryCacheMetadata, _t as QueryCtx, a as CallOptions, ar as MutationResult, at as ActionConfig, br as RangeRead, bt as TypeOf, c as LiveQueryHandle, cr as OccConflictError, ct as ActionProcedure, d as WSClientMethods, dr as PointRead, dt as MutationConfig, er as CompareOperatorSchema, et as QueryProcedures, f as createClient, fn as SchemaColumnsOptions, fr as PointReadSchema, ft as MutationCtx, gn as defineSchema, gr as QueryCacheEntrySchema, gt as QueryConfig, hn as defineComputedField, hr as QueryCacheEntry, ht as OutputOf, i as createCaller, ir as LiveResult, it as router, jr as WriteEntry, jt as _resetGlobalDefs, kr as ReadEntrySchema, kt as QueryDefinition, l as LiveQueryState, lr as OrPredicate, lt as AnyProcedure, mr as PredicateSchema, mt as MutationProcedure, n as CallerFromRouter, nn as InsertData, nr as LeafPredicate, nt as Router, o as ClientFromProcedures, or as NO_RETRY, ot as ActionCtx, pn as SchemaDefinition, pr as Predicate, pt as MutationFn, q as WsClientManager, qn as AndPredicateSchema, qt as ColumnCodec, r as CallerOptions, rn as Model, rr as LeafPredicateSchema, s as ClientOptions, sr as OccAbortError, st as ActionFn, t as CallerFromProcedures, tn as InferSchema, tr as DEFAULT_RETRY, tt as RegisteredProcedure, u as LiveQueryStatus, un as SchemaCodecs, ur as OrPredicateSchema, ut as ContextOf, vr as QueryCacheMetadataSchema, vt as QueryFn, wr as RawRangeRead, wt as SupaliveDb, xn as Database, xr as RangeReadSchema, xt as createActionBuilder, yr as QuerySpec, yt as QueryProcedure } from "../../index-CaWMDqq0.js";
2
+ export { type ActionConfig, type ActionCtx, type ActionFn, type ActionProcedure, type ActionProcedures, AndPredicate, AndPredicateSchema, type AnyProcedure, type AnyQueryDef, type AppRouter, BigIntSchema, CachedPgMetadata, CachedPgMetadataSchema, type CallOptions, CallerFromProcedures, CallerFromRouter, CallerOptions, type ClientFromProcedures, type ClientOptions, type ClientPublicState, type ColumnCodec, CommitLogEntry, CommitTs, CompareOperator, CompareOperatorSchema, type ComputedFieldConfig, type ContextOf, DEFAULT_RETRY, type Database, type DbQueryResult, DbReader, DbReader as ReadContext, DbWriter, DbWriter as WritableContext, type DefsToMap, type HeartbeatOptions, type InferSchema, type InsertData, LeafPredicate, LeafPredicateSchema, type LiveQueryHandle, type LiveQueryState, type LiveQueryStatus, LiveResult, type Model, type MutationConfig, type MutationCtx, type MutationFn, type MutationProcedure, type MutationProcedures, MutationResult, NO_RETRY, OccAbortError, OccConflictError, OrPredicate, OrPredicateSchema, type OutputOf, type ParamsOf, PointRead, PointReadSchema, type PooledClient, Predicate, PredicateSchema, type ProcedureNames, type PublicProcedures, QueryCacheEntry, QueryCacheEntrySchema, QueryCacheMetadata, QueryCacheMetadataSchema, type QueryConfig, type QueryCtx, type QueryDefinition, type QueryFn, type QueryProcedure, type QueryProcedures, QuerySpec, RPCError, RangeRead, RangeReadSchema, type RawClient, RawPointRead, RawPointReadSchema, RawRangeRead, RawRangeReadSchema, RawReadEntry, RawReadEntrySchema, ReadEntry, ReadEntrySchema, type RegisteredProcedure, type ResultOf, RetryConfig, type Router, type SchemaCodecs, type SchemaColumnsOptions, type SchemaDefinition, SupaliveDb, TxContext, type TypeOf, type WSClientMethods, type WSClientOptions, WriteEntry, WriteEntrySchema, WriteOp, WriteOpSchema, WsClientManager, _resetGlobalDefs, bytesFromJson, createActionBuilder, createCaller, createClient, createMutationBuilder, createQueryBuilder, defineComputedField, defineQuery, defineSchema, matchesPredicate, normalizeIdToBytes, normalizeToBytes, router, sleep };