@aiao/rxdb-adapter-pglite 0.0.5 → 0.0.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 (44) hide show
  1. package/dist/PGliteClient.d.ts +1 -4
  2. package/dist/PGliteClient.d.ts.map +1 -1
  3. package/dist/RxDBAdapterPGlite.d.ts +173 -17
  4. package/dist/RxDBAdapterPGlite.d.ts.map +1 -1
  5. package/dist/entity/delete_sql.d.ts +13 -0
  6. package/dist/entity/delete_sql.d.ts.map +1 -0
  7. package/dist/entity/deletes_sql.d.ts +11 -0
  8. package/dist/entity/deletes_sql.d.ts.map +1 -0
  9. package/dist/entity/insert_sql.d.ts +14 -0
  10. package/dist/entity/insert_sql.d.ts.map +1 -0
  11. package/dist/entity/inserts_sql.d.ts +12 -0
  12. package/dist/entity/inserts_sql.d.ts.map +1 -0
  13. package/dist/entity/update_sql.d.ts +15 -0
  14. package/dist/entity/update_sql.d.ts.map +1 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2600 -131
  18. package/dist/pglite.interface.d.ts +134 -2
  19. package/dist/pglite.interface.d.ts.map +1 -1
  20. package/dist/pglite.utils.d.ts +29 -1
  21. package/dist/pglite.utils.d.ts.map +1 -1
  22. package/dist/query/join_sql.d.ts +46 -0
  23. package/dist/query/join_sql.d.ts.map +1 -0
  24. package/dist/query/query_sql.d.ts +19 -0
  25. package/dist/query/query_sql.d.ts.map +1 -0
  26. package/dist/query/query_tree_sql.d.ts +36 -0
  27. package/dist/query/query_tree_sql.d.ts.map +1 -0
  28. package/dist/repository/PGliteRepository.d.ts +11 -0
  29. package/dist/repository/PGliteRepository.d.ts.map +1 -0
  30. package/dist/repository/PGliteRepositoryBase.d.ts +10 -0
  31. package/dist/repository/PGliteRepositoryBase.d.ts.map +1 -0
  32. package/dist/repository/PGliteTreeRepository.d.ts +13 -0
  33. package/dist/repository/PGliteTreeRepository.d.ts.map +1 -0
  34. package/dist/rxdb_adapter_create_branch.d.ts +7 -0
  35. package/dist/rxdb_adapter_create_branch.d.ts.map +1 -0
  36. package/dist/rxdb_adapter_switch_transaction_id.d.ts +18 -0
  37. package/dist/rxdb_adapter_switch_transaction_id.d.ts.map +1 -0
  38. package/dist/table/create_sql.d.ts +5 -0
  39. package/dist/table/create_sql.d.ts.map +1 -0
  40. package/dist/table/trigger_sql.d.ts +39 -0
  41. package/dist/table/trigger_sql.d.ts.map +1 -0
  42. package/package.json +6 -4
  43. package/dist/generate_table_create_sql.d.ts +0 -5
  44. package/dist/generate_table_create_sql.d.ts.map +0 -1
@@ -1,7 +1,5 @@
1
1
  import { DescribeQueryResult, QueryOptions, Results, Transaction } from '@electric-sql/pglite';
