@yydb/light-db 0.0.0

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 (150) hide show
  1. package/dist/api/LightDB.d.ts +194 -0
  2. package/dist/api/LightDB.d.ts.map +1 -0
  3. package/dist/api/LightDB.js +299 -0
  4. package/dist/api/LightDB.js.map +1 -0
  5. package/dist/api/Transaction.d.ts +100 -0
  6. package/dist/api/Transaction.d.ts.map +1 -0
  7. package/dist/api/Transaction.js +263 -0
  8. package/dist/api/Transaction.js.map +1 -0
  9. package/dist/api/index.d.ts +24 -0
  10. package/dist/api/index.d.ts.map +1 -0
  11. package/dist/api/index.js +54 -0
  12. package/dist/api/index.js.map +1 -0
  13. package/dist/api/types.d.ts +154 -0
  14. package/dist/api/types.d.ts.map +1 -0
  15. package/dist/api/types.js +7 -0
  16. package/dist/api/types.js.map +1 -0
  17. package/dist/collection/Collection.d.ts +235 -0
  18. package/dist/collection/Collection.d.ts.map +1 -0
  19. package/dist/collection/Collection.js +671 -0
  20. package/dist/collection/Collection.js.map +1 -0
  21. package/dist/collection/QueryBuilder.d.ts +225 -0
  22. package/dist/collection/QueryBuilder.d.ts.map +1 -0
  23. package/dist/collection/QueryBuilder.js +475 -0
  24. package/dist/collection/QueryBuilder.js.map +1 -0
  25. package/dist/collection/QueryParser.d.ts +117 -0
  26. package/dist/collection/QueryParser.d.ts.map +1 -0
  27. package/dist/collection/QueryParser.js +438 -0
  28. package/dist/collection/QueryParser.js.map +1 -0
  29. package/dist/collection/index.d.ts +42 -0
  30. package/dist/collection/index.d.ts.map +1 -0
  31. package/dist/collection/index.js +41 -0
  32. package/dist/collection/index.js.map +1 -0
  33. package/dist/collection/types.d.ts +365 -0
  34. package/dist/collection/types.d.ts.map +1 -0
  35. package/dist/collection/types.js +7 -0
  36. package/dist/collection/types.js.map +1 -0
  37. package/dist/constants/index.d.ts +51 -0
  38. package/dist/constants/index.d.ts.map +1 -0
  39. package/dist/constants/index.js +68 -0
  40. package/dist/constants/index.js.map +1 -0
  41. package/dist/errors/index.d.ts +69 -0
  42. package/dist/errors/index.d.ts.map +1 -0
  43. package/dist/errors/index.js +132 -0
  44. package/dist/errors/index.js.map +1 -0
  45. package/dist/index.d.ts +220 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +729 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/indexes/BPlusTree.d.ts +181 -0
  50. package/dist/indexes/BPlusTree.d.ts.map +1 -0
  51. package/dist/indexes/BPlusTree.js +528 -0
  52. package/dist/indexes/BPlusTree.js.map +1 -0
  53. package/dist/indexes/IndexManager.d.ts +236 -0
  54. package/dist/indexes/IndexManager.d.ts.map +1 -0
  55. package/dist/indexes/IndexManager.js +502 -0
  56. package/dist/indexes/IndexManager.js.map +1 -0
  57. package/dist/indexes/PrimaryIndex.d.ts +240 -0
  58. package/dist/indexes/PrimaryIndex.d.ts.map +1 -0
  59. package/dist/indexes/PrimaryIndex.js +354 -0
  60. package/dist/indexes/PrimaryIndex.js.map +1 -0
  61. package/dist/indexes/SecondaryIndex.d.ts +204 -0
  62. package/dist/indexes/SecondaryIndex.d.ts.map +1 -0
  63. package/dist/indexes/SecondaryIndex.js +480 -0
  64. package/dist/indexes/SecondaryIndex.js.map +1 -0
  65. package/dist/indexes/errors.d.ts +66 -0
  66. package/dist/indexes/errors.d.ts.map +1 -0
  67. package/dist/indexes/errors.js +117 -0
  68. package/dist/indexes/errors.js.map +1 -0
  69. package/dist/indexes/index.d.ts +52 -0
  70. package/dist/indexes/index.d.ts.map +1 -0
  71. package/dist/indexes/index.js +131 -0
  72. package/dist/indexes/index.js.map +1 -0
  73. package/dist/indexes/types.d.ts +246 -0
  74. package/dist/indexes/types.d.ts.map +1 -0
  75. package/dist/indexes/types.js +30 -0
  76. package/dist/indexes/types.js.map +1 -0
  77. package/dist/performance/BatchWALWriter.d.ts +185 -0
  78. package/dist/performance/BatchWALWriter.d.ts.map +1 -0
  79. package/dist/performance/BatchWALWriter.js +490 -0
  80. package/dist/performance/BatchWALWriter.js.map +1 -0
  81. package/dist/performance/ColumnarStorage.d.ts +138 -0
  82. package/dist/performance/ColumnarStorage.d.ts.map +1 -0
  83. package/dist/performance/ColumnarStorage.js +875 -0
  84. package/dist/performance/ColumnarStorage.js.map +1 -0
  85. package/dist/performance/LazyQuery.d.ts +307 -0
  86. package/dist/performance/LazyQuery.d.ts.map +1 -0
  87. package/dist/performance/LazyQuery.js +588 -0
  88. package/dist/performance/LazyQuery.js.map +1 -0
  89. package/dist/performance/OptimizedBuffer.d.ts +375 -0
  90. package/dist/performance/OptimizedBuffer.d.ts.map +1 -0
  91. package/dist/performance/OptimizedBuffer.js +730 -0
  92. package/dist/performance/OptimizedBuffer.js.map +1 -0
  93. package/dist/performance/RWLock.d.ts +260 -0
  94. package/dist/performance/RWLock.d.ts.map +1 -0
  95. package/dist/performance/RWLock.js +570 -0
  96. package/dist/performance/RWLock.js.map +1 -0
  97. package/dist/performance/index.d.ts +41 -0
  98. package/dist/performance/index.d.ts.map +1 -0
  99. package/dist/performance/index.js +162 -0
  100. package/dist/performance/index.js.map +1 -0
  101. package/dist/performance/types.d.ts +247 -0
  102. package/dist/performance/types.d.ts.map +1 -0
  103. package/dist/performance/types.js +26 -0
  104. package/dist/performance/types.js.map +1 -0
  105. package/dist/storage/Checkpoint.d.ts +128 -0
  106. package/dist/storage/Checkpoint.d.ts.map +1 -0
  107. package/dist/storage/Checkpoint.js +251 -0
  108. package/dist/storage/Checkpoint.js.map +1 -0
  109. package/dist/storage/LightFile.d.ts +227 -0
  110. package/dist/storage/LightFile.d.ts.map +1 -0
  111. package/dist/storage/LightFile.js +526 -0
  112. package/dist/storage/LightFile.js.map +1 -0
  113. package/dist/storage/Recovery.d.ts +172 -0
  114. package/dist/storage/Recovery.d.ts.map +1 -0
  115. package/dist/storage/Recovery.js +399 -0
  116. package/dist/storage/Recovery.js.map +1 -0
  117. package/dist/storage/SHMFile.d.ts +243 -0
  118. package/dist/storage/SHMFile.d.ts.map +1 -0
  119. package/dist/storage/SHMFile.js +436 -0
  120. package/dist/storage/SHMFile.js.map +1 -0
  121. package/dist/storage/StorageEngine.d.ts +146 -0
  122. package/dist/storage/StorageEngine.d.ts.map +1 -0
  123. package/dist/storage/StorageEngine.js +353 -0
  124. package/dist/storage/StorageEngine.js.map +1 -0
  125. package/dist/storage/WALFile.d.ts +248 -0
  126. package/dist/storage/WALFile.d.ts.map +1 -0
  127. package/dist/storage/WALFile.js +597 -0
  128. package/dist/storage/WALFile.js.map +1 -0
  129. package/dist/storage/index.d.ts +10 -0
  130. package/dist/storage/index.d.ts.map +1 -0
  131. package/dist/storage/index.js +153 -0
  132. package/dist/storage/index.js.map +1 -0
  133. package/dist/types/index.d.ts +220 -0
  134. package/dist/types/index.d.ts.map +1 -0
  135. package/dist/types/index.js +7 -0
  136. package/dist/types/index.js.map +1 -0
  137. package/dist/utils/binary.d.ts +271 -0
  138. package/dist/utils/binary.d.ts.map +1 -0
  139. package/dist/utils/binary.js +454 -0
  140. package/dist/utils/binary.js.map +1 -0
  141. package/dist/utils/file.d.ts +166 -0
  142. package/dist/utils/file.d.ts.map +1 -0
  143. package/dist/utils/file.js +346 -0
  144. package/dist/utils/file.js.map +1 -0
  145. package/dist/utils/index.d.ts +6 -0
  146. package/dist/utils/index.d.ts.map +1 -0
  147. package/dist/utils/index.js +39 -0
  148. package/dist/utils/index.js.map +1 -0
  149. package/package.json +37 -0
  150. package/readme.md +124 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/collection/Collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * LightDB 查询构建器
