@aiao/rxdb-adapter-sqlite 0.0.6 → 0.0.7

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 (75) hide show
  1. package/dist/RxDBAdapterSqlite.d.ts +52 -23
  2. package/dist/RxDBAdapterSqlite.d.ts.map +1 -1
  3. package/dist/SqliteClient.d.ts +63 -8
  4. package/dist/SqliteClient.d.ts.map +1 -1
  5. package/dist/{rxdb_create_sqlite_client.d.ts → create_sqlite_client.d.ts} +7 -1
  6. package/dist/create_sqlite_client.d.ts.map +1 -0
  7. package/dist/entity/delete_sql.d.ts +1 -1
  8. package/dist/entity/deletes_sql.d.ts +1 -1
  9. package/dist/entity/insert_sql.d.ts +9 -2
  10. package/dist/entity/insert_sql.d.ts.map +1 -1
  11. package/dist/entity/inserts_sql.d.ts +1 -1
  12. package/dist/entity/mod_entities_sql.d.ts +8 -0
  13. package/dist/entity/mod_entities_sql.d.ts.map +1 -0
  14. package/dist/entity/update_sql.d.ts +9 -3
  15. package/dist/entity/update_sql.d.ts.map +1 -1
  16. package/dist/handle_rxdb_change.d.ts +5 -0
  17. package/dist/handle_rxdb_change.d.ts.map +1 -0
  18. package/dist/index.d.ts +5 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1379 -992
  21. package/dist/query/find_by_row_ids_sql.d.ts.map +1 -1
  22. package/dist/query/find_sql.d.ts.map +1 -1
  23. package/dist/query/join_sql.d.ts +8 -1
  24. package/dist/query/join_sql.d.ts.map +1 -1
  25. package/dist/query/query_sql.d.ts +8 -4
  26. package/dist/query/query_sql.d.ts.map +1 -1
  27. package/dist/query/query_sql.utils.d.ts +22 -2
  28. package/dist/query/query_sql.utils.d.ts.map +1 -1
  29. package/dist/query/query_tree_sql.d.ts +11 -5
  30. package/dist/query/query_tree_sql.d.ts.map +1 -1
  31. package/dist/repository/SqliteRepository.d.ts +5 -3
  32. package/dist/repository/SqliteRepository.d.ts.map +1 -1
  33. package/dist/repository/SqliteRepositoryBase.d.ts.map +1 -1
  34. package/dist/repository/SqliteTreeRepository.d.ts +1 -1
  35. package/dist/repository/SqliteTreeRepository.d.ts.map +1 -1
  36. package/dist/rxdb_adapter_mutations.d.ts +8 -0
  37. package/dist/rxdb_adapter_mutations.d.ts.map +1 -0
  38. package/dist/sqlite-load.utils.d.ts.map +1 -1
  39. package/dist/sqlite.interface.d.ts +51 -8
  40. package/dist/sqlite.interface.d.ts.map +1 -1
  41. package/dist/sqlite.utils.d.ts +69 -55
  42. package/dist/sqlite.utils.d.ts.map +1 -1
  43. package/dist/table/create_table_sql.d.ts +9 -0
  44. package/dist/table/create_table_sql.d.ts.map +1 -0
  45. package/dist/table/create_tables_sql.d.ts +6 -0
  46. package/dist/table/create_tables_sql.d.ts.map +1 -1
  47. package/dist/table/remove_trigger_sql.d.ts +4 -0
  48. package/dist/table/remove_trigger_sql.d.ts.map +1 -0
  49. package/dist/table/trigger_sql.d.ts +0 -4
  50. package/dist/table/trigger_sql.d.ts.map +1 -1
  51. package/dist/transaction_sqlite_result.d.ts +29 -0
  52. package/dist/transaction_sqlite_result.d.ts.map +1 -0
  53. package/dist/version/execute_switch_actions.d.ts +18 -0
  54. package/dist/version/execute_switch_actions.d.ts.map +1 -0
  55. package/dist/version/switch-result.utils.d.ts +24 -0
  56. package/dist/version/switch-result.utils.d.ts.map +1 -0
  57. package/dist/version/switch_branch.d.ts +16 -0
  58. package/dist/version/switch_branch.d.ts.map +1 -0
  59. package/dist/version/switch_transaction_id.d.ts +11 -0
  60. package/dist/version/switch_transaction_id.d.ts.map +1 -0
  61. package/package.json +5 -6
  62. package/README.md +0 -1
  63. package/dist/entity/remove_many_sql.d.ts +0 -8
  64. package/dist/entity/remove_many_sql.d.ts.map +0 -1
  65. package/dist/entity/save_many_sql.d.ts +0 -8
  66. package/dist/entity/save_many_sql.d.ts.map +0 -1
  67. package/dist/rxdb_adapter_create_branch.d.ts +0 -7
  68. package/dist/rxdb_adapter_create_branch.d.ts.map +0 -1
  69. package/dist/rxdb_adapter_switch_branch.d.ts +0 -4
  70. package/dist/rxdb_adapter_switch_branch.d.ts.map +0 -1
  71. package/dist/rxdb_adapter_switch_transaction_id.d.ts +0 -5
  72. package/dist/rxdb_adapter_switch_transaction_id.d.ts.map +0 -1
  73. package/dist/rxdb_create_sqlite_client.d.ts.map +0 -1
  74. package/dist/table/create_sql.d.ts +0 -8
  75. package/dist/table/create_sql.d.ts.map +0 -1
