@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
@@ -1,110 +1,125 @@
1
- import { EntityMetadata, EntityPropertyMetadata, EntityRelationMetadata, RuleGroup, RxDBScalar } from '@aiao/rxdb';
2
- import { SqliteResult } from './sqlite.interface.js';
1
+ import { EntityMetadata, EntityPropertyMetadata, EntityRelationMetadata, EntityType, RxDBScalar } from '../packages/rxdb/src/index.ts';
2
+ import { SqliteDataType, SqliteResult } from './sqlite.interface.js';
3
3
  import { SQLiteCompatibleType } from './wa-sqlite.interface.js';
4
4
  /**
5
5
  * 检查 sqlite 表是否存在
6
- * @param tableName
7
- * @returns
6
+ * @param tableName 表名
7
+ * @returns SQL 查询语句
8
8
  */
9
9
  export declare const isTableExistedSql: (tableName: string) => string;
10
10
  /**
11
11
  * 检查 sqlite 结果是否为空
12
- * @param result
13
- * @returns
12
+ * @param result SQLite 查询结果
13
+ * @returns 是否为空结果
14
14
  */
15
15
  export declare const isSqlResultEmpty: (result: SqliteResult) => boolean;
16
16
  /**
17
17
  * sqlite 行 id 列名
18
18
  */
19
- export declare const ROWID: "_rowid";
19
+ export declare const ROWID: "__rowid";
20
20
  /**
21
- * 类型
22
- * https://www.sqlite.org/datatype3.html
23
- */
24
- type SqliteDataType = 'NULL' | 'INTEGER' | 'REAL' | 'TEXT' | 'BLOB';
25
- /**
26
- * rxdb 的类型 转 sqlite 类型
21
+ * 将 RxDB 属性类型转换为 SQLite 数据类型
27
22
  */
28
23
  export declare const rxDBColumnTypeToSqliteType: (property: EntityPropertyMetadata) => SqliteDataType;
29
24
  /**
30
- * 转换 js 类型为 sqlite 类型
31
- * @param value
32
- * @param property
33
- * @returns
25
+ * JS 类型值转换为 SQLite 兼容类型
26
+ * @param value JS 值
27
+ * @param property 属性元数据
28
+ * @returns SQLite 兼容的值
34
29
  */
35
30
  export declare const transformValueJsToSqlite: (value: RxDBScalar, property: EntityPropertyMetadata) => RxDBScalar | null | undefined;
36
31
  /**
37
- * 转换 sqlite 类型为 js 类型
38
- * @param value sqlite 类型的值
39
- * @param property 实体属性
40
- * @returns js 类型的值
32
+ * SQLite 类型值转换为 JS 类型
33
+ * @param value SQLite 类型的值
34
+ * @param property 实体属性元数据
35
+ * @returns JS 类型的值
41
36
  */
42
37
  export declare const transformValueSqliteToJs: (value: RxDBScalar | any, property: EntityPropertyMetadata) => any;
43
38
  /**
44
39
  * 获取表名
45
40
  * @param name 表名
46
41
  * @param namespace 命名空间
47
- * @returns
42
+ * @returns 完整的表名
43
+ */
44
+ export declare const get_table_name: (name: string, namespace: string) => string;
45
+ /**
46
+ * 解析表名信息
47
+ * @param tableName 完整表名
48
+ * @returns [命名空间, 表名] 元组
49
+ */
50
+ export declare const get_table_name_info: (tableName: string) => [string, string];
51
+ /**
52
+ * 通过元数据获取表名
53
+ * @param metadata 实体元数据
54
+ * @returns 完整的表名
48
55
  */
49
- export declare const getTableName: (name: string, namespace: string) => string;
56
+ export declare const get_table_name_by_metadata: (metadata: EntityMetadata) => string;
50
57
  /**
51
- * 通过 metadata 获取表名
52
- * @param metadata
53
- * @returns
58
+ * 通过实体类型获取表名
59
+ * @param EntityType 实体类型
60
+ * @returns 完整的表名
54
61
  */