2
- interface PGliteClientOptions {
3
- store?: 'memory' | 'idb';
4
- }
2
+ import { PGliteClientOptions } from './pglite.interface.js';
5
3
  export interface IPGliteClient {
6
4
  init(dbName: string, options: PGliteClientOptions): Promise<void>;
7
5
  /**
@@ -68,5 +66,4 @@ export declare class PGliteClient implements IPGliteClient {
68
66
  disconnect(): Promise<void>;
69
67
  version(): Promise<string>;
70
68
  }
71
- export {};
72
69
  //# sourceMappingURL=PGliteClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PGliteClient.d.ts","sourceRoot":"","sources":["../src/PGliteClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAU,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGvG,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnF;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEtE;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,qBAAa,YAAa,YAAW,aAAa;;IAG1C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IAQvD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAI/E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIpE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAIpF,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIlF,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO;CAId"}
1
+ {"version":3,"file":"PGliteClient.d.ts","sourceRoot":"","sources":["../src/PGliteClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAU,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAErE;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEnF;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEtE;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,qBAAa,YAAa,YAAW,aAAa;;IAG1C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IAYvD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAI/E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAIpE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAIpF,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIlF,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO;CAId"}
@@ -1,36 +1,192 @@
1
- import { EntityType, IRepository, IRxDBAdapter, RestoreEntityOptions, RxDB, RxDBAdapterLocalBase, TransactionFun } from '@aiao/rxdb';
2
- import { Observable } from 'rxjs';
3
- import { ADAPTER_NAME, PGliteOptions } from './pglite.interface.js';
1
+ import { EntityType, IRepository, IRxDBAdapter, RestoreEntityOptions, RxDBBranchRepository, RxDBChangeRepository, RxDB, RxDBAdapterLocalBase, TransactionFun } from '../packages/rxdb/src/index.ts';
2
+ import { Results } from '@electric-sql/pglite';
3
+ import { ADAPTER_NAME, PGliteClientOptions, PgliteTableColumn } from './pglite.interface.js';
4
+ /**
5
+ * RxDB PGlite 适配器
6
+ *
7
+ * 基于 PGlite(WebAssembly PostgreSQL)的本地存储适配器
8
+ * 提供完整的关系型数据库功能,包括:
9
+ * - 实体持久化和查询
10
+ * - 事务管理
11
+ * - 分支管理(用于多版本数据管理)
12
+ * - 变更历史追踪
13
+ */
4
14
  export declare class RxDBAdapterPGlite extends RxDBAdapterLocalBase implements IRxDBAdapter {
5
15
  #private;
6
16
  private readonly options;
17
+ /** 适配器名称 */
18
+ name: string;
7
19
  /**
8
- * 数据库版本
20
+ * 构造函数
21
+ *
22
+ * @param rxdb - RxDB 实例
23
+ * @param options - PGlite 客户端配置选项
24
+ */
25
+ constructor(rxdb: RxDB, options: PGliteClientOptions);
26
+ /**
27
+ * 批量删除实体
28
+ *
29
+ * @param entities - 要删除的实体数组
30
+ * @returns 已删除的实体数组
31
+ */
32
+ removeMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<InstanceType<T>[]>;
33
+ /**
34
+ * 批量保存实体
35
+ *
36
+ * 将实体持久化到数据库:
37
+ * 1. 按实体类型分组(避免混合不同表的数据)
38
+ * 2. 为每个类型生成批量插入 SQL(使用 UPSERT)
39
+ * 3. 在事务中执行(如果尚未在事务中)
40
+ * 4. 更新实体状态标记
41
+ *
42
+ * @param entities - 要保存的实体数组
43
+ * @returns 已保存的实体数组
9
44
  */
10
- version$: Observable<string>;
11
- name: string;
12
- constructor(rxdb: RxDB, options: PGliteOptions);
13
45
  saveMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<InstanceType<T>[]>;
14
- connect(): Observable<IRxDBAdapter>;
46
+ /**
47
+ * 连接到数据库
48
+ *
49
+ * @returns 适配器实例
50
+ */
51
+ connect(): Promise<IRxDBAdapter>;
52
+ /**
53
+ * 断开数据库连接
54
+ *
55
+ * 清理资源并发送销毁信号
56
+ */
15
57
  disconnect(): Promise<void>;
58
+ /**
59
+ * 创建分支
60
+ *
61
+ * 分支用于管理数据的不同版本,类似 Git 分支:
62
+ * 1. 验证分支 ID 不存在
63
+ * 2. 确定源分支(从当前活跃分支或指定变更点)
64
+ * 3. 创建新分支记录
65
+ *
66
+ * @param branchId - 新分支 ID
67
+ * @param fromChangeId - 从指定变更 ID 创建分支(可选,默认从当前分支的最新状态)
68
+ * @throws {RxdbAdapterPGliteError} 分支 ID 已存在或源分支未找到
69
+ */
16
70
  createBranch(branchId: string, fromChangeId?: number): Promise<void>;
71
+ /**
72
+ * 切换分支
73
+ *
74
+ * 切换到不同的分支,使后续的变更记录到目标分支:
75
+ * 1. 验证当前分支和目标分支
76
+ * 2. 重建所有实体表的触发器(更新为新的分支 ID)
77
+ * 3. 更新分支激活状态
78
+ *
79
+ * @param branchId - 目标分支 ID
80
+ * @throws {RxdbAdapterPGliteError} 分支未找到
81
+ */
17
82
  switchBranch(branchId: string): Promise<void>;
18
- restoreEntity<T extends EntityType>(entity: InstanceType<T>, options: RestoreEntityOptions): Promise<InstanceType<T>>;
19
83
  /**
20
- * 获取版本
84
+ * 恢复实体到指定状态
85
+ *
86
+ * 从变更历史中恢复实体到指定的版本
87
+ *
88
+ * @param _entity - 要恢复的实体
89
+ * @param _options - 恢复选项
90
+ * @returns 恢复后的实体
91
+ * @throws {RxdbAdapterPGliteError} 此功能尚未实现
92
+ */
93
+ restoreEntity<T extends EntityType>(_entity: InstanceType<T>, _options: RestoreEntityOptions): Promise<InstanceType<T>>;
94
+ /**
95
+ * 获取 PostgreSQL 版本
96
+ *
97
+ * @returns PostgreSQL 版本字符串
21
98
  */
22
99
  version(): Promise<string>;
23
- getRepository<T extends EntityType, RT extends IRepository<T>>(EntityType: EntityType): RT;
24
- createTables<T extends EntityType>(entities: T[]): Promise<boolean>;
25
- isTableExisted(EntityType: EntityType): Promise<boolean>;
100
+ /**
101
+ * 获取实体类型的仓库实例
102
+ *
103
+ * 根据实体元数据中的仓库类型创建相应的仓库实例:
104
+ * - Repository: 通用仓库
105
+ * - TreeRepository: 树形仓库(用于层级数据)
106
+ *
107
+ * 仓库实例会被缓存,避免重复创建
108
+ *
109
+ * @param entity - 实体类型
110
+ * @returns 仓库实例
111
+ * @throws {RxdbAdapterPGliteError} 不支持的仓库类型
112
+ */
113
+ getRepository<T extends EntityType, RT = IRepository<T>>(entity: T): RT;
114
+ /**
115
+ * 创建数据库表
116
+ *
117
+ * 分三阶段创建表结构:
118
+ * 1. 创建表和列(不含外键约束)
119
+ * 2. 添加外键约束
120
+ * 3. 创建触发器(用于变更追踪)
121
+ *
122
+ * 这样可以避免因表创建顺序导致的外键约束失败
123
+ *
124
+ * @param EntityTypes - 实体类型数组
125
+ * @param entities - 初始化数据(可选)
126
+ * @returns 是否成功创建
127
+ */
128
+ createTables<T extends EntityType>(EntityTypes: T[], entities?: InstanceType<T>[]): Promise<boolean>;
26
129
  /**
27
130
  * 判断表是否存在
28
- * @param EntityType
131
+ *
132
+ * @param EntityType - 实体类型
133
+ * @returns 表是否存在
134
+ */
135
+ isTableExisted(EntityType: EntityType): Promise<boolean>;
136
+ /**
137
+ * 获取表的列信息
138
+ *
139
+ * @param EntityType - 实体类型
140
+ * @returns 列信息数组
141
+ */
142
+ getTableColumns<T extends EntityType>(EntityType: T): Promise<PgliteTableColumn[]>;
143
+ /**
144
+ * 获取本地分支仓库
145
+ *
146
+ * @returns 分支仓库实例
147
+ */
148
+ localRxDBBranch(): RxDBBranchRepository;
149
+ /**
150
+ * 获取本地变更仓库
151
+ *
152
+ * @returns 变更仓库实例
153
+ */
154
+ localRxDBChange(): RxDBChangeRepository;
155
+ /**
156
+ * 执行事务
157
+ *
158
+ * 事务管理策略:
159
+ * - 使用手动 BEGIN/COMMIT/ROLLBACK 控制事务边界
160
+ * - 使用 SET CONSTRAINTS ALL DEFERRED 延迟外键约束检查到提交时
161
+ * - 动态重建触发器以注入 transactionId(与 SQLite 方案一致)
162
+ * - PostgreSQL 不允许在有 pending trigger events 时修改表结构,
163
+ * 因此无法使用列默认值方案,必须重建触发器
164
+ *
165
+ * @param transactionFun - 事务函数
166
+ * @param transactionLog - 是否启用事务日志(默认 true)
167
+ * @returns 事务函数的返回值
168
+ * @throws {RxdbAdapterPGliteError} 事务执行失败
169
+ */
170
+ transaction<T extends TransactionFun>(transactionFun: T, transactionLog?: boolean): Promise<Awaited<ReturnType<T>>>;
171
+ /**
172
+ * 执行 SQL 查询
173
+ *
174
+ * 查询执行策略:
175
+ * - 在事务中:直接在事务上下文中执行
176
+ * - 非事务中:加入队列按顺序执行,避免并发冲突
177
+ *
178
+ * @param sql - SQL 语句
179
+ * @param bindings - 参数绑定
180
+ * @returns 查询结果
29
181
  */
30
- isTableExisted$<T extends EntityType>(EntityType: T): Observable<boolean>;
31
- transaction(fun: TransactionFun): Promise<any>;
182
+ query(sql: string, bindings?: any[]): Promise<Results<any>>;
32
183
  }
33
- declare module '@aiao/rxdb' {
184
+ /**
185
+ * 扩展 RxDBAdapters 接口
186
+ *
187
+ * 将 PGlite 适配器注册到 RxDB 适配器类型系统中
188
+ */
189
+ declare module '../packages/rxdb/src/index.ts' {
34
190
  interface RxDBAdapters {
35
191
  [ADAPTER_NAME]: RxDBAdapterPGlite;
36
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RxDBAdapterPGlite.d.ts","sourceRoot":"","sources":["../src/RxDBAdapterPGlite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,IAAI,EACJ,oBAAoB,EACpB,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAqD,MAAM,MAAM,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIpE,qBAAa,iBAAkB,SAAQ,oBAAqB,YAAW,YAAY;;IAkB/E,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B;;OAEG;IACH,QAAQ,qBAGN;IAEF,IAAI,EAAE,MAAM,CAAgB;gBAG1B,IAAI,EAAE,IAAI,EACO,OAAO,EAAE,aAAa;IAKzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAIhF,OAAO;IAId,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAG3B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGpE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,aAAa,CAAC,CAAC,SAAS,UAAU,EAChC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAG3B;;OAEG;IACI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,EAAE;IAI1F,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAa7D,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D;;;OAGG;IACI,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;IAWhF,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;CAU/C;AAED,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAU,YAAY;QACpB,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;KACnC;CACF"}
1
+ {"version":3,"file":"RxDBAdapterPGlite.d.ts","sourceRoot":"","sources":["../src/RxDBAdapterPGlite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { EntityMetadata, EntityType } from '../../packages/rxdb/src/index.ts';
2
+ /**
3
+ * Generate SQL for deleting a single entity
4
+ * @param metadata - Entity metadata
5
+ * @param entity - Entity instance to delete
6
+ * @returns SQL query and parameters for PostgreSQL
7
+ */
8
+ declare const _default: <T extends EntityType>(metadata: EntityMetadata, entity: InstanceType<T>) => {
9
+ sql: string;
10
+ params: any[];
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=delete_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete_sql.d.ts","sourceRoot":"","sources":["../../src/entity/delete_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxD;;;;;GAKG;yBACa,CAAC,SAAS,UAAU,EAAE,UAAU,cAAc,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC;;;;AAAvF,wBAOE"}
@@ -0,0 +1,11 @@
1
+ import { EntityMetadata, EntityType } from '../../packages/rxdb/src/index.ts';
2
+ /**
3
+ * Generate SQL for deleting multiple entities
4
+ * Returns inline SQL for batch operations (no parameters)
5
+ * @param metadata - Entity metadata
6
+ * @param entities - Array of entity instances to delete
7
+ * @returns SQL query string
8
+ */
9
+ declare const _default: <T extends EntityType>(metadata: EntityMetadata, entities: InstanceType<T>[]) => string;
10
+ export default _default;
11
+ //# sourceMappingURL=deletes_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deletes_sql.d.ts","sourceRoot":"","sources":["../../src/entity/deletes_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxD;;;;;;GAMG;yBACa,CAAC,SAAS,UAAU,EAAE,UAAU,cAAc,EAAE,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE;AAA3F,wBAIE"}
@@ -0,0 +1,14 @@
1
+ import { EntityMetadata, EntityType, IMutationContext } from '../../packages/rxdb/src/index.ts';
2
+ /**
3
+ * Generate SQL for inserting a single entity
4
+ * @param metadata - Entity metadata
5
+ * @param entity - Entity instance to insert
6
+ * @param context - Optional mutation context for tracking user, etc.
7
+ * @returns SQL query and parameters for PostgreSQL
8
+ */
9
+ declare const _default: <T extends EntityType>(metadata: EntityMetadata, entity: InstanceType<T>, context?: IMutationContext) => {
10
+ sql: string;
11
+ params: any[];
12
+ };
13
+ export default _default;
14
+ //# sourceMappingURL=insert_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert_sql.d.ts","sourceRoot":"","sources":["../../src/entity/insert_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAW,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnF;;;;;;GAMG;yBACa,CAAC,SAAS,UAAU,EAClC,UAAU,cAAc,EACxB,QAAQ,YAAY,CAAC,CAAC,CAAC,EACvB,UAAU,gBAAgB;;;;AAH5B,wBA4CE"}
@@ -0,0 +1,12 @@
1
+ import { EntityMetadata, EntityType, IQueryContext } from '../../packages/rxdb/src/index.ts';
2
+ /**
3
+ * Generate SQL for inserting multiple entities in a single statement
4
+ * Returns inline SQL for batch operations (no parameters)
5
+ * @param metadata - Entity metadata
6
+ * @param entities - Array of entity instances to insert
7
+ * @param context - Optional query context for tracking user, etc.
8
+ * @returns SQL query string
9
+ */
10
+ declare const _default: <T extends EntityType>(metadata: EntityMetadata, entities: InstanceType<T>[], context?: IQueryContext) => string;
11
+ export default _default;
12
+ //# sourceMappingURL=inserts_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inserts_sql.d.ts","sourceRoot":"","sources":["../../src/entity/inserts_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAW,aAAa,EAAE,MAAM,YAAY,CAAC;AAQhF;;;;;;;GAOG;yBACa,CAAC,SAAS,UAAU,EAClC,UAAU,cAAc,EACxB,UAAU,YAAY,CAAC,CAAC,CAAC,EAAE,EAC3B,UAAU,aAAa;AAHzB,wBA8BE"}
@@ -0,0 +1,15 @@
1
+ import { EntityMetadata, EntityType, IMutationContext } from '../../packages/rxdb/src/index.ts';
2
+ /**
3
+ * Generate SQL for updating entity(ies)
4
+ * @param metadata - Entity metadata
5
+ * @param entityOrEntities - Single entity or array of entities to update
6
+ * @param patch - Partial entity data to update
7
+ * @param context - Optional mutation context
8
+ * @returns SQL query and parameters for PostgreSQL
9
+ */
10
+ declare const generate_entity_update_sql: <T extends EntityType>(metadata: EntityMetadata, entityOrEntities: InstanceType<T> | InstanceType<T>[], patch: Partial<InstanceType<T>>, context?: IMutationContext) => {
11
+ sql: string;
12
+ params: unknown[];
13
+ };
14
+ export default generate_entity_update_sql;
15
+ //# sourceMappingURL=update_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update_sql.d.ts","sourceRoot":"","sources":["../../src/entity/update_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAW,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnF;;;;;;;GAOG;AACH,QAAA,MAAM,0BAA0B,GAAI,CAAC,SAAS,UAAU,EACtD,UAAU,cAAc,EACxB,kBAAkB,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,EACrD,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,UAAU,gBAAgB;;;CAkD3B,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { RxdbAdapterPGliteError } from './pglite.utils.js';
2
2
  export * from './RxDBAdapterPGlite.js';
3
+ export { generate_trigger_sql } from './table/trigger_sql.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}