@@ -1,8 +1,12 @@
1
- import { EntityType, IRepository, IRxDBAdapter, RestoreEntityOptions, RxDBBranchRepository, RxDBChangeRepository, RxDB, RxDBAdapterLocalBase, TransactionFun } from '../packages/rxdb/src/index.ts';
1
+ import { EntityType, IRxDBAdapter, RxDB, RxDBAdapterLocalBase, RxDBBranch, RxDBChange, RxDBMutationsMap, SwitchBranchOptions, SwitchVersionActions } from '../packages/rxdb/src/index.ts';
2
+ import { SqliteRepository } from './repository/SqliteRepository.js';
3
+ import { SqliteTreeRepository } from './repository/SqliteTreeRepository.js';
2
4
  import { ADAPTER_NAME, SqliteOptions, SqliteResult } from './sqlite.interface.js';
5
+ import { SqliteClient } from './SqliteClient.js';
3
6
  import { SQLiteCompatibleType } from './wa-sqlite.interface.js';
7
+ export type TransactionFun = (client: SqliteClient) => Promise<any>;
4
8
  /**
5
- * SQLite Adapter
9
+ * SQLite 适配器
6
10
  */
7
11
  export declare class RxDBAdapterSqlite extends RxDBAdapterLocalBase implements IRxDBAdapter {
8
12
  #private;
@@ -12,6 +16,11 @@ export declare class RxDBAdapterSqlite extends RxDBAdapterLocalBase implements I
12
16
  */
13
17
  name: string;
14
18
  constructor(rxdb: RxDB, options: SqliteOptions);
19
+ /**
20
+ * 获取实体仓库
21
+ * @param EntityType 实体类
22
+ */
23
+ getRepository<T extends EntityType, RT = SqliteRepository<T>>(EntityType: T): RT;
15
24
  /**
16
25
  * 连接 wab sqlite
17
26
  */
@@ -24,11 +33,6 @@ export declare class RxDBAdapterSqlite extends RxDBAdapterLocalBase implements I
24
33
  * 获取版本
25
34
  */
26
35
  version(): Promise<string>;
27
- /**
28
- * 获取实体仓库
29
- * @param entity 实体类
30
- */
31
- getRepository<T extends EntityType, RT = IRepository<T>>(entity: T): RT;
32
36
  /**
33
37
  * 保存多个实体
34
38
  * TODO: 优化事件
@@ -41,6 +45,11 @@ export declare class RxDBAdapterSqlite extends RxDBAdapterLocalBase implements I
41
45
  * @returns
42
46
  */
43
47
  removeMany<T extends EntityType>(entities: InstanceType<T>[]): Promise<InstanceType<T>[]>;
48
+ /**
49
+ * 批量修改实体(创建/更新/删除)
50
+ * @param options
51
+ */
52
+ mutations(options: RxDBMutationsMap<any>): Promise<InstanceType<any>[]>;
44
53
  /**
45
54
  * 判断表是否存在
46
55
  * @param EntityType
@@ -48,23 +57,28 @@ export declare class RxDBAdapterSqlite extends RxDBAdapterLocalBase implements I
48
57
  isTableExisted<T extends EntityType>(EntityType: T): Promise<boolean>;
49
58
  /**
50
59
  * 创建表和初始化数据
51
- * @param entities 表结构
52
- * @param data 视图数据
60
+ * @param EntityTypes 表结构
61
+ * @param entities 视图数据
53
62
  * @returns
54
63
  */
55
64
  createTables<T extends EntityType>(EntityTypes: T[], entities?: InstanceType<T>[]): Promise<boolean>;
56
- /**
57
- * 创建分支
58
- * @param branchId 分支 ID
59
- * @param fromChangeId
60
- */
61
- createBranch(branchId: string, fromChangeId?: number): Promise<void>;
62
65
  /**
63
66
  * 切换分支
64
- * @param branchId
67
+ * @param options 切换选项
65
68
  * @returns
66
69
  */
67
- switchBranch(branchId: string): Promise<void>;
70
+ switchBranch(options: SwitchBranchOptions): Promise<void>;
71
+ /**
72
+ * 应用压缩后的变更到本地实体表
73
+ *
74
+ * 将 actions 转换为 SQL 操作实体表。
75
+ *
76
+ * @param actions - 压缩后的变更操作
77
+ * @param localChanges - (已废弃)不再使用,Pull 来的数据不应该生成 RxDBChange 记录
78
+ * @param disableTriggers - 是否禁用触发器(用于 pull 等操作,避免创建 RxDBChange)
79
+ * @deprecated localChanges 参数已废弃,将在未来版本中移除
80
+ */
81
+ mergeChanges(actions: SwitchVersionActions, localChanges?: Omit<RxDBChange, 'id'>[], disableTriggers?: boolean): Promise<void>;
68
82
  /**
69
83
  * 缓存 RowId 与实体映射
70
84
  * @param rowId
@@ -89,11 +103,9 @@ export declare class RxDBAdapterSqlite extends RxDBAdapterLocalBase implements I
89
103
  */
90
104
  getRowIdByEntity(entity: InstanceType<EntityType>): bigint | undefined;
91
105
  /**
92
- * 恢复某个实体
93
- * @param entity
94
- * @param options
106
+ * 清空所有缓存
95
107
  */
96
- restoreEntity<T extends EntityType>(entity: InstanceType<T>, options: RestoreEntityOptions): Promise<InstanceType<T>>;
108
+ cleanAllCache(): Promise<void>;
97
109
  /**
98
110
  * 执行 SQL 语句
99
111
  */
@@ -108,11 +120,28 @@ export declare class RxDBAdapterSqlite extends RxDBAdapterLocalBase implements I
108
120
  /**
109
121
  * 本地分支仓库
110
122
  */
111
- localRxDBBranch(): RxDBBranchRepository;
123
+ localRxDBBranch(): SqliteRepository<typeof RxDBBranch>;
124
+ /**
125
+ * 内部查询
126
+ * 直接调用不会走队列
127
+ * @param sql
128
+ * @returns
129
+ */
130
+ internalQuery(sql: string, bindings?: SQLiteCompatibleType[]): Promise<SqliteResult>;
112
131
  /**
113
132
  * 本地变更仓库
114
133
  */
115
- localRxDBChange(): RxDBChangeRepository;
134
+ localRxDBChange(): SqliteTreeRepository<typeof RxDBChange>;
135
+ /**
136
+ * 获取 RxDBChange 表的当前序列值
137
+ * @returns
138
+ */
139
+ getRxDBChangeSequence(): Promise<number>;
140
+ /**
141
+ * 设置 RxDBChange 表的序列值
142
+ * @param sequence 序列值
143
+ */
144
+ setRxDBChangeSequence(sequence: number): Promise<void>;
116
145
  }
