@yydb/light-db 0.0.0 → 0.0.10

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 (230) hide show
  1. package/dist/api/database.d.ts +48 -0
  2. package/dist/api/database.d.ts.map +1 -0
  3. package/dist/api/database.js +120 -0
  4. package/dist/api/database.js.map +1 -0
  5. package/dist/api/index.d.ts +7 -22
  6. package/dist/api/index.d.ts.map +1 -1
  7. package/dist/api/index.js +5 -52
  8. package/dist/api/index.js.map +1 -1
  9. package/dist/api/schema.d.ts +33 -0
  10. package/dist/api/schema.d.ts.map +1 -0
  11. package/dist/api/schema.js +80 -0
  12. package/dist/api/schema.js.map +1 -0
  13. package/dist/api/transaction.d.ts +26 -0
  14. package/dist/api/transaction.d.ts.map +1 -0
  15. package/dist/api/transaction.js +52 -0
  16. package/dist/api/transaction.js.map +1 -0
  17. package/dist/api/types.d.ts +55 -148
  18. package/dist/api/types.d.ts.map +1 -1
  19. package/dist/api/types.js +6 -5
  20. package/dist/api/types.js.map +1 -1
  21. package/dist/codec/binary.d.ts +196 -0
  22. package/dist/codec/binary.d.ts.map +1 -0
  23. package/dist/codec/binary.js +342 -0
  24. package/dist/codec/binary.js.map +1 -0
  25. package/dist/codec/checksum.d.ts +21 -0
  26. package/dist/codec/checksum.d.ts.map +1 -0
  27. package/dist/codec/checksum.js +46 -0
  28. package/dist/codec/checksum.js.map +1 -0
  29. package/dist/codec/index.d.ts +12 -0
  30. package/dist/codec/index.d.ts.map +1 -0
  31. package/dist/codec/index.js +10 -0
  32. package/dist/codec/index.js.map +1 -0
  33. package/dist/codec/page.d.ts +114 -0
  34. package/dist/codec/page.d.ts.map +1 -0
  35. package/dist/codec/page.js +225 -0
  36. package/dist/codec/page.js.map +1 -0
  37. package/dist/codec/record.d.ts +62 -0
  38. package/dist/codec/record.d.ts.map +1 -0
  39. package/dist/codec/record.js +82 -0
  40. package/dist/codec/record.js.map +1 -0
  41. package/dist/core/broadcast.d.ts +39 -0
  42. package/dist/core/broadcast.d.ts.map +1 -0
  43. package/dist/core/broadcast.js +54 -0
  44. package/dist/core/broadcast.js.map +1 -0
  45. package/dist/core/checkpoint.d.ts +23 -0
  46. package/dist/core/checkpoint.d.ts.map +1 -0
  47. package/dist/core/checkpoint.js +49 -0
  48. package/dist/core/checkpoint.js.map +1 -0
  49. package/dist/core/engine.d.ts +142 -0
  50. package/dist/core/engine.d.ts.map +1 -0
  51. package/dist/core/engine.js +304 -0
  52. package/dist/core/engine.js.map +1 -0
  53. package/dist/core/index.d.ts +17 -0
  54. package/dist/core/index.d.ts.map +1 -0
  55. package/dist/core/index.js +13 -0
  56. package/dist/core/index.js.map +1 -0
  57. package/dist/core/lease.d.ts +32 -0
  58. package/dist/core/lease.d.ts.map +1 -0
  59. package/dist/core/lease.js +81 -0
  60. package/dist/core/lease.js.map +1 -0
  61. package/dist/core/records.d.ts +49 -0
  62. package/dist/core/records.d.ts.map +1 -0
  63. package/dist/core/records.js +70 -0
  64. package/dist/core/records.js.map +1 -0
  65. package/dist/core/recovery.d.ts +43 -0
  66. package/dist/core/recovery.d.ts.map +1 -0
  67. package/dist/core/recovery.js +99 -0
  68. package/dist/core/recovery.js.map +1 -0
  69. package/dist/core/wal.d.ts +50 -0
  70. package/dist/core/wal.d.ts.map +1 -0
  71. package/dist/core/wal.js +114 -0
  72. package/dist/core/wal.js.map +1 -0
  73. package/dist/errors/index.d.ts +44 -66
  74. package/dist/errors/index.d.ts.map +1 -1
  75. package/dist/errors/index.js +43 -128
  76. package/dist/errors/index.js.map +1 -1
  77. package/dist/index.d.ts +14 -215
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +14 -724
  80. package/dist/index.js.map +1 -1
  81. package/dist/storage/StorageAdapter.d.ts +97 -0
  82. package/dist/storage/StorageAdapter.d.ts.map +1 -0
  83. package/dist/storage/StorageAdapter.js +9 -0
  84. package/dist/storage/StorageAdapter.js.map +1 -0
  85. package/dist/storage/index.d.ts +9 -8
  86. package/dist/storage/index.d.ts.map +1 -1
  87. package/dist/storage/index.js +8 -151
  88. package/dist/storage/index.js.map +1 -1
  89. package/dist/storage/indexeddb/IndexedDbStorageAdapter.d.ts +140 -0
  90. package/dist/storage/indexeddb/IndexedDbStorageAdapter.d.ts.map +1 -0
  91. package/dist/storage/indexeddb/IndexedDbStorageAdapter.js +403 -0
  92. package/dist/storage/indexeddb/IndexedDbStorageAdapter.js.map +1 -0
  93. package/dist/storage/memory/MemoryStorageAdapter.d.ts +76 -0
  94. package/dist/storage/memory/MemoryStorageAdapter.d.ts.map +1 -0
  95. package/dist/storage/memory/MemoryStorageAdapter.js +212 -0
  96. package/dist/storage/memory/MemoryStorageAdapter.js.map +1 -0
  97. package/dist/storage/opfs/OpfsStorageAdapter.d.ts +141 -0
  98. package/dist/storage/opfs/OpfsStorageAdapter.d.ts.map +1 -0
  99. package/dist/storage/opfs/OpfsStorageAdapter.js +400 -0
  100. package/dist/storage/opfs/OpfsStorageAdapter.js.map +1 -0
  101. package/package.json +48 -36
  102. package/readme.md +80 -94
  103. package/dist/api/LightDB.d.ts +0 -194
  104. package/dist/api/LightDB.d.ts.map +0 -1
  105. package/dist/api/LightDB.js +0 -299
  106. package/dist/api/LightDB.js.map +0 -1
  107. package/dist/api/Transaction.d.ts +0 -100
  108. package/dist/api/Transaction.d.ts.map +0 -1
  109. package/dist/api/Transaction.js +0 -263
  110. package/dist/api/Transaction.js.map +0 -1
  111. package/dist/collection/Collection.d.ts +0 -235
  112. package/dist/collection/Collection.d.ts.map +0 -1
  113. package/dist/collection/Collection.js +0 -671
  114. package/dist/collection/Collection.js.map +0 -1
  115. package/dist/collection/QueryBuilder.d.ts +0 -225
  116. package/dist/collection/QueryBuilder.d.ts.map +0 -1
  117. package/dist/collection/QueryBuilder.js +0 -475
  118. package/dist/collection/QueryBuilder.js.map +0 -1
  119. package/dist/collection/QueryParser.d.ts +0 -117
  120. package/dist/collection/QueryParser.d.ts.map +0 -1
  121. package/dist/collection/QueryParser.js +0 -438
  122. package/dist/collection/QueryParser.js.map +0 -1
  123. package/dist/collection/index.d.ts +0 -42
  124. package/dist/collection/index.d.ts.map +0 -1
  125. package/dist/collection/index.js +0 -41
  126. package/dist/collection/index.js.map +0 -1
  127. package/dist/collection/types.d.ts +0 -365
  128. package/dist/collection/types.d.ts.map +0 -1
  129. package/dist/collection/types.js +0 -7
  130. package/dist/collection/types.js.map +0 -1
  131. package/dist/constants/index.d.ts +0 -51
  132. package/dist/constants/index.d.ts.map +0 -1
  133. package/dist/constants/index.js +0 -68
  134. package/dist/constants/index.js.map +0 -1
  135. package/dist/indexes/BPlusTree.d.ts +0 -181
  136. package/dist/indexes/BPlusTree.d.ts.map +0 -1
  137. package/dist/indexes/BPlusTree.js +0 -528
  138. package/dist/indexes/BPlusTree.js.map +0 -1
  139. package/dist/indexes/IndexManager.d.ts +0 -236
  140. package/dist/indexes/IndexManager.d.ts.map +0 -1
  141. package/dist/indexes/IndexManager.js +0 -502
  142. package/dist/indexes/IndexManager.js.map +0 -1
  143. package/dist/indexes/PrimaryIndex.d.ts +0 -240
  144. package/dist/indexes/PrimaryIndex.d.ts.map +0 -1
  145. package/dist/indexes/PrimaryIndex.js +0 -354
  146. package/dist/indexes/PrimaryIndex.js.map +0 -1
  147. package/dist/indexes/SecondaryIndex.d.ts +0 -204
  148. package/dist/indexes/SecondaryIndex.d.ts.map +0 -1
  149. package/dist/indexes/SecondaryIndex.js +0 -480
  150. package/dist/indexes/SecondaryIndex.js.map +0 -1
  151. package/dist/indexes/errors.d.ts +0 -66
  152. package/dist/indexes/errors.d.ts.map +0 -1
  153. package/dist/indexes/errors.js +0 -117
  154. package/dist/indexes/errors.js.map +0 -1
  155. package/dist/indexes/index.d.ts +0 -52
  156. package/dist/indexes/index.d.ts.map +0 -1
  157. package/dist/indexes/index.js +0 -131
  158. package/dist/indexes/index.js.map +0 -1
  159. package/dist/indexes/types.d.ts +0 -246
  160. package/dist/indexes/types.d.ts.map +0 -1
  161. package/dist/indexes/types.js +0 -30
  162. package/dist/indexes/types.js.map +0 -1
  163. package/dist/performance/BatchWALWriter.d.ts +0 -185
  164. package/dist/performance/BatchWALWriter.d.ts.map +0 -1
  165. package/dist/performance/BatchWALWriter.js +0 -490
  166. package/dist/performance/BatchWALWriter.js.map +0 -1
  167. package/dist/performance/ColumnarStorage.d.ts +0 -138
  168. package/dist/performance/ColumnarStorage.d.ts.map +0 -1
  169. package/dist/performance/ColumnarStorage.js +0 -875
  170. package/dist/performance/ColumnarStorage.js.map +0 -1
  171. package/dist/performance/LazyQuery.d.ts +0 -307
  172. package/dist/performance/LazyQuery.d.ts.map +0 -1
  173. package/dist/performance/LazyQuery.js +0 -588
  174. package/dist/performance/LazyQuery.js.map +0 -1
  175. package/dist/performance/OptimizedBuffer.d.ts +0 -375
  176. package/dist/performance/OptimizedBuffer.d.ts.map +0 -1
  177. package/dist/performance/OptimizedBuffer.js +0 -730
  178. package/dist/performance/OptimizedBuffer.js.map +0 -1
  179. package/dist/performance/RWLock.d.ts +0 -260
  180. package/dist/performance/RWLock.d.ts.map +0 -1
  181. package/dist/performance/RWLock.js +0 -570
  182. package/dist/performance/RWLock.js.map +0 -1
  183. package/dist/performance/index.d.ts +0 -41
  184. package/dist/performance/index.d.ts.map +0 -1
  185. package/dist/performance/index.js +0 -162
  186. package/dist/performance/index.js.map +0 -1
  187. package/dist/performance/types.d.ts +0 -247
  188. package/dist/performance/types.d.ts.map +0 -1
  189. package/dist/performance/types.js +0 -26
  190. package/dist/performance/types.js.map +0 -1
  191. package/dist/storage/Checkpoint.d.ts +0 -128
  192. package/dist/storage/Checkpoint.d.ts.map +0 -1
  193. package/dist/storage/Checkpoint.js +0 -251
  194. package/dist/storage/Checkpoint.js.map +0 -1
  195. package/dist/storage/LightFile.d.ts +0 -227
  196. package/dist/storage/LightFile.d.ts.map +0 -1
  197. package/dist/storage/LightFile.js +0 -526
  198. package/dist/storage/LightFile.js.map +0 -1
  199. package/dist/storage/Recovery.d.ts +0 -172
  200. package/dist/storage/Recovery.d.ts.map +0 -1
  201. package/dist/storage/Recovery.js +0 -399
  202. package/dist/storage/Recovery.js.map +0 -1
  203. package/dist/storage/SHMFile.d.ts +0 -243
  204. package/dist/storage/SHMFile.d.ts.map +0 -1
  205. package/dist/storage/SHMFile.js +0 -436
  206. package/dist/storage/SHMFile.js.map +0 -1
  207. package/dist/storage/StorageEngine.d.ts +0 -146
  208. package/dist/storage/StorageEngine.d.ts.map +0 -1
  209. package/dist/storage/StorageEngine.js +0 -353
  210. package/dist/storage/StorageEngine.js.map +0 -1
  211. package/dist/storage/WALFile.d.ts +0 -248
  212. package/dist/storage/WALFile.d.ts.map +0 -1
  213. package/dist/storage/WALFile.js +0 -597
  214. package/dist/storage/WALFile.js.map +0 -1
  215. package/dist/types/index.d.ts +0 -220
  216. package/dist/types/index.d.ts.map +0 -1
  217. package/dist/types/index.js +0 -7
  218. package/dist/types/index.js.map +0 -1
  219. package/dist/utils/binary.d.ts +0 -271
  220. package/dist/utils/binary.d.ts.map +0 -1
  221. package/dist/utils/binary.js +0 -454
  222. package/dist/utils/binary.js.map +0 -1
  223. package/dist/utils/file.d.ts +0 -166
  224. package/dist/utils/file.d.ts.map +0 -1
  225. package/dist/utils/file.js +0 -346
  226. package/dist/utils/file.js.map +0 -1
  227. package/dist/utils/index.d.ts +0 -6
  228. package/dist/utils/index.d.ts.map +0 -1
  229. package/dist/utils/index.js +0 -39
  230. package/dist/utils/index.js.map +0 -1
