@aiao/rxdb-adapter-sqlite 0.0.5 → 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 (126) hide show
  1. package/dist/RxDBAdapterSqlite.d.ts +83 -39
  2. package/dist/RxDBAdapterSqlite.d.ts.map +1 -1
  3. package/dist/SqliteClient.d.ts +69 -15
  4. package/dist/SqliteClient.d.ts.map +1 -1
  5. package/dist/create_sqlite_client.d.ts +11 -0
  6. package/dist/create_sqlite_client.d.ts.map +1 -0
  7. package/dist/entity/delete_sql.d.ts +10 -0
  8. package/dist/entity/delete_sql.d.ts.map +1 -0
  9. package/dist/entity/deletes_sql.d.ts +7 -0
  10. package/dist/entity/deletes_sql.d.ts.map +1 -0
  11. package/dist/entity/insert_sql.d.ts +15 -0
  12. package/dist/entity/insert_sql.d.ts.map +1 -0
  13. package/dist/entity/inserts_sql.d.ts +7 -0
  14. package/dist/entity/inserts_sql.d.ts.map +1 -0
  15. package/dist/entity/mod_entities_sql.d.ts +8 -0
  16. package/dist/entity/mod_entities_sql.d.ts.map +1 -0
  17. package/dist/entity/update_sql.d.ts +14 -0
  18. package/dist/entity/update_sql.d.ts.map +1 -0
  19. package/dist/{execute_statement_helper.d.ts → execute_helper.d.ts} +1 -1
  20. package/dist/execute_helper.d.ts.map +1 -0
  21. package/dist/handle_rxdb_change.d.ts +5 -0
  22. package/dist/handle_rxdb_change.d.ts.map +1 -0
  23. package/dist/index.d.ts +4 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1498 -1440
  26. package/dist/query/count_sql.d.ts +9 -0
  27. package/dist/query/count_sql.d.ts.map +1 -0
  28. package/dist/query/find_by_row_ids_sql.d.ts +9 -0
  29. package/dist/query/find_by_row_ids_sql.d.ts.map +1 -0
  30. package/dist/query/find_sql.d.ts +9 -0
  31. package/dist/query/find_sql.d.ts.map +1 -0
  32. package/dist/query/join_sql.d.ts +41 -0
  33. package/dist/query/join_sql.d.ts.map +1 -0
  34. package/dist/query/query_sql.d.ts +51 -0
  35. package/dist/query/query_sql.d.ts.map +1 -0
  36. package/dist/query/query_sql.utils.d.ts +70 -0
  37. package/dist/query/query_sql.utils.d.ts.map +1 -0
  38. package/dist/query/query_tree_sql.d.ts +41 -0
  39. package/dist/query/query_tree_sql.d.ts.map +1 -0
  40. package/dist/repository/SqliteRepository.d.ts +15 -0
  41. package/dist/repository/SqliteRepository.d.ts.map +1 -0
  42. package/dist/repository/SqliteRepositoryBase.d.ts +19 -0
  43. package/dist/repository/SqliteRepositoryBase.d.ts.map +1 -0
  44. package/dist/repository/SqliteTreeRepository.d.ts +12 -0
  45. package/dist/repository/SqliteTreeRepository.d.ts.map +1 -0
  46. package/dist/rxdb_adapter_mutations.d.ts +8 -0
  47. package/dist/rxdb_adapter_mutations.d.ts.map +1 -0
  48. package/dist/sqlite-load.utils.d.ts.map +1 -1
  49. package/dist/sqlite.interface.d.ts +63 -3
  50. package/dist/sqlite.interface.d.ts.map +1 -1
  51. package/dist/sqlite.utils.d.ts +76 -61
  52. package/dist/sqlite.utils.d.ts.map +1 -1
  53. package/dist/{generate_table_create_sql.d.ts → table/create_table_sql.d.ts} +3 -3
  54. package/dist/table/create_table_sql.d.ts.map +1 -0
  55. package/dist/table/create_tables_sql.d.ts +11 -0
  56. package/dist/table/create_tables_sql.d.ts.map +1 -0
  57. package/dist/table/remove_trigger_sql.d.ts +4 -0
  58. package/dist/table/remove_trigger_sql.d.ts.map +1 -0
  59. package/dist/table/trigger_sql.d.ts +21 -0
  60. package/dist/table/trigger_sql.d.ts.map +1 -0
  61. package/dist/transaction_sqlite_result.d.ts +29 -0
  62. package/dist/transaction_sqlite_result.d.ts.map +1 -0
  63. package/dist/version/execute_switch_actions.d.ts +18 -0
  64. package/dist/version/execute_switch_actions.d.ts.map +1 -0
  65. package/dist/version/switch-result.utils.d.ts +24 -0
  66. package/dist/version/switch-result.utils.d.ts.map +1 -0
  67. package/dist/version/switch_branch.d.ts +16 -0
  68. package/dist/version/switch_branch.d.ts.map +1 -0
  69. package/dist/version/switch_transaction_id.d.ts +11 -0
  70. package/dist/version/switch_transaction_id.d.ts.map +1 -0
  71. package/package.json +5 -6
  72. package/README.md +0 -1
  73. package/dist/SqliteRepository.d.ts +0 -27
  74. package/dist/SqliteRepository.d.ts.map +0 -1
  75. package/dist/SqliteRepository.interface.d.ts +0 -94
  76. package/dist/SqliteRepository.interface.d.ts.map +0 -1
  77. package/dist/SqliteRepositoryBase.d.ts +0 -52
  78. package/dist/SqliteRepositoryBase.d.ts.map +0 -1
  79. package/dist/SqliteTreeRepository.d.ts +0 -21
  80. package/dist/SqliteTreeRepository.d.ts.map +0 -1
  81. package/dist/SqliteTreeRepository.interface.d.ts +0 -36
  82. package/dist/SqliteTreeRepository.interface.d.ts.map +0 -1
  83. package/dist/execute_statement_helper.d.ts.map +0 -1
  84. package/dist/generate_entity_delete_sql.d.ts +0 -10
  85. package/dist/generate_entity_delete_sql.d.ts.map +0 -1
  86. package/dist/generate_entity_deletes_sql.d.ts +0 -7
  87. package/dist/generate_entity_deletes_sql.d.ts.map +0 -1
  88. package/dist/generate_entity_find_tree_sql.d.ts +0 -58
  89. package/dist/generate_entity_find_tree_sql.d.ts.map +0 -1
  90. package/dist/generate_entity_insert_sql.d.ts +0 -10
  91. package/dist/generate_entity_insert_sql.d.ts.map +0 -1
  92. package/dist/generate_entity_inserts_sql.d.ts +0 -7
  93. package/dist/generate_entity_inserts_sql.d.ts.map +0 -1
  94. package/dist/generate_entity_update_sql.d.ts +0 -10
  95. package/dist/generate_entity_update_sql.d.ts.map +0 -1
  96. package/dist/generate_query_find_sql.d.ts +0 -32
  97. package/dist/generate_query_find_sql.d.ts.map +0 -1
  98. package/dist/generate_table_create_sql.d.ts.map +0 -1
  99. package/dist/generate_table_trigger_sql.d.ts +0 -9
  100. package/dist/generate_table_trigger_sql.d.ts.map +0 -1
  101. package/dist/merge_create_cache.d.ts +0 -6
  102. package/dist/merge_create_cache.d.ts.map +0 -1
  103. package/dist/merge_remove_cache.d.ts +0 -5
  104. package/dist/merge_remove_cache.d.ts.map +0 -1
  105. package/dist/merge_tree_create_cache.d.ts +0 -7
  106. package/dist/merge_tree_create_cache.d.ts.map +0 -1
  107. package/dist/merge_tree_remove_cache.d.ts +0 -7
  108. package/dist/merge_tree_remove_cache.d.ts.map +0 -1
  109. package/dist/merge_tree_update_cache.d.ts +0 -7
  110. package/dist/merge_tree_update_cache.d.ts.map +0 -1
  111. package/dist/merge_update_cache.d.ts +0 -5
  112. package/dist/merge_update_cache.d.ts.map +0 -1
  113. package/dist/need_refresh_helper.d.ts +0 -18
  114. package/dist/need_refresh_helper.d.ts.map +0 -1
  115. package/dist/need_tree_refresh_helper.d.ts +0 -19
  116. package/dist/need_tree_refresh_helper.d.ts.map +0 -1
  117. package/dist/rxdb_adapter_create_branch.d.ts +0 -7
  118. package/dist/rxdb_adapter_create_branch.d.ts.map +0 -1
  119. package/dist/rxdb_adapter_create_tables_sql.d.ts +0 -5
  120. package/dist/rxdb_adapter_create_tables_sql.d.ts.map +0 -1
  121. package/dist/rxdb_adapter_remove_many.d.ts +0 -8
  122. package/dist/rxdb_adapter_remove_many.d.ts.map +0 -1
  123. package/dist/rxdb_adapter_save_many.d.ts +0 -8
  124. package/dist/rxdb_adapter_save_many.d.ts.map +0 -1
  125. package/dist/rxdb_adapter_switch_branch.d.ts +0 -4
  126. package/dist/rxdb_adapter_switch_branch.d.ts.map +0 -1