117
146
  declare module '../packages/rxdb/src/index.ts' {
118
147
  interface RxDBAdapters {
@@ -1 +1 @@
1
- {"version":3,"file":"RxDBAdapterSqlite.d.ts","sourceRoot":"","sources":["../src/RxDBAdapterSqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RxDBAdapterSqlite.d.ts","sourceRoot":"","sources":["../src/RxDBAdapterSqlite.ts"],"names":[],"mappings":"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"}
@@ -7,24 +7,79 @@ export interface SqliteClientEvents {
7
7
  [SQliteChangeType.SQLITE_UPDATE]: SqliteChangeEvent;
8
8
  }
9
9
  /**
10
- * sqlite 客户端
10
+ * 批量事件发送间隔(毫秒)
11
+ *
12
+ * 预设档位:
13
+ * - IMMEDIATE (0ms): 立即发送,无批量合并,最低延迟
14
+ * - FAST (4ms): 快速响应,适合实时协作场景
15
+ * - BALANCED (16ms): 平衡模式,对应 60fps,推荐默认值
16
+ * - POWER_SAVE (50ms): 省电模式,最大化批量合并
17
+ */
18
+ export declare const BATCH_TIMEOUT: {
19
+ readonly IMMEDIATE: 0;
20
+ readonly FAST: 4;
21
+ readonly BALANCED: 16;
22
+ readonly POWER_SAVE: 50;
23
+ };
24
+ /**
25
+ * SQLite 客户端
26
+ *
27
+ * 提供数据库连接、SQL 执行、变更监听等核心功能
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const client = new SqliteClient();
32
+ *
33
+ * // 默认配置(16ms 平衡模式)
34
+ * await client.init('mydb', { url: '...' });
35
+ *
36
+ * // 快速响应模式(4ms)
37
+ * await client.init('mydb', {
38
+ * url: '...',
39
+ * batchTimeout: BATCH_TIMEOUT.FAST
40
+ * });
41
+ *
42
+ * const result = await client.execute('SELECT * FROM users');
43
+ * ```
11
44
  */
12
45
  export declare class SqliteClient extends EventDispatcher<SqliteClientEvents> {
13
46
  #private;
14
47
  /**
15
48
  * 初始化数据库
16
- * @param dbName 数据库名称
17
- * @param options 加载选项
18
- * @returns
49
+ *
50
+ * @param dbName - 数据库名称(不含 .sqlite 扩展名)
51
+ * @param options - 加载选项
19
52
  */
20
53
  init(dbName: string, options: LoadModuleOptions): Promise<void>;
54
+ /**
55
+ * 获取 SQLite 版本号
56
+ *
57
+ * @returns SQLite 版本字符串
58
+ */
21
59
  version(): Promise<string>;
60
+ /**
61
+ * 断开数据库连接
62
+ *
63
+ * 等待所有待执行任务完成后关闭数据库连接
64
+ */
22
65
  disconnect(): Promise<void>;
23
66
  /**
24
- * 执行 sql
25
- * @param sql
26
- * @param bindings
27
- * @returns
67
+ * 执行 SQL 语句
68
+ *
69
+ * 所有查询自动排队,保证串行执行避免并发冲突
70
+ *
71
+ * @param sql - SQL 语句(支持多语句,用分号分隔)
72
+ * @param bindings - 参数绑定(可选)
73
+ * @returns 执行结果
74
+ * @throws {Error} 当客户端已断开连接时
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * const result = await client.execute(
79
+ * 'SELECT * FROM users WHERE id = ?',
80
+ * [userId]
81
+ * );
82
+ * ```
28
83
  */
29
84
  execute(sql: string, bindings?: SQLiteCompatibleType[]): Promise<SqliteResult>;
30
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../src/SqliteClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,eAAe,EAAO,MAAM,aAAa,CAAC;AAIvE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAa,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAS3E,MAAM,WAAW,kBAAkB;IACjC,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IACpD,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IACpD,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,eAAe,CAAC,kBAAkB,CAAC;;IAmBnE;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;IAoD/C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,UAAU;IAOhB;;;;;OAKG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;CA6BrF"}
1
+ {"version":3,"file":"SqliteClient.d.ts","sourceRoot":"","sources":["../src/SqliteClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,eAAe,EAAO,MAAM,aAAa,CAAC;AAIvE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAa,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAS3E,MAAM,WAAW,kBAAkB;IACjC,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IACpD,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IACpD,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACrD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAcX;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,YAAa,SAAQ,eAAe,CAAC,kBAAkB,CAAC;;IAUnE;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BrE;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAKhC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;;;;;;;;;;;;;;;;OAiBG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;CAuDrF"}
@@ -1,5 +1,11 @@
1
1
  import { SqliteOptions } from './sqlite.interface.js';
2
2
  import { SqliteClient } from './SqliteClient.js';
3
+ /**
4
+ * 创建 SQLite 客户端
5
+ * @param dbName 数据库名称
6
+ * @param options 加载选项
7
+ * @returns SQLite 客户端实例
8
+ */
3
9
  declare const _default: (dbName: string, options: SqliteOptions) => Promise<SqliteClient>;
4
10
  export default _default;
5
- //# sourceMappingURL=rxdb_create_sqlite_client.d.ts.map
11
+ //# sourceMappingURL=create_sqlite_client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_sqlite_client.d.ts","sourceRoot":"","sources":["../src/create_sqlite_client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;GAKG;yBACmB,QAAQ,MAAM,EAAE,SAAS,aAAa;AAA5D,wBA2BE"}
@@ -1,6 +1,6 @@
1
1
  import { EntityMetadata, EntityType } from '../../packages/rxdb/src/index.ts';
2
2
  /**
3
- * Entity remove SQL
3
+ * 生成删除实体的 sql 语句
4
4
  */
5
5
  declare const _default: <T extends EntityType>(metadata: EntityMetadata, entity: InstanceType<T>) => {
6
6
  sql: string;
@@ -1,6 +1,6 @@
1
1
  import { EntityMetadata, EntityType } from '../../packages/rxdb/src/index.ts';
2
2
  /**
3
- * Entity remove SQL
3
+ * 生成删除实体的 sql 语句
4
4
  */
5
5
  declare const _default: <T extends EntityType>(metadata: EntityMetadata, entities: InstanceType<T>[]) => string;
6
6
  export default _default;
@@ -1,8 +1,15 @@
1
1
  import { EntityMetadata, EntityType, IMutationContext } from '../../packages/rxdb/src/index.ts';
2
2
  import { GenerateSqlResult } from '../query/query_sql.js';
3
+ export interface InsertSqlOptions extends IMutationContext {
4
+ /**
5
+ * 使用 INSERT OR REPLACE 而不是 INSERT
6
+ * 用于 pull/undo/redo 场景中可能的重复键
7
+ */
8
+ useReplace?: boolean;
9
+ }
3
10
  /**
4
- * Entity Create SQL
11
+ * 生成创建实体的 sql 语句
5
12
  */
6
- declare const _default: <T extends EntityType>(metadata: EntityMetadata, entity: InstanceType<T>, context?: IMutationContext) => GenerateSqlResult;
13
+ declare const _default: <T extends EntityType>(metadata: EntityMetadata, entity: InstanceType<T>, context?: InsertSqlOptions) => GenerateSqlResult;
7
14
  export default _default;
8
15
  //# sourceMappingURL=insert_sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insert_sql.d.ts","sourceRoot":"","sources":["../../src/entity/insert_sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAW,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS1D;;GAEG;yBACa,CAAC,SAAS,UAAU,EAClC,UAAU,cAAc,EACxB,QAAQ,YAAY,CAAC,CAAC,CAAC,EACvB,UAAU,gBAAgB,KACzB,iBAAiB;AAJpB,wBA8BE"}
1
+ {"version":3,"file":"insert_sql.d.ts","sourceRoot":"","sources":["../../src/entity/insert_sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAW,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS1D,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;yBACa,CAAC,SAAS,UAAU,EAClC,UAAU,cAAc,EACxB,QAAQ,YAAY,CAAC,CAAC,CAAC,EACvB,UAAU,gBAAgB,KACzB,iBAAiB;AAJpB,wBAyCE"}
@@ -1,6 +1,6 @@
1
1
  import { EntityMetadata, EntityType, IQueryContext } from '../../packages/rxdb/src/index.ts';
2
2
  /**
3
- * Entity Create SQL
3
+ * 生成批量创建实体的 sql 语句
4
4
  */
5
5
  declare const _default: <T extends EntityType>(metadata: EntityMetadata, entities: InstanceType<T>[], context?: IQueryContext) => string;
6
6
  export default _default;
@@ -0,0 +1,8 @@
1
+ import { EntityType, IMutationContext, RxDBMutationsMap } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ /**
4
+ * 批量修改实体(创建/更新/删除)
5
+ */
6
+ declare const _default: <T extends EntityType = any>(adapter: RxDBAdapterSqlite, mutations: RxDBMutationsMap<T>, context?: IMutationContext) => Promise<InstanceType<T>[]>;
7
+ export default _default;
8
+ //# sourceMappingURL=mod_entities_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod_entities_sql.d.ts","sourceRoot":"","sources":["../../src/entity/mod_entities_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsC,gBAAgB,EAAE,gBAAgB,EAAQ,MAAM,YAAY,CAAC;AAItH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAMjE;;GAEG;yBACmB,CAAC,SAAS,UAAU,GAAG,GAAG,EAC9C,SAAS,iBAAiB,EAC1B,WAAW,gBAAgB,CAAC,CAAC,CAAC,EAC9B,UAAU,gBAAgB,KACzB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AAJ7B,wBAwHE"}
@@ -1,8 +1,14 @@
1
1
  import { EntityMetadata, EntityType, IMutationContext } from '../../packages/rxdb/src/index.ts';
2
2
  import { GenerateSqlResult } from '../query/query_sql.js';
3
3
  /**
4
- * 计算更新 entity 的 SQL
4
+ * 计算更新实体的 SQL 语句
5
+ * @template T - 实体类型
6
+ * @param metadata - 实体元数据
7
+ * @param entityOrEntities - 要更新的实体实例或实体实例数组
8
+ * @param patch - 更新的数据补丁
9
+ * @param context - 变更上下文,可选
10
+ * @returns 生成的 SQL 语句和参数
5
11
  */
6
- declare const _default: <T extends EntityType>(metadata: EntityMetadata, entityOrEntities: InstanceType<T> | InstanceType<T>[], patch: Partial<InstanceType<T>>, context?: IMutationContext) => GenerateSqlResult;
7
- export default _default;
12
+ export declare const update_sql: <T extends EntityType>(metadata: EntityMetadata, entityOrEntities: InstanceType<T> | InstanceType<T>[], patch: Partial<InstanceType<T>>, context?: IMutationContext) => GenerateSqlResult;
13
+ export default update_sql;
8
14
  //# sourceMappingURL=update_sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update_sql.d.ts","sourceRoot":"","sources":["../../src/entity/update_sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAW,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI1D;;GAEG;yBACa,CAAC,SAAS,UAAU,EAClC,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,KACzB,iBAAiB;AALpB,wBA2CE"}
1
+ {"version":3,"file":"update_sql.d.ts","sourceRoot":"","sources":["../../src/entity/update_sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAW,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAU1D;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,UAAU,EAC7C,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,KACzB,iBAuCF,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { EntityType } from '../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from './RxDBAdapterSqlite.js';
3
+ import { SqliteChangeEvent } from './sqlite.interface.js';
4
+ export declare const handle_rxdb_change: <T extends EntityType>(adapter: RxDBAdapterSqlite, event: SqliteChangeEvent) => void;
5
+ //# sourceMappingURL=handle_rxdb_change.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle_rxdb_change.d.ts","sourceRoot":"","sources":["../src/handle_rxdb_change.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EAOX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAA0B,iBAAiB,EAAoB,MAAM,uBAAuB,CAAC;AAqEpG,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,UAAU,EAAE,SAAS,iBAAiB,EAAE,OAAO,iBAAiB,SAwF5G,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
+ export { buildRuleGroup } from './query/query_sql.js';
2
+ export type { GenerateSqlResult } from './query/query_sql.js';
3
+ export { SqliteRepository } from './repository/SqliteRepository.js';
1
4
  export { RxDBAdapterSqlite } from './RxDBAdapterSqlite.js';
2
- export { sqliteLoad, WA_SQLITE_VFS_LIST } from './sqlite-load.utils.js';
5
+ export { WA_SQLITE_VFS_LIST, sqliteLoad } from './sqlite-load.utils.js';
3
6
  export type { SqliteOptions } from './sqlite.interface.js';
4
- export { RxdbAdapterSqliteError } from './sqlite.utils.js';
7
+ export { ROWID, RxDBAdapterSqliteError, get_table_name as sqliteGetTableName, get_table_name_by_metadata as sqliteGetTableNameByMetadata } from './sqlite.utils.js';
5
8
  export { SqliteClient } from './SqliteClient.js';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,KAAK,EACL,sBAAsB,EACtB,cAAc,IAAI,kBAAkB,EACpC,0BAA0B,IAAI,4BAA4B,EAC3D,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}