55
- export declare const getTableNameByMetadata: (metadata: EntityMetadata) => string;
62
+ export declare const get_table_name_by_entity_type: (EntityType: EntityType) => string;
56
63
  /**
57
64
  * 获取表列索引名称
58
- * @param metadata
59
- * @param property
60
- * @returns
65
+ * @param metadata 实体元数据
66
+ * @param property 属性或关系元数据
67
+ * @returns 索引名称
61
68
  */
62
69
  export declare const getTableColumnIndexName: (metadata: EntityMetadata, property: EntityPropertyMetadata | EntityRelationMetadata) => string;
63
- export declare class RxdbAdapterSqliteError extends Error {
70
+ /**
71
+ * RxDB SQLite 适配器错误类
72
+ */
73
+ export declare class RxDBAdapterSqliteError extends Error {
64
74
  constructor(message: string);
65
75
  }
66
76
  /**
67
- * 格式化实体数据,转换为 sqlite 类型
68
- * @param metadata
69
- * @param entity
70
- * @returns
77
+ * 将实体值转换为 SQLite 格式
78
+ * @param metadata 实体元数据
79
+ * @param entity 实体对象
80
+ * @returns 转换后的实体对象
71
81
  */
72
- export declare const transformEntityValueToSql: (metadata: EntityMetadata, entity: any) => any;
82
+ export declare const transformEntityValueToSql: (metadata: EntityMetadata, entity: Record<string, any>) => any;
73
83
  /**
74
- * 格式化创建时的实体数据
75
- * @param metadata
76
- * @param entity
77
- * @returns
84
+ * 规范化创建时的实体数据
85
+ * @param metadata 实体元数据
86
+ * @param entity 实体对象
87
+ * @returns 过滤后的实体对象
78
88
  */
79
- export declare const normalizeCreateEntity: (metadata: EntityMetadata, entity: any) => any;
89
+ export declare const normalizeCreateEntity: (metadata: EntityMetadata, entity: Record<string, any>) => Record<string, any>;
80
90
  /**
81
- * 格式化实体数据,过滤掉 readonly 字段
82
- * @param metadata
83
- * @param entity
84
- * @returns
91
+ * 规范化更新时的实体数据,过滤掉只读字段
92
+ * @param metadata 实体元数据
93
+ * @param entity 实体对象
94
+ * @returns 过滤后的实体对象
85
95
  */
86
- export declare const normalizeEntity: (metadata: EntityMetadata, entity: any) => any;
96
+ export declare const normalizeUpdateEntity: (metadata: EntityMetadata, entity: Record<string, any>) => Record<string, any>;
87
97
  /**
88
- * 查询去除软删除数据
89
- * @param where
90
- * @returns
98
+ * 获取 SQL 值表示
99
+ * @param value 要转换的值
100
+ * @returns SQL 字面量字符串
91
101
  */
92
- export declare const withoutSoftDelete: <RG extends RuleGroup<any, any, any>>(where: RG) => RG;
93
102
  export declare const get_sql_value: (value: any) => any;
94
103
  /**
95
- * 展示 sql 合并后的结果
96
- * @param sql
97
- * @param params
98
- * @returns
104
+ * SQL 模板和参数合并为完整 SQL
105
+ * @param sql SQL 模板字符串
106
+ * @param params 参数数组
107
+ * @returns 完整的 SQL 字符串
99
108
  */
100
109
  export declare const get_sql_with_params: (sql: string, params?: any[]) => string;
101
110
  /**
102
- * 获取实体对象数据
103
- * @param metadata
104
- * @param columns
105
- * @param row
106
- * @returns
111
+ * 从查询结果行创建实体对象
112
+ * @param metadata 实体元数据
113
+ * @param columns 列名数组
114
+ * @param rows 行数据数组
115
+ * @returns 实体对象
116
+ */
117
+ export declare const getEntityObjectFromResult: (metadata: EntityMetadata, columns: string[], rows: SQLiteCompatibleType[]) => any;
118
+ /**
119
+ * 将 SQLite 实体值转换为 JS 对象值
120
+ * @param metadata 实体元数据
121
+ * @param entity 实体对象
122
+ * @returns 转换后的实体对象
107
123
  */
108
- export declare const getEntityObjectFromResult: (metadata: EntityMetadata, columns: string[], row: SQLiteCompatibleType[]) => any;
109
- export {};
124
+ export declare const transformEntityValueSqliteToJs: (metadata: EntityMetadata, entity: Record<string, any>) => Record<string, any>;
110
125
  //# sourceMappingURL=sqlite.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.utils.d.ts","sourceRoot":"","sources":["../src/sqlite.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EAEtB,SAAS,EAET,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,WACgC,CAAC;AAEpF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,YAAY,YACiC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAG,QAAiB,CAAC;AAEvC;;;GAGG;AACH,KAAK,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,sBAAsB,KAAG,cAc7E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,UAAU,EAAE,UAAU,sBAAsB,kCAW3F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,UAAU,GAAG,GAAG,EAAE,UAAU,sBAAsB,QAcjG,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,WAA2B,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,cAAc,WAAoD,CAAC;AAEpH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,cAAc,EACxB,UAAU,sBAAsB,GAAG,sBAAsB,WACf,CAAC;AAE7C,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAK5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QAY9E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QAC0B,CAAC;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QACS,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAkB,EAAE,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAG,EAYhG,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,GAAG,QAQvC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAkB,KAAK,MAAM,EAAE,SAAQ,GAAG,EAAO,WAMhF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,cAAc,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,oBAAoB,EAAE,QAcjH,CAAC"}
1
+ {"version":3,"file":"sqlite.utils.d.ts","sourceRoot":"","sources":["../src/sqlite.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EAEtB,UAAU,EAGV,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,WACgC,CAAC;AAEpF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,YAAY,YACiC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAG,SAAkB,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,sBAAsB,KAAG,cAiB7E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,UAAU,EAAE,UAAU,sBAAsB,kCA8B3F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,UAAU,GAAG,GAAG,EAAE,UAAU,sBAAsB,QA+BjG,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,WAA2B,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAMtE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,cAAc,WAChB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,GAAI,YAAY,UAAU,WACT,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,cAAc,EACxB,UAAU,sBAAsB,GAAG,sBAAsB,WACf,CAAC;AAE7C;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAK5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,cAAc,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAkB9F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,cAAc,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,wBACU,CAAC;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,cAAc,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,wBAWvF,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,GAAG,QAOvC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAkB,KAAK,MAAM,EAAE,SAAQ,GAAG,EAAO,WACxB,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,UAAU,cAAc,EACxB,SAAS,MAAM,EAAE,EACjB,MAAM,oBAAoB,EAAE,QAmB7B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,GAAI,UAAU,cAAc,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,wBASnG,CAAC"}
@@ -1,9 +1,9 @@
1
- import { EntityMetadata } from '@aiao/rxdb';
2
- import { RxDBAdapterSqlite } from './RxDBAdapterSqlite.js';
1
+ import { EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
3
  /**
4
4
  * 计算创建表的 sql
5
5
  * @param metadata 实体元数据
6
6
  */
7
7
  declare const _default: (adapter: RxDBAdapterSqlite, metadata: EntityMetadata) => string;
8
8
  export default _default;
9
- //# sourceMappingURL=generate_table_create_sql.d.ts.map
9
+ //# sourceMappingURL=create_table_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_table_sql.d.ts","sourceRoot":"","sources":["../../src/table/create_table_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA8B,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA0K5D;;;GAGG;yBACa,SAAS,iBAAiB,EAAE,UAAU,cAAc;AAApE,wBAEE"}
@@ -0,0 +1,11 @@
1
+ import { EntityType } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ /**
4
+ * 生成多张创建表的 SQL
5
+ * @param adapter 适配器实例
6
+ * @param EntityTypes 实体类型数组
7
+ * @param entities 可选,初始数据实体数组
8
+ */
9
+ declare const _default: <T extends EntityType>(adapter: RxDBAdapterSqlite, EntityTypes: T[], entities?: InstanceType<T>[]) => string;
10
+ export default _default;
11
+ //# sourceMappingURL=create_tables_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_tables_sql.d.ts","sourceRoot":"","sources":["../../src/table/create_tables_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAqB,MAAM,YAAY,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIjE;;;;;GAKG;yBACa,CAAC,SAAS,UAAU,EAAE,SAAS,iBAAiB,EAAE,aAAa,CAAC,EAAE,EAAE,WAAW,YAAY,CAAC,CAAC,CAAC,EAAE;AAAhH,wBAwBE"}
@@ -0,0 +1,4 @@
1
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
2
+ declare const remove_all_triggers_sql: (adapter: RxDBAdapterSqlite) => string;
3
+ export default remove_all_triggers_sql;
4
+ //# sourceMappingURL=remove_trigger_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove_trigger_sql.d.ts","sourceRoot":"","sources":["../../src/table/remove_trigger_sql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAU5D,QAAA,MAAM,uBAAuB,GAAI,SAAS,iBAAiB,KAAG,MAS7D,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
+ /**
3
+ * 触发器选项
4
+ */
5
+ interface TriggerOptions {
6
+ /**
7
+ * 分支 ID
8
+ */
9
+ branchId?: string;
10
+ /**
11
+ * 事务 ID
12
+ */
13
+ transactionId?: string;
14
+ }
15
+ /**
16
+ * 生成表的触发器
17
+ * @param metadata 实体元数据
18
+ */
19
+ declare const _default: (entityMetadata: EntityMetadata, options?: TriggerOptions) => string;
20
+ export default _default;
21
+ //# sourceMappingURL=trigger_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger_sql.d.ts","sourceRoot":"","sources":["../../src/table/trigger_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA+C,MAAM,YAAY,CAAC;AAGzF;;GAEG;AACH,UAAU,cAAc;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;yBACa,gBAAgB,cAAc,EAAE,UAAS,cAAmB;AAA5E,wBA6EE"}
@@ -0,0 +1,29 @@
1
+ import { EntityStaticType, EntityType } from '../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from './RxDBAdapterSqlite.js';
3
+ import { SqliteSuccessResult } from './sqlite.interface.js';
4
+ /**
5
+ * 处理 SQLite 事务结果,返回实体数组
6
+ * @param adapter
7
+ * @param EntityType
8
+ * @param sqliteSuccessResult
9
+ * @param forcedUpdate
10
+ * @returns
11
+ */
12
+ export declare const transaction_sqlite_result: <T extends EntityType>(adapter: RxDBAdapterSqlite, EntityType: T, sqliteSuccessResult: SqliteSuccessResult, forcedUpdate?: boolean) => InstanceType<T>[];
13
+ /**
14
+ * 更新实体缓存
15
+ * 只更新已有的实体
16
+ * @param adapter
17
+ * @param EntityType
18
+ * @param sqliteSuccessResult
19
+ */
20
+ export declare const update_entity_from_sqlite_result: <T extends EntityType>(adapter: RxDBAdapterSqlite, EntityType: T, sqliteSuccessResult: SqliteSuccessResult) => void;
21
+ /**
22
+ * 更新实体缓存
23
+ * 只更新已有的实体
24
+ * @param adapter
25
+ * @param EntityType
26
+ * @param sqliteSuccessResult
27
+ */
28
+ export declare const remove_entity_ids_from_cache: <T extends EntityType>(adapter: RxDBAdapterSqlite, EntityType: T, ids: EntityStaticType<T, "idType">[]) => void;
29
+ //# sourceMappingURL=transaction_sqlite_result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction_sqlite_result.d.ts","sourceRoot":"","sources":["../src/transaction_sqlite_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAA4C,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,UAAU,EAC5D,SAAS,iBAAiB,EAC1B,YAAY,CAAC,EACb,qBAAqB,mBAAmB,EACxC,sBAAoB,sBA4CrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,GAAI,CAAC,SAAS,UAAU,EACnE,SAAS,iBAAiB,EAC1B,YAAY,CAAC,EACb,qBAAqB,mBAAmB,SAsBzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,UAAU,EAC/D,SAAS,iBAAiB,EAC1B,YAAY,CAAC,EACb,KAAK,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,SAYrC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { RxDBChange } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ import { SwitchVersionSqlResult } from './switch-result.utils.js';
4
+ /**
5
+ * 执行 SwitchVersionSqlResult 中的 SQL 操作并发送事件
6
+ *
7
+ * @param adapter - SQLite adapter 实例
8
+ * @param switchAction - 已转换的 SQL 操作集合
9
+ * @param localChanges - (已废弃)不再使用
10
+ * @param disableTriggers - 是否禁用触发器(用于 pull 等操作,避免创建 RxDBChange)
11
+ * @deprecated localChanges 参数已废弃,将在未来版本中移除
12
+ */
13
+ export declare function execute_switch_actions(adapter: RxDBAdapterSqlite, switchAction: SwitchVersionSqlResult, localChanges?: Omit<RxDBChange, 'id'>[], disableTriggers?: boolean): Promise<void>;
14
+ /**
15
+ * 发送 switch 操作对应的本地事件
16
+ */
17
+ export declare function dispatch_switch_events(adapter: RxDBAdapterSqlite, switchAction: SwitchVersionSqlResult): void;
18
+ //# sourceMappingURL=execute_switch_actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute_switch_actions.d.ts","sourceRoot":"","sources":["../../src/version/execute_switch_actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,UAAU,EAIX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EAAE,sBAAsB,EACpC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EACvC,eAAe,UAAQ,GACtB,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,sBAAsB,GAAG,IAAI,CA+D7G"}
@@ -0,0 +1,24 @@
1
+ import { EntityMetadata, SwitchVersionActions, UUID } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ import { SqliteSuccessResult } from '../sqlite.interface.js';
4
+ export interface SwitchVersionSqlItem {
5
+ metadata: EntityMetadata;
6
+ ids: Set<string | UUID | number>;
7
+ sql: string;
8
+ successResults?: SqliteSuccessResult;
9
+ /**
10
+ * 实体变更映射:key 为 entityId,value 为对应的 SwitchVersionChange
11
+ * 用于事件发送时获取精准的 patch/inversePatch
12
+ */
13
+ changes: Map<string | UUID | number, {
14
+ patch: any;
15
+ inversePatch: any;
16
+ }>;
17
+ }
18
+ export interface SwitchVersionSqlResult {
19
+ deletes: SwitchVersionSqlItem[];
20
+ inserts: SwitchVersionSqlItem[];
21
+ updates: SwitchVersionSqlItem[];
22
+ }
23
+ export declare const convertSwitchResultToSql: (adapter: RxDBAdapterSqlite, actions: SwitchVersionActions) => SwitchVersionSqlResult;
24
+ //# sourceMappingURL=switch-result.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-result.utils.d.ts","sourceRoot":"","sources":["../../src/version/switch-result.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAsB,oBAAoB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,YAAY,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAS,iBAAiB,EAC1B,SAAS,oBAAoB,KAC5B,sBA+LF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { SwitchBranchOptions } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ /**
4
+ * 生成切换分支的 SQL 语句
5
+ *
6
+ * 此函数负责生成切换数据库分支时所需的所有 SQL 语句,包括:
7
+ * 1. 为所有启用了日志功能的实体重新生成触发器(使用新的分支 ID)
8
+ * 2. 更新分支表,激活目标分支并停用其他所有分支
9
+ *
10
+ * @param adapter - RxDB SQLite 适配器实例
11
+ * @param branchId - 要切换到的目标分支 ID
12
+ * @returns 完整的 SQL 语句字符串,用于执行分支切换操作
13
+ */
14
+ export declare const generateSwitchBranchSql: (adapter: RxDBAdapterSqlite, branchId: string) => string;
15
+ export declare const switch_branch: (adapter: RxDBAdapterSqlite, options: SwitchBranchOptions) => Promise<void>;
16
+ //# sourceMappingURL=switch_branch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch_branch.d.ts","sourceRoot":"","sources":["../../src/version/switch_branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAS5D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,iBAAiB,EAAE,UAAU,MAAM,KAAG,MAkDtF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,SAAS,iBAAiB,EAAE,SAAS,mBAAmB,kBA2E3F,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { UUID } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterSqlite } from '../RxDBAdapterSqlite.js';
3
+ /**
4
+ * 切换分支版本
5
+ * @param adapter SQLite 适配器
6
+ * @param branchId 分支 ID
7
+ * @param transactionId 事务 ID
8
+ */
9
+ declare const _default: (adapter: RxDBAdapterSqlite, branchId: string, transactionId?: UUID) => string;
10
+ export default _default;
11
+ //# sourceMappingURL=switch_transaction_id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch_transaction_id.d.ts","sourceRoot":"","sources":["../../src/version/switch_transaction_id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,IAAI,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;;;GAKG;yBACa,SAAS,iBAAiB,EAAE,UAAU,MAAM,EAAE,gBAAgB,IAAI;AAAlF,wBAcE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiao/rxdb-adapter-sqlite",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -25,15 +25,14 @@
25
25
  ]
26
26
  },
27
27
  "dependencies": {
28
- "rxjs": "^7.8.2",
29
28
  "comlink": "^4.4.2",
30
- "wa-sqlite": "rhashimoto/wa-sqlite.git#v1.0.9",
31
29
  "object-hash": "^3.0.0",
32
- "@aiao/rxdb": "0.0.5",
33
- "@aiao/utils": "0.0.5"
30
+ "wa-sqlite": "https://codeload.github.com/rhashimoto/wa-sqlite/tar.gz/refs/tags/v1.0.9",
31
+ "@aiao/rxdb": "0.0.7",
32
+ "@aiao/utils": "0.0.7"
34
33
  },
35
34
  "devDependencies": {
36
35
  "ms": "^2.1.3",
37
- "@aiao/rxdb-test": "0.0.5"
36
+ "@aiao/rxdb-test": "0.0.7"
38
37
  }
39
38
  }