@@ -1,236 +0,0 @@
1
- /**
2
- * LightDB 索引管理器实现
3
- * 统一管理主键索引和二级索引,提供自动维护功能
4
- */
5
- import { PrimaryIndex } from "./PrimaryIndex";
6
- import { SecondaryIndex } from "./SecondaryIndex";
7
- import type { IndexKey, IndexValue, IndexStats, IndexManagerOptions, EqualityCondition, KeyExtractor, ValueExtractor } from "./types";
8
- /**
9
- * 集合配置
10
- */
11
- export interface CollectionIndexConfig<T = unknown> {
12
- /** 集合名称 */
13
- name: string;
14
- /** 主键字段名 */
15
- primaryKey: string;
16
- /** 主键提取器 */
17
- primaryKeyExtractor: KeyExtractor<T>;
18
- /** 二级索引配置 */
19
- secondaryIndexes?: Array<{
20
- name: string;
21
- fieldName: string;
22
- unique?: boolean;
23
- sparse?: boolean;
24
- valueExtractor: ValueExtractor<T>;
25
- }>;
26
- }
27
- /**
28
- * 索引管理器
29
- * 提供索引的创建、查询、维护等统一管理功能
30
- */
31
- export declare class IndexManager<T = unknown> {
32
- private readonly options;
33
- private primaryIndex;
34
- private readonly secondaryIndexes;
35
- private readonly valueExtractors;
36
- private readonly collectionName;
37
- private readonly primaryKeyField;
38
- private readonly primaryKeyExtractor;
39
- /**
40
- * 创建索引管理器实例
41
- * @param config 集合配置
42
- * @param options 索引管理器选项
43
- */
44
- constructor(config: CollectionIndexConfig<T>, options?: IndexManagerOptions);
45
- /**
46
- * 获取集合名称
47
- */
48
- get CollectionName(): string;
49
- /**
50
- * 获取主键字段名
51
- */
52
- get PrimaryKeyField(): string;
53
- /**
54
- * 获取主键索引
55
- */
56
- get PrimaryIndex(): PrimaryIndex<T>;
57
- /**
58
- * 获取记录数量
59
- */
60
- get Size(): number;
61
- /**
62
- * 初始化主键索引
63
- */
64
- private initializePrimaryIndex;
65
- /**
66
- * 初始化二级索引
67
- */
68
- private initializeSecondaryIndexes;
69
- /**
70
- * 创建二级索引
71
- * @param config 索引配置
72
- */
73
- createSecondaryIndex(config: {
74
- name: string;
75
- fieldName: string;
76
- unique?: boolean;
77
- sparse?: boolean;
78
- valueExtractor: ValueExtractor<T>;
79
- }): SecondaryIndex;
80
- /**
81
- * 删除二级索引
82
- * @param name 索引名称
83
- */
84
- dropSecondaryIndex(name: string): boolean;
85
- /**
86
- * 获取二级索引
87
- * @param name 索引名称
88
- */
89
- getSecondaryIndex(name: string): SecondaryIndex;
90
- /**
91
- * 检查二级索引是否存在
92
- * @param name 索引名称
93
- */
94
- hasSecondaryIndex(name: string): boolean;
95
- /**
96
- * 获取所有二级索引名称
97
- */
98
- getSecondaryIndexNames(): string[];
99
- /**
100
- * 插入记录
101
- * @param record 记录
102
- * @param throwOnDuplicate 如果主键已存在是否抛出异常
103
- * @returns 是否插入成功
104
- */
105
- insert(record: T, throwOnDuplicate?: boolean): boolean;
106
- /**
107
- * 更新记录
108
- * @param oldRecord 旧记录
109
- * @param newRecord 新记录
110
- * @param throwOnMissing 如果主键不存在是否抛出异常
111
- * @returns 是否更新成功
112
- */
113
- update(oldRecord: T, newRecord: T, throwOnMissing?: boolean): boolean;
114
- /**
115
- * 删除记录
116
- * @param record 要删除的记录
117
- * @param throwOnMissing 如果主键不存在是否抛出异常
118
- * @returns 被删除的记录,如果不存在返回 undefined
119
- */
120
- delete(record: T, throwOnMissing?: boolean): T | undefined;
121
- /**
122
- * 通过主键删除记录
123
- * @param primaryKey 主键
124
- * @param throwOnMissing 如果主键不存在是否抛出异常
125
- * @returns 被删除的记录,如果不存在返回 undefined
126
- */
127
- deleteByKey(primaryKey: IndexKey, throwOnMissing?: boolean): T | undefined;
128
- /**
129
- * 通过主键查找记录
130
- * @param primaryKey 主键
131
- */
132
- findByPrimaryKey(primaryKey: IndexKey): T | undefined;
133
- /**
134
- * 检查主键是否存在
135
- * @param primaryKey 主键
136
- */
137
- hasByPrimaryKey(primaryKey: IndexKey): boolean;
138
- /**
139
- * 通过二级索引查找
140
- * @param indexName 索引名称
141
- * @param value 索引值
142
- * @returns 匹配的记录数组
143
- */
144
- findBySecondaryIndex(indexName: string, value: IndexValue): T[];
145
- /**
146
- * 通过二级索引条件查询
147
- * @param indexName 索引名称
148
- * @param condition 查询条件
149
- * @returns 匹配的记录数组
150
- */
151
- queryBySecondaryIndex(indexName: string, condition: EqualityCondition<IndexValue>): T[];
152
- /**
153
- * 主键范围查询
154
- * @param start 起始键
155
- * @param end 结束键
156
- * @param includeStart 是否包含起始键
157
- * @param includeEnd 是否包含结束键
158
- * @returns 匹配的记录数组
159
- */
160
- rangeByPrimaryKey(start?: IndexKey, end?: IndexKey, includeStart?: boolean, includeEnd?: boolean): T[];
161
- /**
162
- * 二级索引范围查询
163
- * @param indexName 索引名称
164
- * @param start 起始值
165
- * @param end 结束值
166
- * @param includeStart 是否包含起始值
167
- * @param includeEnd 是否包含结束值
168
- * @returns 匹配的记录数组
169
- */
170
- rangeBySecondaryIndex(indexName: string, start?: IndexValue, end?: IndexValue, includeStart?: boolean, includeEnd?: boolean): T[];
171
- /**
172
- * 获取所有记录
173
- */
174
- getAll(): T[];
175
- /**
176
- * 获取所有主键
177
- */
178
- getAllPrimaryKeys(): IndexKey[];
179
- /**
180
- * 清空所有索引
181
- */
182
- clear(): void;
183
- /**
184
- * 获取所有索引统计信息
185
- */
186
- getStats(): IndexStats[];
187
- /**
188
- * 批量插入
189
- * @param records 记录数组
190
- * @param throwOnDuplicate 如果主键已存在是否抛出异常
191
- */
192
- insertBatch(
193
- records: T[],
194
- throwOnDuplicate?: boolean,
195
- ): {
196
- success: number;
197
- failed: number;
198
- errors: Array<{
199
- index: number;
200
- error: string;
201
- }>;
202
- };
203
- /**
204
- * 批量删除
205
- * @param primaryKeys 主键数组
206
- */
207
- deleteBatch(primaryKeys: IndexKey[]): {
208
- success: number;
209
- failed: number;
210
- };
211
- /**
212
- * 验证索引一致性
213
- */
214
- validate(): {
215
- valid: boolean;
216
- errors: Array<{
217
- index: string;
218
- errors: string[];
219
- }>;
220
- };
221
- /**
222
- * 重建所有索引
223
- * @param records 所有记录
224
- */
225
- rebuild(records: T[]): void;
226
- /**
227
- * 重建指定二级索引
228
- * @param indexName 索引名称
229
- */
230
- rebuildSecondaryIndex(indexName: string): void;
231
- /**
232
- * 获取估算的内存使用量
233
- */
234
- getMemoryUsage(): number;
235
- }
236
- //# sourceMappingURL=IndexManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IndexManager.d.ts","sourceRoot":"","sources":["../../src/indexes/IndexManager.ts"],"names":[],"mappings":"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"}