3
+ * 提供链式查询 API
4
+ */
5
+ import type { QueryFilter, SortCondition, SortDirection, FindResult, PrimaryKeyType } from "./types";
6
+ /**
7
+ * 查询执行器接口
8
+ * 用于解耦 QueryBuilder 和 Collection
9
+ */
10
+ export interface QueryExecutor<T extends object> {
11
+ /** 获取所有文档 */
12
+ getAll(): T[];
13
+ /** 通过主键查找 */
14
+ findByPrimaryKey(key: PrimaryKeyType): T | undefined;
15
+ /** 通过二级索引查找 */
16
+ findBySecondaryIndex(indexName: string, value: unknown): T[];
17
+ /** 获取主键字段名 */
18
+ getPrimaryKeyField(): string;
19
+ /** 获取二级索引字段列表 */
20
+ getSecondaryIndexFields(): string[];
21
+ /** 提取主键值 */
22
+ extractPrimaryKey(doc: T): PrimaryKeyType;
23
+ }
24
+ /**
25
+ * 查询构建器
26
+ * 提供链式查询 API
27
+ */
28
+ export declare class QueryBuilder<T extends object> {
29
+ private readonly executor;
30
+ private filter;
31
+ private sortCondition;
32
+ private skipValue;
33
+ private limitValue;
34
+ private fieldsValue;
35
+ /**
36
+ * 创建查询构建器实例
37
+ * @param executor 查询执行器
38
+ */
39
+ constructor(executor: QueryExecutor<T>);
40
+ /**
41
+ * 设置查询条件
42
+ * @param condition 查询条件
43
+ */
44
+ where(condition: QueryFilter<T>): this;
45
+ /**
46
+ * 添加等于条件
47
+ * @param field 字段名
48
+ * @param value 值
49
+ */
50
+ eq<K extends keyof T>(field: K, value: T[K]): this;
51
+ /**
52
+ * 添加不等于条件
53
+ * @param field 字段名
54
+ * @param value 值
55
+ */
56
+ ne<K extends keyof T>(field: K, value: T[K]): this;
57
+ /**
58
+ * 添加大于条件
59
+ * @param field 字段名
60
+ * @param value 值
61
+ */
62
+ gt<K extends keyof T>(field: K, value: T[K]): this;
63
+ /**
64
+ * 添加大于等于条件
65
+ * @param field 字段名
66
+ * @param value 值
67
+ */
68
+ gte<K extends keyof T>(field: K, value: T[K]): this;
69
+ /**
70
+ * 添加小于条件
71
+ * @param field 字段名
72
+ * @param value 值
73
+ */
74
+ lt<K extends keyof T>(field: K, value: T[K]): this;
75
+ /**
76
+ * 添加小于等于条件
77
+ * @param field 字段名
78
+ * @param value 值
79
+ */
80
+ lte<K extends keyof T>(field: K, value: T[K]): this;
81
+ /**
82
+ * 添加包含于数组条件
83
+ * @param field 字段名
84
+ * @param values 值数组
85
+ */
86
+ in<K extends keyof T>(field: K, values: T[K][]): this;
87
+ /**
88
+ * 添加不包含于数组条件
89
+ * @param field 字段名
90
+ * @param values 值数组
91
+ */
92
+ nin<K extends keyof T>(field: K, values: T[K][]): this;
93
+ /**
94
+ * 添加存在性检查条件
95
+ * @param field 字段名
96
+ * @param exists 是否存在
97
+ */
98
+ fieldExists<K extends keyof T>(field: K, exists?: boolean): this;
99
+ /**
100
+ * 添加正则表达式匹配条件
101
+ * @param field 字段名
102
+ * @param pattern 正则表达式
103
+ * @param options 正则表达式选项
104
+ */
105
+ regex<K extends keyof T>(field: K, pattern: RegExp | string, options?: string): this;
106
+ /**
107
+ * 添加逻辑与条件
108
+ * @param conditions 条件数组
109
+ */
110
+ and(...conditions: QueryFilter<T>[]): this;
111
+ /**
112
+ * 添加逻辑或条件
113
+ * @param conditions 条件数组
114
+ */
115
+ or(...conditions: QueryFilter<T>[]): this;
116
+ /**
117
+ * 添加逻辑非条件
118
+ * @param condition 条件
119
+ */
120
+ not(condition: QueryFilter<T>): this;
121
+ /**
122
+ * 设置排序条件
123
+ * @param field 字段名
124
+ * @param direction 排序方向
125
+ */
126
+ sortBy<K extends keyof T>(field: K, direction?: SortDirection): this;
127
+ /**
128
+ * 升序排序
129
+ * @param field 字段名
130
+ */
131
+ asc<K extends keyof T>(field: K): this;
132
+ /**
133
+ * 降序排序
134
+ * @param field 字段名
135
+ */
136
+ desc<K extends keyof T>(field: K): this;
137
+ /**
138
+ * 设置跳过记录数
139
+ * @param count 跳过的记录数
140
+ */
141
+ skip(count: number): this;
142
+ /**
143
+ * 设置返回记录数限制
144
+ * @param count 最大返回记录数
145
+ */
146
+ limit(count: number): this;
147
+ /**
148
+ * 设置返回的字段
149
+ * @param fields 字段列表
150
+ */
151
+ select<K extends keyof T>(...fields: K[]): this;
152
+ /**
153
+ * 获取或创建字段条件对象
154
+ */
155
+ private getOrCreateFieldCondition;
156
+ /**
157
+ * 执行查询并返回所有匹配的文档
158
+ */
159
+ toArray(): FindResult<T>;
160
+ /**
161
+ * 执行查询并返回第一条匹配的文档
162
+ */
163
+ first(): T | null;
164
+ /**
165
+ * 执行查询并返回最后一条匹配的文档
166
+ */
167
+ last(): T | null;
168
+ /**
169
+ * 统计匹配的文档数量
170
+ */
171
+ count(): number;
172
+ /**
173
+ * 检查是否存在匹配的文档
174
+ */
175
+ hasMatch(): boolean;
176
+ /**
177
+ * 执行查询
178
+ */
179
+ private execute;
180
+ /**
181
+ * 使用索引执行查询
182
+ */
183
+ private executeWithIndex;
184
+ /**
185
+ * 使用全表扫描执行查询
186
+ */
187
+ private executeWithScan;
188
+ /**
189
+ * 应用排序
190
+ */
191
+ private applySort;
192
+ /**
193
+ * 比较两个值
194
+ */
195
+ private compareValues;
196
+ /**
197
+ * 应用投影
198
+ */
199
+ private applyProjection;
200
+ /**
201
+ * 获取当前查询条件
202
+ */
203
+ getFilter(): QueryFilter<T>;
204
+ /**
205
+ * 获取当前排序条件
206
+ */
207
+ getSort(): SortCondition<T>;
208
+ /**
209
+ * 获取当前跳过值
210
+ */
211
+ getSkip(): number;
212
+ /**
213
+ * 获取当前限制值
214
+ */
215
+ getLimit(): number;
216
+ /**
217
+ * 重置查询构建器
218
+ */
219
+ reset(): this;
220
+ /**
221
+ * 克隆查询构建器
222
+ */
223
+ clone(): QueryBuilder<T>;
224
+ }
225
+ //# sourceMappingURL=QueryBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../src/collection/QueryBuilder.ts"],"names":[],"mappings":"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"}