@supalive/core 0.1.0

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 (175) hide show
  1. package/README.md +22 -0
  2. package/dist/src/client/caller_client.d.ts +42 -0
  3. package/dist/src/client/caller_client.d.ts.map +1 -0
  4. package/dist/src/client/caller_client.js +77 -0
  5. package/dist/src/client/caller_client.js.map +1 -0
  6. package/dist/src/client/client.d.ts +149 -0
  7. package/dist/src/client/client.d.ts.map +1 -0
  8. package/dist/src/client/client.js +308 -0
  9. package/dist/src/client/client.js.map +1 -0
  10. package/dist/src/client/index.d.ts +17 -0
  11. package/dist/src/client/index.d.ts.map +1 -0
  12. package/dist/src/client/index.js +19 -0
  13. package/dist/src/client/index.js.map +1 -0
  14. package/dist/src/client/sub_key.d.ts +20 -0
  15. package/dist/src/client/sub_key.d.ts.map +1 -0
  16. package/dist/src/client/sub_key.js +37 -0
  17. package/dist/src/client/sub_key.js.map +1 -0
  18. package/dist/src/client/ws_client_manager.d.ts +268 -0
  19. package/dist/src/client/ws_client_manager.d.ts.map +1 -0
  20. package/dist/src/client/ws_client_manager.js +1013 -0
  21. package/dist/src/client/ws_client_manager.js.map +1 -0
  22. package/dist/src/config.d.ts +117 -0
  23. package/dist/src/config.d.ts.map +1 -0
  24. package/dist/src/config.js +2 -0
  25. package/dist/src/config.js.map +1 -0
  26. package/dist/src/db/bytes.d.ts +4 -0
  27. package/dist/src/db/bytes.d.ts.map +1 -0
  28. package/dist/src/db/bytes.js +24 -0
  29. package/dist/src/db/bytes.js.map +1 -0
  30. package/dist/src/db/cache.d.ts +30 -0
  31. package/dist/src/db/cache.d.ts.map +1 -0
  32. package/dist/src/db/cache.js +153 -0
  33. package/dist/src/db/cache.js.map +1 -0
  34. package/dist/src/db/codec.d.ts +10 -0
  35. package/dist/src/db/codec.d.ts.map +1 -0
  36. package/dist/src/db/codec.js +73 -0
  37. package/dist/src/db/codec.js.map +1 -0
  38. package/dist/src/db/context.d.ts +28 -0
  39. package/dist/src/db/context.d.ts.map +1 -0
  40. package/dist/src/db/context.js +147 -0
  41. package/dist/src/db/context.js.map +1 -0
  42. package/dist/src/db/db.d.ts +154 -0
  43. package/dist/src/db/db.d.ts.map +1 -0
  44. package/dist/src/db/db.js +23 -0
  45. package/dist/src/db/db.js.map +1 -0
  46. package/dist/src/db/mysql.d.ts +120 -0
  47. package/dist/src/db/mysql.d.ts.map +1 -0
  48. package/dist/src/db/mysql.js +708 -0
  49. package/dist/src/db/mysql.js.map +1 -0
  50. package/dist/src/db/postgres.d.ts +116 -0
  51. package/dist/src/db/postgres.d.ts.map +1 -0
  52. package/dist/src/db/postgres.js +998 -0
  53. package/dist/src/db/postgres.js.map +1 -0
  54. package/dist/src/db/query.d.ts +174 -0
  55. package/dist/src/db/query.d.ts.map +1 -0
  56. package/dist/src/db/query.js +790 -0
  57. package/dist/src/db/query.js.map +1 -0
  58. package/dist/src/db/query_definition.d.ts +54 -0
  59. package/dist/src/db/query_definition.d.ts.map +1 -0
  60. package/dist/src/db/query_definition.js +47 -0
  61. package/dist/src/db/query_definition.js.map +1 -0
  62. package/dist/src/db/realtime_db.d.ts +19 -0
  63. package/dist/src/db/realtime_db.d.ts.map +1 -0
  64. package/dist/src/db/realtime_db.js +98 -0
  65. package/dist/src/db/realtime_db.js.map +1 -0
  66. package/dist/src/db/schema.d.ts +110 -0
  67. package/dist/src/db/schema.d.ts.map +1 -0
  68. package/dist/src/db/schema.js +47 -0
  69. package/dist/src/db/schema.js.map +1 -0
  70. package/dist/src/db/types_client_rpc.d.ts +157 -0
  71. package/dist/src/db/types_client_rpc.d.ts.map +1 -0
  72. package/dist/src/db/types_client_rpc.js +106 -0
  73. package/dist/src/db/types_client_rpc.js.map +1 -0
  74. package/dist/src/db/types_db.d.ts +236 -0
  75. package/dist/src/db/types_db.d.ts.map +1 -0
  76. package/dist/src/db/types_db.js +188 -0
  77. package/dist/src/db/types_db.js.map +1 -0
  78. package/dist/src/exports/mysql.d.ts +2 -0
  79. package/dist/src/exports/mysql.d.ts.map +1 -0
  80. package/dist/src/exports/mysql.js +2 -0
  81. package/dist/src/exports/mysql.js.map +1 -0
  82. package/dist/src/exports/postgres.d.ts +2 -0
  83. package/dist/src/exports/postgres.d.ts.map +1 -0
  84. package/dist/src/exports/postgres.js +2 -0
  85. package/dist/src/exports/postgres.js.map +1 -0
  86. package/dist/src/exports/procedure.d.ts +5 -0
  87. package/dist/src/exports/procedure.d.ts.map +1 -0
  88. package/dist/src/exports/procedure.js +5 -0
  89. package/dist/src/exports/procedure.js.map +1 -0
  90. package/dist/src/exports/server.d.ts +3 -0
  91. package/dist/src/exports/server.d.ts.map +1 -0
  92. package/dist/src/exports/server.js +3 -0
  93. package/dist/src/exports/server.js.map +1 -0
  94. package/dist/src/exports/types.d.ts +6 -0
  95. package/dist/src/exports/types.d.ts.map +1 -0
  96. package/dist/src/exports/types.js +6 -0
  97. package/dist/src/exports/types.js.map +1 -0
  98. package/dist/src/helper.d.ts +11 -0
  99. package/dist/src/helper.d.ts.map +1 -0
  100. package/dist/src/helper.js +45 -0
  101. package/dist/src/helper.js.map +1 -0
  102. package/dist/src/logger.d.ts +7 -0
  103. package/dist/src/logger.d.ts.map +1 -0
  104. package/dist/src/logger.js +45 -0
  105. package/dist/src/logger.js.map +1 -0
  106. package/dist/src/router/index.d.ts +4 -0
  107. package/dist/src/router/index.d.ts.map +1 -0
  108. package/dist/src/router/index.js +4 -0
  109. package/dist/src/router/index.js.map +1 -0
  110. package/dist/src/router/procedure.d.ts +204 -0
  111. package/dist/src/router/procedure.d.ts.map +1 -0
  112. package/dist/src/router/procedure.js +122 -0
  113. package/dist/src/router/procedure.js.map +1 -0
  114. package/dist/src/router/router.d.ts +88 -0
  115. package/dist/src/router/router.d.ts.map +1 -0
  116. package/dist/src/router/router.js +88 -0
  117. package/dist/src/router/router.js.map +1 -0
  118. package/dist/src/server/hash.d.ts +12 -0
  119. package/dist/src/server/hash.d.ts.map +1 -0
  120. package/dist/src/server/hash.js +20 -0
  121. package/dist/src/server/hash.js.map +1 -0
  122. package/dist/src/server/hash.test.d.ts +2 -0
  123. package/dist/src/server/hash.test.d.ts.map +1 -0
  124. package/dist/src/server/hash.test.js +43 -0
  125. package/dist/src/server/hash.test.js.map +1 -0
  126. package/dist/src/server/index.d.ts +8 -0
  127. package/dist/src/server/index.d.ts.map +1 -0
  128. package/dist/src/server/index.js +7 -0
  129. package/dist/src/server/index.js.map +1 -0
  130. package/dist/src/server/overlap-checker.d.ts +18 -0
  131. package/dist/src/server/overlap-checker.d.ts.map +1 -0
  132. package/dist/src/server/overlap-checker.js +247 -0
  133. package/dist/src/server/overlap-checker.js.map +1 -0
  134. package/dist/src/server/sub_hash.d.ts +23 -0
  135. package/dist/src/server/sub_hash.d.ts.map +1 -0
  136. package/dist/src/server/sub_hash.js +38 -0
  137. package/dist/src/server/sub_hash.js.map +1 -0
  138. package/dist/src/server/subscription-manager-client.d.ts +120 -0
  139. package/dist/src/server/subscription-manager-client.d.ts.map +1 -0
  140. package/dist/src/server/subscription-manager-client.js +207 -0
  141. package/dist/src/server/subscription-manager-client.js.map +1 -0
  142. package/dist/src/server/subscription-manager-types.d.ts +168 -0
  143. package/dist/src/server/subscription-manager-types.d.ts.map +1 -0
  144. package/dist/src/server/subscription-manager-types.js +94 -0
  145. package/dist/src/server/subscription-manager-types.js.map +1 -0
  146. package/dist/src/server/subscription-manager-worker-entry.d.ts +2 -0
  147. package/dist/src/server/subscription-manager-worker-entry.d.ts.map +1 -0
  148. package/dist/src/server/subscription-manager-worker-entry.js +127 -0
  149. package/dist/src/server/subscription-manager-worker-entry.js.map +1 -0
  150. package/dist/src/server/subscription-manager-worker-protocol.d.ts +40 -0
  151. package/dist/src/server/subscription-manager-worker-protocol.d.ts.map +1 -0
  152. package/dist/src/server/subscription-manager-worker-protocol.js +20 -0
  153. package/dist/src/server/subscription-manager-worker-protocol.js.map +1 -0
  154. package/dist/src/server/subscription-manager.d.ts +32 -0
  155. package/dist/src/server/subscription-manager.d.ts.map +1 -0
  156. package/dist/src/server/subscription-manager.js +249 -0
  157. package/dist/src/server/subscription-manager.js.map +1 -0
  158. package/dist/src/server/subscription-manager.test.d.ts +2 -0
  159. package/dist/src/server/subscription-manager.test.d.ts.map +1 -0
  160. package/dist/src/server/subscription-manager.test.js +610 -0
  161. package/dist/src/server/subscription-manager.test.js.map +1 -0
  162. package/dist/src/server/subscription-worker.d.ts +32 -0
  163. package/dist/src/server/subscription-worker.d.ts.map +1 -0
  164. package/dist/src/server/subscription-worker.js +190 -0
  165. package/dist/src/server/subscription-worker.js.map +1 -0
  166. package/dist/src/server/supalive-server.d.ts +158 -0
  167. package/dist/src/server/supalive-server.d.ts.map +1 -0
  168. package/dist/src/server/supalive-server.js +1048 -0
  169. package/dist/src/server/supalive-server.js.map +1 -0
  170. package/dist/src/server/types_server.d.ts +96 -0
  171. package/dist/src/server/types_server.d.ts.map +1 -0
  172. package/dist/src/server/types_server.js +36 -0
  173. package/dist/src/server/types_server.js.map +1 -0
  174. package/dist/tsconfig.tsbuildinfo +1 -0
  175. package/package.json +83 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/db/postgres.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { z, ZodRawShape } from "zod";
