@yydb/light-db 0.0.0 → 0.0.11

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 +0,0 @@
1
- {"version":3,"file":"OptimizedBuffer.js","sourceRoot":"","sources":["../../src/performance/OptimizedBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,260 +0,0 @@
1
- /**
2
- * 读写锁实现
3
- * 允许多个读查询并发,写操作独占
4
- */
5
- import { RWLockOptions, RWLockStats } from "./types";
6
- /**
7
- * 读锁句柄
8
- * 用于自动释放锁
9
- */
10
- export declare class ReadLockHandle {
11
- private released;
12
- private readonly releaseFn;
13
- constructor(releaseFn: () => void);
14
- /**
15
- * 释放读锁
16
- */
17
- release(): void;
18
- /**
19
- * 检查是否已释放
20
- */
21
- isReleased(): boolean;
22
- }
23
- /**
24
- * 写锁句柄
25
- * 用于自动释放锁
26
- */
27
- export declare class WriteLockHandle {
28
- private released;
29
- private readonly releaseFn;
30
- constructor(releaseFn: () => void);
31
- /**
32
- * 释放写锁
33
- */
34
- release(): void;
35
- /**
36
- * 检查是否已释放
37
- */
38
- isReleased(): boolean;
39
- }
40
- /**
41
- * 读写锁
42
- * 支持多读单写,可选公平模式
43
- */
44
- export declare class RWLock {
45
- private readers;
46
- private writer;
47
- private writeWaiters;
48
- private readWaiters;
49
- private readonly timeout;
50
- private readonly fair;
51
- private totalReadAcquires;
52
- private totalWriteAcquires;
53
- /**
54
- * 创建读写锁
55
- * @param options 配置选项
56
- */
57
- constructor(options?: RWLockOptions);
58
- /**
59
- * 获取读锁
60
- * @returns 读锁句柄
61
- */
62
- acquireRead(): Promise<ReadLockHandle>;
63
- /**
64
- * 尝试获取读锁(非阻塞)
65
- * @returns 读锁句柄或 null
66
- */
67
- tryAcquireRead(): ReadLockHandle | null;
68
- /**
69
- * 检查是否可以获取读锁
70
- */
71
- private canAcquireRead;
72
- /**
73
- * 获取写锁
74
- * @returns 写锁句柄
75
- */
76
- acquireWrite(): Promise<WriteLockHandle>;
77
- /**
78
- * 尝试获取写锁(非阻塞)
79
- * @returns 写锁句柄或 null
80
- */
81
- tryAcquireWrite(): WriteLockHandle | null;
82
- /**
83
- * 检查是否可以获取写锁
84
- */
85
- private canAcquireWrite;
86
- /**
87
- * 释放读锁
88
- */
89
- private releaseRead;
90
- /**
91
- * 释放写锁
92
- */
93
- private releaseWrite;
94
- /**
95
- * 唤醒等待者
96
- */
97
- private wakeWaiters;
98
- /**
99
- * 使用读锁执行函数
100
- * @param fn 要执行的函数
101
- * @returns 函数返回值
102
- */
103
- withRead<T>(fn: () => Promise<T>): Promise<T>;
104
- /**
105
- * 使用写锁执行函数
106
- * @param fn 要执行的函数
107
- * @returns 函数返回值
108
- */
109
- withWrite<T>(fn: () => Promise<T>): Promise<T>;
110
- /**
111
- * 使用读锁执行同步函数
112
- * @param fn 要执行的函数
113
- * @returns 函数返回值
114
- */
115
- withReadSync<T>(fn: () => T): T;
116
- /**
117
- * 使用写锁执行同步函数
118
- * @param fn 要执行的函数
119
- * @returns 函数返回值
120
- */
121
- withWriteSync<T>(fn: () => T): T;
122
- /**
123
- * 获取统计信息
124
- */
125
- getStats(): RWLockStats;
126
- /**
127
- * 检查是否有等待者
128
- */
129
- hasWaiters(): boolean;
130
- /**
131
- * 检查是否被读锁定
132
- */
133
- isReadLocked(): boolean;
134
- /**
135
- * 检查是否被写锁定
136
- */
137
- isWriteLocked(): boolean;
138
- /**
139
- * 检查是否被锁定
140
- */
141
- isLocked(): boolean;
142
- /**
143
- * 强制释放所有锁(危险操作,仅用于特殊场景)
144
- */
145
- forceUnlock(): void;
146
- }
147
- /**
148
- * 读写锁管理器
149
- * 管理多个命名锁
150
- */
151
- export declare class RWLockManager {
152
- private locks;
153
- private defaultOptions;
154
- /**
155
- * 创建读写锁管理器
156
- * @param defaultOptions 默认配置
157
- */
158
- constructor(defaultOptions?: RWLockOptions);
159
- /**
160
- * 获取或创建锁
161
- * @param name 锁名称
162
- * @param options 配置选项
163
- */
164
- getLock(name: string, options?: RWLockOptions): RWLock;
165
- /**
166
- * 获取读锁
167
- * @param name 锁名称
168
- * @returns 读锁句柄
169
- */
170
- acquireRead(name: string): Promise<ReadLockHandle>;
171
- /**
172
- * 获取写锁
173
- * @param name 锁名称
174
- * @returns 写锁句柄
175
- */
176
- acquireWrite(name: string): Promise<WriteLockHandle>;
177
- /**
178
- * 使用读锁执行函数
179
- * @param name 锁名称
180
- * @param fn 要执行的函数
181
- */
182
- withRead<T>(name: string, fn: () => Promise<T>): Promise<T>;
183
- /**
184
- * 使用写锁执行函数
185
- * @param name 锁名称
186
- * @param fn 要执行的函数
187
- */
188
- withWrite<T>(name: string, fn: () => Promise<T>): Promise<T>;
189
- /**
190
- * 获取所有锁名称
191
- */
192
- getLockNames(): string[];
193
- /**
194
- * 获取锁统计信息
195
- * @param name 锁名称
196
- */
197
- getStats(name: string): RWLockStats | undefined;
198
- /**
199
- * 获取所有锁统计信息
200
- */
201
- getAllStats(): Map<string, RWLockStats>;
202
- /**
203
- * 删除锁
204
- * @param name 锁名称
205
- */
206
- deleteLock(name: string): boolean;
207
- /**
208
- * 清空所有锁
209
- */
210
- clear(): void;
211
- }
212
- /**
213
- * 可重入读写锁
214
- * 支持同一线程多次获取同一锁
215
- */
216
- export declare class ReentrantRWLock {
217
- private lock;
218
- private readOwners;
219
- private writeOwner;
220
- private currentId;
221
- /**
222
- * 创建可重入读写锁
223
- * @param options 配置选项
224
- */
225
- constructor(options?: RWLockOptions);
226
- /**
227
- * 生成当前上下文 ID
228
- * 在实际应用中,应该使用线程 ID 或其他唯一标识
229
- */
230
- private getContextId;
231
- /**
232
- * 获取读锁
233
- */
234
- acquireRead(): Promise<ReadLockHandle>;
235
- /**
236
- * 释放读锁
237
- */
238
- private releaseRead;
239
- /**
240
- * 获取写锁
241
- */
242
- acquireWrite(): Promise<WriteLockHandle>;
243
- /**
244
- * 释放写锁
245
- */
246
- private releaseWrite;
247
- /**
248
- * 使用读锁执行函数
249
- */
250
- withRead<T>(fn: () => Promise<T>): Promise<T>;
251
- /**
252
- * 使用写锁执行函数
253
- */
254
- withWrite<T>(fn: () => Promise<T>): Promise<T>;
255
- /**
256
- * 获取统计信息
257
- */
258
- getStats(): RWLockStats;
259
- }
260
- //# sourceMappingURL=RWLock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RWLock.d.ts","sourceRoot":"","sources":["../../src/performance/RWLock.ts"],"names":[],"mappings":"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"}