@@ -0,0 +1,9 @@
1
+ import { CountOptions, EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ import { GenerateSqlResult } from './query_sql.js';
4
+ /**
5
+ * 生成 count 查询
6
+ */
7
+ declare const _default: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata, options: CountOptions) => GenerateSqlResult;
8
+ export default _default;
9
+ //# sourceMappingURL=count_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count_sql.d.ts","sourceRoot":"","sources":["../../src/query/count_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAyC,MAAM,gBAAgB,CAAC;AAG1F;;GAEG;yBACa,SAAS,iBAAiB,EAAE,UAAU,cAAc,EAAE,SAAS,YAAY,KAAG,iBAAiB;AAA/G,wBAWE"}
@@ -0,0 +1,9 @@
1
+ import { EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
+ import { RowId } from '../sqlite.interface.js';
3
+ import { GenerateSqlResult } from './query_sql.js';
4
+ /**
5
+ * 生成 findByRowIds 查询
6
+ */
7
+ declare const _default: (metadata: EntityMetadata, rowIds: RowId[]) => GenerateSqlResult;
8
+ export default _default;
9
+ //# sourceMappingURL=find_by_row_ids_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_by_row_ids_sql.d.ts","sourceRoot":"","sources":["../../src/query/find_by_row_ids_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE;;GAEG;yBACa,UAAU,cAAc,EAAE,QAAQ,KAAK,EAAE,KAAG,iBAAiB;AAA7E,wBAOE"}
@@ -0,0 +1,9 @@
1
+ import { EntityMetadata, FindOptions } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ import { GenerateSqlResult } from './query_sql.js';
4
+ /**
5
+ * 生成 find 查询
6
+ */
7
+ declare const _default: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata, options: FindOptions) => GenerateSqlResult;
8
+ export default _default;
9
+ //# sourceMappingURL=find_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_sql.d.ts","sourceRoot":"","sources":["../../src/query/find_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAuE,MAAM,gBAAgB,CAAC;AAExH;;GAEG;yBACa,SAAS,iBAAiB,EAAE,UAAU,cAAc,EAAE,SAAS,WAAW,KAAG,iBAAiB;AAA9G,wBAaE"}
@@ -0,0 +1,41 @@
1
+ import { EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ import { RelationPair } from './query_sql.utils.js';
4
+ interface JoinOptions {
5
+ joinTableName: string;
6
+ on: string;
7
+ }
8
+ export interface JoinContext {
9
+ joinMap: Map<EntityMetadata, JoinOptions[]>;
10
+ usedAliases: Set<string>;
11
+ fieldAliasMap: Map<string, string>;
12
+ relationAliasMap: Map<string, string>;
13
+ }
14
+ /**
15
+ * 获取或创建关系别名
16
+ */
17
+ export declare const get_or_create_relation_alias: (context: JoinContext, relationKey: string) => string;
18
+ /**
19
+ * 尝试解析关系路径
20
+ */
21
+ export declare const try_resolve_relation_path: (adapter: RxDBAdapterSqlite, entityMetadata: EntityMetadata, parts: string[], cut: number) => {
22
+ metaWalker?: EntityMetadata;
23
+ relPairs: RelationPair[];
24
+ };
25
+ /**
26
+ * 处理关系上的 keyValue 字段
27
+ *
28
+ * @remarks
29
+ * **已知限制**:当前实现假定点号仅用于嵌套路径分隔。
30
+ * 如果 keyValue 对象内部的键本身包含点号,此方法将无法正确工作。
31
+ * 详见 query_sql.ts 中 `_try_process_top_level_flatmap` 的文档说明。
32
+ */
33
+ export declare const try_process_relation_flatmap: (adapter: RxDBAdapterSqlite, context: JoinContext, entityMetadata: EntityMetadata, strValue: string, parts: string[]) => boolean;
34
+ /**
35
+ * 处理关系字段的 JOIN
36
+ */
37
+ export declare const process_relation_joins: (adapter: RxDBAdapterSqlite, context: JoinContext, relations: RelationPair[], joinTableName: string) => void; /**
38
+ * 处理 ONE_TO_MANY 关系的 JOIN
39
+ */
40
+ export {};
41
+ //# sourceMappingURL=join_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join_sql.d.ts","sourceRoot":"","sources":["../../src/query/join_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAMf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAA0D,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE5G,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,GAAI,SAAS,WAAW,EAAE,aAAa,MAAM,KAAG,MAQxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,iBAAiB,EAC1B,gBAAgB,cAAc,EAC9B,OAAO,MAAM,EAAE,EACf,KAAK,MAAM,KACV;IAAE,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAezD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,GACvC,SAAS,iBAAiB,EAC1B,SAAS,WAAW,EACpB,gBAAgB,cAAc,EAC9B,UAAU,MAAM,EAChB,OAAO,MAAM,EAAE,KACd,OA0BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,iBAAiB,EAC1B,SAAS,WAAW,EACpB,WAAW,YAAY,EAAE,EACzB,eAAe,MAAM,KACpB,IAiDF,CAAC,CAAC;;GAEA"}
@@ -0,0 +1,51 @@
1
+ import { EntityMetadata, OrderBy, RuleGroup } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ import { SQLiteCompatibleType } from '../wa-sqlite.interface.js';
4
+ interface GenerateSqlOptions {
5
+ tableName: string;
6
+ where?: string;
7
+ join?: string;
8
+ orderBy?: string;
9
+ limit?: number;
10
+ offset?: number;
11
+ hasJoin?: boolean;
12
+ metadata: EntityMetadata;
13
+ }
14
+ export interface GenerateSqlResult {
15
+ sql: string;
16
+ params?: SQLiteCompatibleType[];
17
+ }
18
+ /**
19
+ * 构建排序 SQL
20
+ * @param orderBy 排序条件
21
+ * @returns SQL 排序子句
22
+ */
23
+ export declare const build_order_by: (orderBy?: OrderBy[]) => string | undefined;
24
+ /**
25
+ * 生成 ruleGroup sql 查询条件
26
+ * @param ruleGroup 规则组对象
27
+ * @param fieldAliasMap 字段别名映射
28
+ * @param entityMetadata 实体元数据(可选)
29
+ * @param adapter SQLite 适配器实例(可选,用于 EXISTS 查询)
30
+ * @returns SQL 条件字符串
31
+ */
32
+ export declare const buildRuleGroup: <RG extends RuleGroup<any, any, any>>(ruleGroup: RG, fieldAliasMap?: Map<string, string>, entityMetadata?: EntityMetadata, adapter?: RxDBAdapterSqlite) => string;
33
+ /**
34
+ * 生成 SQL 查询语句
35
+ * @param options SQL 生成选项
36
+ * @returns 完整的 SQL 语句
37
+ */
38
+ export declare const generate_sql: (options: GenerateSqlOptions) => string;
39
+ /**
40
+ * 计算查询需要的 JOIN 字符串
41
+ * @param adapter 适配器
42
+ * @param entityMetadata 要查询的 Entity 的 metadata
43
+ * @param ruleGroup 查询条件
44
+ * @returns JOIN SQL 和字段别名映射
45
+ */
46
+ export declare const build_rule_group_join: (adapter: RxDBAdapterSqlite, entityMetadata: EntityMetadata, ruleGroup: RuleGroup<any>) => {
47
+ joinSQL: string;
48
+ fieldAliasMap: Map<string, string>;
49
+ };
50
+ export {};
51
+ //# sourceMappingURL=query_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query_sql.d.ts","sourceRoot":"","sources":["../../src/query/query_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,OAAO,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AASjE,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,OAAO,EAAE,KAAG,MAAM,GAAG,SAG7D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChE,WAAW,EAAE,EACb,gBAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAC9C,iBAAiB,cAAc,EAC/B,UAAU,iBAAiB,KAC1B,MAcF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,kBAAkB,KAAG,MAiB1D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,iBAAiB,EAC1B,gBAAgB,cAAc,EAC9B,WAAW,SAAS,CAAC,GAAG,CAAC;;;CA2B1B,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { EntityMetadata, EntityRelationMetadata, RuleGroup } from '../../packages/rxdb/src/index.ts';
2
+ /**
3
+ * 主表别名
4
+ */
5
+ export declare const MAIN_TABLE_ALIAS: "_";
6
+ export interface RelationPair {
7
+ metadata: EntityMetadata;
8
+ relation: EntityRelationMetadata;
9
+ }
10
+ /**
11
+ * 获取字段的 SQL 表示
12
+ */
13
+ export declare const get_field_sql: (originalField: string, aliasField?: string) => string;
14
+ /**
15
+ * 获取规则值的 SQL 表示
16
+ * @param rule 规则对象
17
+ * @returns SQL 值字符串
18
+ */
19
+ export declare const get_rule_value: (rule: any) => string;
20
+ /**
21
+ * 获取SQL操作符
22
+ * @param operator
23
+ * @returns
24
+ */
25
+ export declare const get_sql_operator: (operator: string) => string;
26
+ /**
27
+ * 获取关系键
28
+ */
29
+ export declare const get_relation_key: (relations: RelationPair[], joinTableName: string, relation: EntityRelationMetadata) => string;
30
+ /**
31
+ * 处理 keyValue 字段的 contains/notContains 查询
32
+ *
33
+ * @remarks
34
+ * **已知限制**:当前实现假定点号仅用于嵌套路径分隔。
35
+ * 如果 keyValue 对象内部的键本身包含点号,此方法将无法正确工作。
36
+ * 详见 query_sql.ts 中 `_try_process_top_level_flatmap` 的文档说明。
37
+ */
38
+ export declare const handle_flatmap_contains: (entityMetadata: EntityMetadata, originalField: string, rule: any) => string | null;
39
+ /**
40
+ * 处理数组字段的 in/notIn 查询
41
+ */
42
+ export declare const handle_array_in: (entityMetadata: EntityMetadata, originalField: string, rule: any) => string | null;
43
+ /**
44
+ * 生成 rule sql 查询条件
45
+ * @param rule 规则对象
46
+ * @param fieldAliasMap 字段别名映射
47
+ * @param entityMetadata 实体元数据
48
+ * @param adapter SQLite 适配器实例(可选,用于 EXISTS 查询)
49
+ * @param buildRuleGroupFn buildRuleGroup 函数引用(可选,用于 EXISTS 子查询)
50
+ * @returns SQL 条件字符串
51
+ */
52
+ export declare const build_rule: (rule: any, fieldAliasMap: Map<string, string>, entityMetadata?: EntityMetadata, adapter?: any, buildRuleGroupFn?: (rg: RuleGroup, fam: Map<string, string>, em?: EntityMetadata, ad?: any) => string) => string;
53
+ /**
54
+ * 格式化表别名
55
+ */
56
+ export declare const format_table_alias: (alias: string) => string;
57
+ /**
58
+ * 处理 EXISTS/NOT EXISTS 操作符
59
+ * 根据关系类型生成对应的 EXISTS 子查询 SQL
60
+ *
61
+ * 注意:此版本不支持复杂的 where 子句,需要从 query_sql.ts 调用并传入 buildWhere 函数
62
+ *
63
+ * @param rule EXISTS 规则
64
+ * @param entityMetadata 当前实体元数据
65
+ * @param adapter SQLite 适配器实例(需要 rxdb.schemaManager)
66
+ * @param buildWhere 可选的 where 子句构建函数
67
+ * @returns EXISTS 子查询 SQL 字符串,如果不是关系字段则返回 null
68
+ */
69
+ export declare const handle_exists: (rule: any, entityMetadata: EntityMetadata, adapter: any, buildWhere?: (ruleGroup: RuleGroup, relationMetadata: EntityMetadata) => string) => string | null;
70
+ //# sourceMappingURL=query_sql.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query_sql.utils.d.ts","sourceRoot":"","sources":["../../src/query/query_sql.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,sBAAsB,EAItB,SAAS,EACV,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAG,GAAY,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAwBD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,eAAe,MAAM,EAAE,aAAa,MAAM,KAAG,MAQ1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,GAAG,KAAG,MA2B1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,MAA4C,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,WAAW,YAAY,EAAE,EACzB,eAAe,MAAM,EACrB,UAAU,sBAAsB,KAC/B,MAAwF,CAAC;AAkC5F;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAClC,gBAAgB,cAAc,EAC9B,eAAe,MAAM,EACrB,MAAM,GAAG,KACR,MAAM,GAAG,IAoBX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,gBAAgB,cAAc,EAAE,eAAe,MAAM,EAAE,MAAM,GAAG,KAAG,MAAM,GAAG,IAQ3G,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,GAAG,EACT,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,iBAAiB,cAAc,EAC/B,UAAU,GAAG,EACb,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,KACpG,MAiDF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAA6D,CAAC;AA2PjH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,GAAG,EACT,gBAAgB,cAAc,EAC9B,SAAS,GAAG,EACZ,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,KAAK,MAAM,KAC9E,MAAM,GAAG,IAiDX,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { EntityMetadata, FindTreeOptions } from '../../packages/rxdb/src/index.ts';
2
+ import { SetOptional } from 'type-fest';
3
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
4
+ import { GenerateSqlResult } from './query_sql.js';
5
+ interface TreeOptions extends SetOptional<FindTreeOptions, 'entityId'> {
6
+ /**
7
+ * 是否是查询数量
8
+ */
9
+ isCount?: boolean;
10
+ /**
11
+ * 查询子孙节点
12
+ */
13
+ isFindDescendants?: boolean;
14
+ /**
15
+ * 是否查询子节点
16
+ * 计算属性
17
+ */
18
+ hasChildren?: boolean;
19
+ }
20
+ /**
21
+ * 生成树查询
22
+ */
23
+ export declare const generate_tree_sql: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata, options: TreeOptions) => GenerateSqlResult;
24
+ /**
25
+ * 查询子孙节点
26
+ */
27
+ export declare const generate_entity_find_descendants_sql: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata, options: FindTreeOptions) => GenerateSqlResult;
28
+ /**
29
+ * 查询子孙节点数量
30
+ */
31
+ export declare const generate_entity_count_descendants_sql: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata, options: FindTreeOptions) => GenerateSqlResult;
32
+ /**
33
+ * 查询祖先节点
34
+ */
35
+ export declare const generate_entity_find_ancestors_sql: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata, options: FindTreeOptions) => GenerateSqlResult;
36
+ /**
37
+ * 查询祖先节点数量
38
+ */
39
+ export declare const generate_entity_count_ancestors_sql: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata, options: FindTreeOptions) => GenerateSqlResult;
40
+ export {};
41
+ //# sourceMappingURL=query_tree_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query_tree_sql.d.ts","sourceRoot":"","sources":["../../src/query/query_tree_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAkB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,UAAU,WAAY,SAAQ,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC;IACpE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,WAAW,KACnB,iBAyCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAC/C,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,eAAe,sBAMtB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,qCAAqC,GAChD,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,eAAe,sBACuE,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,kCAAkC,GAC7C,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,eAAe,sBAMtB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mCAAmC,GAC9C,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,eAAe,sBACwE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { EntityStaticType, EntityType, IRepository } from '../../packages/rxdb/src/index.ts';
2
+ import { SqliteRepositoryBase } from './SqliteRepositoryBase.js';
3
+ /**
4
+ * 操作 entity 仓库
5
+ */
6
+ export declare class SqliteRepository<T extends EntityType> extends SqliteRepositoryBase<T> implements IRepository<T> {
7
+ get(id: EntityStaticType<T, 'idType'>): Promise<InstanceType<T>>;
8
+ findOne(options: EntityStaticType<T, 'findOneOptions'>): Promise<InstanceType<T> | undefined>;
9
+ find(options: EntityStaticType<T, 'findOptions'>): Promise<InstanceType<T>[]>;
10
+ count(options: EntityStaticType<T, 'countOptions'>): Promise<number>;
11
+ create(entity: InstanceType<T>): Promise<InstanceType<T>>;
12
+ update(entity: InstanceType<T>, patch: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
13
+ remove(entity: InstanceType<T>): Promise<InstanceType<T>>;
14
+ }
15
+ //# sourceMappingURL=SqliteRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteRepository.d.ts","sourceRoot":"","sources":["../../src/repository/SqliteRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAe,WAAW,EAAsC,MAAM,YAAY,CAAC;AAOxH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACrG,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAYhE,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAK7F,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAO7E,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMpE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAOzD,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAO1F,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAkBhE"}
@@ -0,0 +1,19 @@
1
+ import { EntityMetadata, EntityType, RepositoryBase } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ import { RowId, SqliteSuccessResult } from '../sqlite.interface.js';
4
+ /**
5
+ * 操作 entity 仓库
6
+ */
7
+ export declare class SqliteRepositoryBase<T extends EntityType> extends RepositoryBase<T> {
8
+ protected adapter: RxDBAdapterSqlite;
9
+ readonly metadata: EntityMetadata;
10
+ constructor(adapter: RxDBAdapterSqlite, EntityType: T);
11
+ findByRowIds(rowIds: RowId[]): Promise<InstanceType<T>[]>;
12
+ /**
13
+ * 添加缓存
14
+ * @param sqliteSuccessResult
15
+ * @param forcedUpdate 强制刷新,在数据有的情况下也会更新数据,在修改数据的情况下需要
16
+ */
17
+ addQueryCache(sqliteSuccessResult: SqliteSuccessResult, forcedUpdate?: boolean): InstanceType<T>[];
18
+ }
19
+ //# sourceMappingURL=SqliteRepositoryBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteRepositoryBase.d.ts","sourceRoot":"","sources":["../../src/repository/SqliteRepositoryBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGpE;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAI7E,SAAS,CAAC,OAAO,EAAE,iBAAiB;IAHtC,SAAgB,QAAQ,EAAG,cAAc,CAAC;gBAG9B,OAAO,EAAE,iBAAiB,EACpC,UAAU,EAAE,CAAC;IAMT,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAM/D;;;;OAIG;IACH,aAAa,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,UAAQ;CAG7E"}
@@ -0,0 +1,12 @@
1
+ import { EntityType, FindTreeOptions, ITreeRepository } from '../../packages/rxdb/src/index.ts';
2
+ import { SqliteRepository } from './SqliteRepository.js';
3
+ /**
4
+ * 树形实体仓库
5
+ */
6
+ export declare class SqliteTreeRepository<T extends EntityType> extends SqliteRepository<T> implements ITreeRepository<T> {
7
+ findDescendants(options: FindTreeOptions<T>): Promise<InstanceType<T>[]>;
8
+ countDescendants(options: FindTreeOptions<T>): Promise<number>;
9
+ findAncestors(options: FindTreeOptions<T>): Promise<InstanceType<T>[]>;
10
+ countAncestors(options: FindTreeOptions<T>): Promise<number>;
11
+ }
12
+ //# sourceMappingURL=SqliteTreeRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteTreeRepository.d.ts","sourceRoot":"","sources":["../../src/repository/SqliteTreeRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAO1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IACzG,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAQxE,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9D,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAOtE,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAKnE"}
@@ -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=rxdb_adapter_mutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rxdb_adapter_mutations.d.ts","sourceRoot":"","sources":["../src/rxdb_adapter_mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsC,gBAAgB,EAAE,gBAAgB,EAAQ,MAAM,YAAY,CAAC;AAOtH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;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,wBAqHE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-load.utils.d.ts","sourceRoot":"","sources":["../src/sqlite-load.utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKrD,UAAU,SAAS;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAoFzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,iBAAiB,cAQxD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,SAAS,iBAAiB,uBA2B1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,WAA6C,CAAC"}
1
+ {"version":3,"file":"sqlite-load.utils.d.ts","sourceRoot":"","sources":["../src/sqlite-load.utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKrD,UAAU,SAAS;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAoFzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,iBAAiB,cAkBxD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,SAAS,iBAAiB,uBA2B1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,WAA6C,CAAC"}
@@ -1,6 +1,13 @@
1
- import { IRxDBAdapterOptions } from '@aiao/rxdb';
1
+ import { IRxDBAdapterOptions, EntityType, RepositoryBase } from '../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from './RxDBAdapterSqlite.js';
2
3
  import { SQLiteCompatibleType } from './wa-sqlite.interface.js';
4
+ /**
5
+ * 支持的虚拟文件系统类型
6
+ */
3
7
  export type SupportVFS = 'MemoryVFS' | 'MemoryAsyncVFS' | 'IDBBatchAtomicVFS' | 'OPFSAdaptiveVFS' | 'AccessHandlePoolVFS' | 'OPFSAnyContextVFS' | 'OPFSCoopSyncVFS' | 'OPFSPermutedVFS';
8
+ /**
9
+ * SQLite 查询结果数据接口
10
+ */
4
11
  export interface SqliteData {
5
12
  columns: string[];
6
13
  rows: SQLiteCompatibleType[][];
@@ -24,6 +31,9 @@ export interface SqliteSuccessResult {
24
31
  results: SqliteData[];
25
32
  }
26
33
  export type SqliteResult = SqliteSuccessResult;
34
+ /**
35
+ * SQLite 适配器基础配置接口
36
+ */
27
37
  interface SqliteOptionsBase extends IRxDBAdapterOptions {
28
38
  /**
29
39
  * vfs
@@ -62,14 +72,44 @@ interface SqliteOptionsBase extends IRxDBAdapterOptions {
62
72
  * @default 51200
63
73
  */
64
74
  cacheSizeKb?: number;
75
+ /**
76
+ * 批量事件发送间隔(毫秒)
77
+ * @default 16 (BALANCED)
78
+ * @see BATCH_TIMEOUT 预设值
79
+ */
80
+ batchTimeout?: number;
81
+ }
82
+ /**
83
+ * SQLite 仓库构造函数类型
84
+ */
85
+ export type SqliteRepositoryConstructor<T extends RepositoryBase<any>> = new (adapter: RxDBAdapterSqlite, EntityType: EntityType) => T;
86
+ /**
87
+ * SQLite 适配器配置接口
88
+ */
89
+ export interface SqliteOptions extends SqliteOptionsBase {
90
+ repositories?: Record<string, SqliteRepositoryConstructor<any>>;
65
91
  }
66
- export type SqliteOptions = SqliteOptionsBase;
67
- export type LoadModuleOptions = Pick<SqliteOptionsBase, 'vfs' | 'async' | 'worker' | 'sharedWorker' | 'wasmPath' | 'locateFile' | 'cacheSizeKb'>;
92
+ /**
93
+ * 加载模块选项类型
94
+ */
95
+ export type LoadModuleOptions = Pick<SqliteOptionsBase, 'vfs' | 'async' | 'worker' | 'sharedWorker' | 'wasmPath' | 'locateFile' | 'cacheSizeKb' | 'batchTimeout'>;
96
+ /**
97
+ * SQLite 变更类型枚举
98
+ */
68
99
  export declare enum SQliteChangeType {
69
100
  SQLITE_DELETE = 9,
70
101
  SQLITE_INSERT = 18,
71
102
  SQLITE_UPDATE = 23
72
103
  }
104
+ /**
105
+ * 获取 RxDB 变更事件类型
106
+ * @param eventType SQLite 变更类型
107
+ * @returns 变更事件字符串
108
+ */
109
+ export declare const getRxDBChangeEventType: (eventType: SQliteChangeType) => "INSERT" | "DELETE" | "UPDATE";
110
+ /**
111
+ * SQLite 变更事件接口
112
+ */
73
113
  export interface SqliteChangeEvent {
74
114
  type: SQliteChangeType;
75
115
  dbName: string;
@@ -77,6 +117,26 @@ export interface SqliteChangeEvent {
77
117
  rowIds: bigint[];
78
118
  recordAt: Date;
79
119
  }
120
+ /**
121
+ * 适配器名称常量
122
+ */
80
123
  export declare const ADAPTER_NAME: "sqlite";
124
+ /**
125
+ * SQLite 数据类型
126
+ * @see https://www.sqlite.org/datatype3.html
127
+ */
128
+ export type SqliteDataType = 'NULL' | 'INTEGER' | 'REAL' | 'TEXT' | 'BLOB';
129
+ /**
130
+ * RxDB 适配器数据变更接口
131
+ */
132
+ export interface IRxDBAdapterDataChange {
133
+ rowIds: RowId[];
134
+ recordAt: Date;
135
+ }
136
+ /**
137
+ * SQLite 行 ID 类型
138
+ * 表示 SQLite 数据库中的 rowid
139
+ */
140
+ export type RowId = bigint;
81
141
  export {};
82
142
  //# sourceMappingURL=sqlite.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.interface.d.ts","sourceRoot":"","sources":["../src/sqlite.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,oBAAoB,EAAE,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAG/C,UAAU,iBAAkB,SAAQ,mBAAmB;IACrD;;OAEG;IACH,GAAG,EAAE,UAAU,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,oBAAoB,CAAC,EAAE,YAAY,CAAC;IAEpC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAEtC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,iBAAiB,EACjB,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CACxF,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,aAAa,IAAI;IACjB,aAAa,KAAK;IAClB,aAAa,KAAK;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,eAAO,MAAM,YAAY,EAAG,QAAiB,CAAC"}
1
+ {"version":3,"file":"sqlite.interface.d.ts","sourceRoot":"","sources":["../src/sqlite.interface.ts"],"names":[],"mappings":"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"}