2
+ import { Predicate } from "./types_db";
3
+ import { ColumnCodec, ComputedCodec, ComputedDataType, ComputedField, ComputedFieldConfig, InferSchema, Model, OverrideField, Prettify, SchemaDefinition } from "./schema";
4
+ import { TxContext } from "./context";
5
+ import { SqlBuilder } from "./db";
6
+ type FieldValue<S extends SchemaDefinition<string, ZodRawShape>, K> = K extends keyof InferSchema<S> ? InferSchema<S>[K] : never;
7
+ type OrderableValue = number | bigint | string | Date;
8
+ type StringFieldKeys<S extends SchemaDefinition<string, ZodRawShape>> = {
9
+ [K in keyof InferSchema<S>]: NonNullable<InferSchema<S>[K]> extends string ? K : never;
10
+ }[keyof InferSchema<S>];
11
+ type OrderableFieldKeys<S extends SchemaDefinition<string, ZodRawShape>> = {
12
+ [K in keyof InferSchema<S>]: NonNullable<InferSchema<S>[K]> extends OrderableValue ? K : never;
13
+ }[keyof InferSchema<S>];
14
+ type JsonFieldKeys<S extends SchemaDefinition<string, ZodRawShape>> = {
15
+ [K in keyof InferSchema<S>]: NonNullable<InferSchema<S>[K]> extends OrderableValue ? never : NonNullable<InferSchema<S>[K]> extends boolean ? never : NonNullable<InferSchema<S>[K]> extends (object | unknown[]) ? K : unknown extends NonNullable<InferSchema<S>[K]> ? K : never;
16
+ }[keyof InferSchema<S>];
17
+ export interface JsonOpOptions {
18
+ /**
19
+ * Skip client-side preparation of the value (no JSON-stringify, no key
20
+ * escaping). The caller is responsible for the exact form the dialect
21
+ * expects: a JSON path string for jsonHasKey, a JSON-encoded string for
22
+ * the contains family.
23
+ */
24
+ raw?: true;
25
+ }
26
+ export interface JsonContainsOptions extends JsonOpOptions {
27
+ /**
28
+ * Sub-path into the target JSON to scope the check to. `string` is a
29
+ * single literal top-level key; `string[]` is a nested literal-key path
30
+ * compiled to `$."a"."b"`. Mutually exclusive with `pathRaw`.
31
+ */
32
+ path?: string | string[];
33
+ /**
34
+ * Raw jsonpath expression used verbatim by the dialect (PG `jsonpath`,
35
+ * MySQL JSON path). Mutually exclusive with `path`.
36
+ */
37
+ pathRaw?: string;
38
+ }
39
+ export interface JsonHasKeyMultiOptions extends JsonOpOptions {
40
+ /** Required for the multi-path overload — chooses any vs every. */
41
+ mode: "one" | "all";
42
+ }
43
+ export declare class QueryBuilder<S extends SchemaDefinition<string, ZodRawShape>> {
44
+ protected ctx: TxContext;
45
+ protected model: Model;
46
+ constructor(ctx: TxContext, model: Model);
47
+ protected getColumnName(key: string): string;
48
+ select(): SelectQueryBuilder<S, keyof InferSchema<S>>;
49
+ select<K extends keyof InferSchema<S>>(...columns: K[]): SelectQueryBuilder<S, K>;
50
+ }
51
+ export type IdAndCommitTs = {
52
+ id: string;
53
+ commitTs: bigint;
54
+ };
55
+ type SelectRow<S extends SchemaDefinition<string, ZodRawShape>, K extends keyof InferSchema<S>, C extends Record<string, unknown>> = Prettify<Pick<InferSchema<S>, Extract<K | "id" | "commitTs", keyof InferSchema<S>>> & C>;
56
+ declare class SelectQueryBuilder<S extends SchemaDefinition<string, ZodRawShape>, K extends keyof InferSchema<S> = never, C extends Record<string, unknown> = {}> {
57
+ private ctx;
58
+ private model;
59
+ private filters;
60
+ private orderByClause;
61
+ private limitVal;
62
+ private offsetVal;
63
+ private selectedProps;
64
+ private computedFields;
65
+ constructor(ctx: TxContext, model: Model, filters?: ((fb: FilterBuilder<S>) => void)[], orderByClause?: string | null, limitVal?: number | null, offsetVal?: number | null, selectedProps?: (keyof InferSchema<S>)[], computedFields?: ComputedField[]);
66
+ private getColumnName;
67
+ private getPropertyName;
68
+ private mapRowToSchema;
69
+ where(filterFn: (fb: FilterBuilder<S>) => void): SelectQueryBuilder<S, K, C>;
70
+ orderBy(column: keyof InferSchema<S> | keyof C, direction?: "asc" | "desc"): SelectQueryBuilder<S, K, C>;
71
+ limit(n: number): SelectQueryBuilder<S, K, C>;
72
+ offset(n: number): SelectQueryBuilder<S, K, C>;
73
+ computed<TField extends string, TZodType extends z.ZodTypeAny | undefined = undefined, TDecode extends (value: any) => any = (value: unknown) => unknown>(config: ComputedFieldConfig<TField, ReturnType<TDecode>, Parameters<TDecode>[0], TZodType> & {
74
+ codec: {
75
+ decode: TDecode;
76
+ encode?: (value: ReturnType<TDecode>) => Parameters<TDecode>[0];
77
+ };
78
+ }): SelectQueryBuilder<S, K | TField, OverrideField<C, TField, ComputedDataType<ComputedCodec<ReturnType<TDecode>, Parameters<TDecode>[0]>, TZodType>>>;
79
+ computed<TField extends string, TZodType extends z.ZodTypeAny | undefined = undefined>(config: ComputedFieldConfig<TField, unknown, unknown, TZodType> & {
80
+ codec?: undefined;
81
+ }): SelectQueryBuilder<S, K | TField, OverrideField<C, TField, ComputedDataType<undefined, TZodType>>>;
82
+ first(): Promise<SelectRow<S, K, C> | null>;
83
+ exists(): Promise<boolean>;
84
+ private static defaultCountType;
85
+ count(): Promise<number>;
86
+ count<T extends z.ZodType>(parser: T): Promise<z.output<T>>;
87
+ find(id: string): Promise<SelectRow<S, K, C> | null>;
88
+ get(): Promise<SelectRow<S, K, C>[]>;
89
+ private buildPredicate;
90
+ }
91
+ declare class FilterBuilder<S extends SchemaDefinition<string, ZodRawShape>> {
92
+ private columns;
93
+ private codecs;
94
+ predicates: Predicate[];
95
+ constructor(columns: Record<string, string>, codecs: Record<string, ColumnCodec<unknown, unknown>>);
96
+ private add;
97
+ private addJsonContains;
98
+ private getColumnName;
99
+ private encode;
100
+ private encodeJson;
101
+ eq<K extends keyof InferSchema<S>>(key: K, value: FieldValue<S, K>): FilterBuilder<S>;
102
+ neq<K extends keyof InferSchema<S>>(key: K, value: FieldValue<S, K>): FilterBuilder<S>;
103
+ gt<K extends OrderableFieldKeys<S>>(key: K, value: FieldValue<S, K>): FilterBuilder<S>;
104
+ gte<K extends OrderableFieldKeys<S>>(key: K, value: FieldValue<S, K>): FilterBuilder<S>;
105
+ lt<K extends OrderableFieldKeys<S>>(key: K, value: FieldValue<S, K>): FilterBuilder<S>;
106
+ lte<K extends OrderableFieldKeys<S>>(key: K, value: FieldValue<S, K>): FilterBuilder<S>;
107
+ like<K extends StringFieldKeys<S>>(key: K, pattern: string): FilterBuilder<S>;
108
+ ilike<K extends StringFieldKeys<S>>(key: K, pattern: string): FilterBuilder<S>;
109
+ contains<K extends StringFieldKeys<S>>(key: K, value: string): FilterBuilder<S>;
110
+ icontains<K extends StringFieldKeys<S>>(key: K, value: string): FilterBuilder<S>;
111
+ /**
112
+ * JSON containment. Targets a JSON/JSONB column and asserts the document
113
+ * contains the given candidate (object-key subset for objects,
114
+ * element-subset for arrays — see dialect-specific docs for edge cases).
115
+ * Pass `{ raw: true }` if `value` is already a JSON-encoded string.
116
+ * Pass `{ path: ... }` to scope the check to a sub-document of the
117
+ * target (jsonb_path_query_first on PG, JSON_CONTAINS path arg on MySQL).
118
+ */
119
+ jsonContains<K extends JsonFieldKeys<S>>(key: K, value: unknown, opts?: JsonContainsOptions): FilterBuilder<S>;
120
+ /** Inverse of {@link jsonContains}: column is contained in the given value. */
121
+ jsonContainedBy<K extends JsonFieldKeys<S>>(key: K, value: unknown, opts?: JsonContainsOptions): FilterBuilder<S>;
122
+ /**
123
+ * Key/path existence check on a JSON column.
124
+ *
125
+ * - String form (top-level key): `jsonHasKey("meta", "color")`. On PG
126
+ * also matches when the column is a string array and `value` is one of
127
+ * its elements (PG `?` semantics); MySQL stays strict to object keys.
128
+ * - Array form (nested path): `jsonHasKey("meta", ["a", "b"])` compiles
129
+ * to a path expression `$."a"."b"` on both dialects.
130
+ * - Raw form: `jsonHasKey("meta", "$.foo[*]", { raw: true })` passes the
131
+ * string through as a dialect path expression (PG `jsonb_path_exists`
132
+ * jsonpath, MySQL `JSON_CONTAINS_PATH`). Caller owns the syntax.
133
+ * - Multi-path form: `jsonHasKey("meta", [["a","b"], "color"], { mode: "all" })`
134
+ * compiles each entry to a jsonpath and emits PG OR/AND of
135
+ * `jsonb_path_exists` or MySQL `JSON_CONTAINS_PATH('all', ...)`.
136
+ */
137
+ jsonHasKey<K extends JsonFieldKeys<S>>(key: K, value: string): FilterBuilder<S>;
138
+ jsonHasKey<K extends JsonFieldKeys<S>>(key: K, value: string[]): FilterBuilder<S>;
139
+ jsonHasKey<K extends JsonFieldKeys<S>>(key: K, value: string, opts: {
140
+ raw: true;
141
+ }): FilterBuilder<S>;
142
+ jsonHasKey<K extends JsonFieldKeys<S>>(key: K, paths: (string | string[])[], opts: JsonHasKeyMultiOptions): FilterBuilder<S>;
143
+ jsonHasKey<K extends JsonFieldKeys<S>>(key: K, paths: string[], opts: JsonHasKeyMultiOptions & {
144
+ raw: true;
145
+ }): FilterBuilder<S>;
146
+ /**
147
+ * Array element containment: target column is a JSON array; the given
148
+ * `value` (any JSON-encodable type) must appear as one of its elements.
149
+ * Pass `{ raw: true }` if `value` is already a JSON-encoded string.
150
+ * Pass `{ path: ... }` to scope the check to a sub-array of the column.
151
+ */
152
+ jsonArrayContains<K extends JsonFieldKeys<S>>(key: K, value: unknown, opts?: JsonContainsOptions): FilterBuilder<S>;
153
+ between<K extends OrderableFieldKeys<S>>(key: K, lo: FieldValue<S, K>, hi: FieldValue<S, K>): FilterBuilder<S>;
154
+ isNull<K extends keyof InferSchema<S>>(key: K): FilterBuilder<S>;
155
+ notNull<K extends keyof InferSchema<S>>(key: K): FilterBuilder<S>;
156
+ /**
157
+ * Compose an OR clause. Each callback fills a fresh sub-FilterBuilder
158
+ * with predicates that are AND-ed together within that branch; the
159
+ * branches themselves are OR-ed. Example:
160
+ * f.or([
161
+ * b => b.eq("tag", "a"),
162
+ * b => b.eq("tag", "b").gt("qty", 3), // (tag=b AND qty>3)
163
+ * ])
164
+ * produces (tag=a) OR (tag=b AND qty>3).
165
+ */
166
+ or(branches: ((fb: FilterBuilder<S>) => void)[]): FilterBuilder<S>;
167
+ }
168
+ export declare function buildPredicateSql(predicate: Predicate, params: unknown[], sql: SqlBuilder): string;
169
+ export declare function matchesPredicate(row: Record<string, unknown>, predicate: Predicate): boolean;
170
+ export declare function jsonContains(target: unknown, candidate: unknown): boolean;
171
+ export declare function jsonPathExtract(val: unknown, path: string): unknown;
172
+ export declare function jsonPathExists(val: unknown, path: string): boolean;
173
+ export {};
174
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/db/query.ts"],"names":[],"mappings":"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"}