package/README.md DELETED
@@ -1 +0,0 @@
1
- # rxdb-adapter-sqlite
@@ -1,27 +0,0 @@
1
- import { CountOptions, EntityStaticType, EntityType, FindAllOptions, FindOneOptions, FindOneOrFailOptions, FindOptions, IRepository, RowId } from '@aiao/rxdb';
2
- import { Observable } from 'rxjs';
3
- import { RxDBAdapterSqlite } from './RxDBAdapterSqlite.js';
4
- import { SqliteSuccessResult } from './sqlite.interface.js';
5
- import { ISqliteClient } from './SqliteClient.js';
6
- import { QueryTask } from './SqliteRepository.interface.js';
7
- import { SqliteRepositoryBase } from './SqliteRepositoryBase.js';
8
- /**
9
- * 操作 entity 仓库
10
- */
11
- export declare class SqliteRepository<T extends EntityType> extends SqliteRepositoryBase<T> implements IRepository<T> {
12
- #private;
13
- constructor(adapter: RxDBAdapterSqlite, client$: Observable<ISqliteClient>, EntityType: T);
14
- get(id: EntityStaticType<T, 'idType'>): Observable<InstanceType<T>>;
15
- findOne(options: FindOneOptions): Observable<InstanceType<T> | undefined>;
16
- findOneOrFail(options: FindOneOrFailOptions): Observable<InstanceType<T>>;
17
- find(options: FindOptions): Observable<InstanceType<T>[]>;
18
- findAll(options: FindAllOptions): Observable<InstanceType<T>[]>;
19
- findByRowIds(rowIds: RowId[], forcedUpdate?: boolean): Observable<InstanceType<T>[]>;
20
- count(options: CountOptions): Observable<number>;
21
- create(entity: InstanceType<T>): Promise<InstanceType<T>>;
22
- update(entity: InstanceType<T>, patch: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
23
- remove(entity: InstanceType<T>): Promise<InstanceType<T>>;
24
- protected merge_cache(type: string, task: QueryTask<T>, entities: InstanceType<T>[]): void;
25
- protected transform_query_result(task: QueryTask<T>, d: SqliteSuccessResult, forcedUpdate?: boolean): InstanceType<T>[];
26
- }
27
- //# sourceMappingURL=SqliteRepository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SqliteRepository.d.ts","sourceRoot":"","sources":["../src/SqliteRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,KAAK,EAGN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAmB,UAAU,EAAwC,MAAM,MAAM,CAAC;AAczF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAgD,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC1G,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;;gBAG/F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAoCzF,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAyBnE,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAUzE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAezE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAOzD,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAO/D,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,UAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAMlF,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IAOhD,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAIzD,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;IAI1F,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IA+BzD,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;IAgBnF,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE,YAAY,UAAQ;CAyDlG"}
@@ -1,94 +0,0 @@
1
- import { CountOptions, EntityStaticType, EntityType, FindAllOptions, FindOneOptions, FindOneOrFailOptions, FindOptions } from '@aiao/rxdb';
2
- import { Observable } from 'rxjs';
3
- import { SqliteSuccessResult } from './sqlite.interface.js';
4
- export interface GetParams {
5
- type: 'get';
6
- options: FindOneOrFailOptions;
7
- }
8
- export interface FindOneParams {
9
- type: 'findOne';
10
- options: FindOneOptions;
11
- }
12
- export interface FindOneOrFailParams {
13
- type: 'findOneOrFail';
14
- options: FindOneOrFailOptions;
15
- }
16
- export interface FindParams {
17
- type: 'find';
18
- options: FindOptions;
19
- }
20
- export interface FindAllParams {
21
- type: 'findAll';
22
- options: FindAllOptions;
23
- }
24
- export interface CountParams {
25
- type: 'count';
26
- options: CountOptions;
27
- }
28
- export type CacheQueryParams = GetParams | FindOneParams | FindOneOrFailParams | FindParams | FindAllParams | CountParams;
29
- export type CacheQueryTaskHelperResult<T extends EntityType> = CacheQueryParams & {
30
- calculate: (result: SqliteSuccessResult) => Observable<any>;
31
- refresh: () => void;
32
- };
33
- type RefreshMatchRuleName = 'match_where' | 'match_order_by' | 'result_contains' | 'not_match_where' | 'result_not_contains';
34
- export type RefreshMatchRules = RefreshMatchRuleName[][];
35
- /**
36
- * 查询任务
37
- */
38
- export interface QueryTask<T extends EntityType> {
39
- /**
40
- * 查询语句
41
- */
42
- sql: string;
43
- /**
44
- * 查询参数
45
- */
46
- params: any[];
47
- /**
48
- * 观察者数量
49
- */
50
- observerCount: number;
51
- /**
52
- * 刷新次数
53
- */
54
- refreshCount: number;
55
- /**
56
- * 用于强制刷新查询语句
57
- */
58
- refresh$: Observable<number>;
59
- /**
60
- * 查询结果
61
- */
62
- result$: Observable<SqliteSuccessResult>;
63
- /**
64
- * 查询结果的实体 ids
65
- */
66
- resultEntityIds?: EntityStaticType<T, 'idType'>[];
67
- /**
68
- * 查询结果的实体
69
- */
70
- resultEntities: InstanceType<T>[];
71
- /**
72
- * 查询结果
73
- */
74
- result?: InstanceType<T>[] | number;
75
- /**
76
- * 查询被销毁
77
- */
78
- destroy$: Observable<void>;
79
- /**
80
- * 强制刷新
81
- */
82
- refresh: () => void;
83
- updateResult: (result: InstanceType<T>[] | number) => void;
84
- /**
85
- * 更新数据
86
- */
87
- next: (value: SqliteSuccessResult) => void;
88
- /**
89
- * 抛出错误
90
- */
91
- error: (value: Error) => void;
92
- }
93
- export {};
94
- //# sourceMappingURL=SqliteRepository.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SqliteRepository.interface.d.ts","sourceRoot":"","sources":["../src/SqliteRepository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,aAAa,GACb,mBAAmB,GACnB,UAAU,GACV,aAAa,GACb,WAAW,CAAC;AAEhB,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,UAAU,IAAI,gBAAgB,GAAG;IAChF,SAAS,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,oBAAoB,GACrB,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,EAAE,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU;IAC7C;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,EAAE,GAAG,EAAE,CAAC;IAEd;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEzC;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;IAElD;;OAEG;IACH,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IAEpC;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAE3C;;OAEG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B"}
@@ -1,52 +0,0 @@
1
- import { EntityCreateEvent, EntityMetadata, EntityRemoveEvent, EntityType, EntityUpdateEvent, IRxDBAdapterDataChange, RepositoryBase, RowId } from '@aiao/rxdb';
2
- import { Observable, Subject } from 'rxjs';
3
- import { GenerateSqlResult } from './generate_query_find_sql.js';
4
- import { RxDBAdapterSqlite } from './RxDBAdapterSqlite.js';
5
- import { SqliteSuccessResult } from './sqlite.interface.js';
6
- import { ISqliteClient } from './SqliteClient.js';
7
- import { QueryTask } from './SqliteRepository.interface.js';
8
- export type CreateQueryTaskOptions = GenerateSqlResult;
9
- /**
10
- * 操作 entity 仓库
11
- */
12
- export declare class SqliteRepositoryBase<T extends EntityType> extends RepositoryBase<T> {
13
- #private;
14
- protected adapter: RxDBAdapterSqlite;
15
- protected client$: Observable<ISqliteClient>;
16
- protected readonly metadata: EntityMetadata;
17
- protected readonly need_run_task: Subject<void>;
18
- protected readonly run_task$: Observable<void>;
19
- protected readonly cache_query_task_map: Map<string, QueryTask<T>>;
20
- protected readonly queue_tasks: QueryTask<T>[];
21
- protected readonly db_changes_sub: Subject<EntityCreateEvent | EntityUpdateEvent | EntityRemoveEvent>;
22
- protected readonly db_changes_next$: Observable<EntityCreateEvent | EntityUpdateEvent | EntityRemoveEvent>;
23
- protected readonly db_changes$: Observable<{
24
- type: string;
25
- entities: InstanceType<T>[];
26
- }[]>;
27
- protected readonly db_checks_sub: Subject<{
28
- type: string;
29
- changes: IRxDBAdapterDataChange;
30
- }>;
31
- protected readonly db_checks_next$: Observable<{
32
- type: string;
33
- changes: IRxDBAdapterDataChange;
34
- }>;
35
- protected readonly db_checks$: Observable<{
36
- type: string;
37
- rowIds: RowId[];
38
- }[]>;
39
- constructor(adapter: RxDBAdapterSqlite, client$: Observable<ISqliteClient>, EntityType: T);
40
- /**
41
- * 添加缓存
42
- * @param sqliteSuccessResult
43
- * @param forcedUpdate 强制刷新,在数据有的情况下也会更新数据,在修改数据的情况下需要
44
- */
45
- addQueryCache(sqliteSuccessResult: SqliteSuccessResult, forcedUpdate?: boolean): InstanceType<T>[];
46
- /**
47
- * 创建查询任务
48
- */
49
- protected create_query_task(options: CreateQueryTaskOptions): QueryTask<T>;
50
- protected delete_task(task: QueryTask<T>): void;
51
- }
52
- //# sourceMappingURL=SqliteRepositoryBase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SqliteRepositoryBase.d.ts","sourceRoot":"","sources":["../src/SqliteRepositoryBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EAGjB,sBAAsB,EACtB,cAAc,EACd,KAAK,EAGN,MAAM,YAAY,CAAC;AACpB,OAAO,EAOL,UAAU,EAIV,OAAO,EAKR,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAIvD;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;;IAuD7E,SAAS,CAAC,OAAO,EAAE,iBAAiB;IACpC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC;IAvD9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAC;IAG7C,SAAS,CAAC,QAAQ,CAAC,aAAa,gBAAuB;IACvD,SAAS,CAAC,QAAQ,CAAC,SAAS,mBAA2D;IAEvF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,4BAAmC;IAE1E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAM;IAGpD,SAAS,CAAC,QAAQ,CAAC,cAAc,qEAA4E;IAC7G,SAAS,CAAC,QAAQ,CAAC,gBAAgB,wEAA6D;IAChG,SAAS,CAAC,QAAQ,CAAC,WAAW;;;SAiB5B;IAGF,SAAS,CAAC,QAAQ,CAAC,aAAa;cAAuB,MAAM;iBAAW,sBAAsB;OAAM;IACpG,SAAS,CAAC,QAAQ,CAAC,eAAe;cADqB,MAAM;iBAAW,sBAAsB;OACA;IAC9F,SAAS,CAAC,QAAQ,CAAC,UAAU;;;SAgB3B;gBAGU,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,EAC5C,UAAU,EAAE,CAAC;IAsDf;;;;OAIG;IACH,aAAa,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,UAAQ;IA+B5E;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAAC,CAAC,CAAC;IAgF1E,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;CA6BzC"}