@ohos-ports/lmdb 2.8.6-beta.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.
- package/LICENSE +21 -0
- package/README.md +580 -0
- package/SECURITY.md +12 -0
- package/bin/download-prebuilds.js +15 -0
- package/binding.gyp +113 -0
- package/build/Release/lmdb.node +0 -0
- package/caching.js +212 -0
- package/dependencies/lmdb/libraries/liblmdb/COPYRIGHT +20 -0
- package/dependencies/lmdb/libraries/liblmdb/Doxyfile +1631 -0
- package/dependencies/lmdb/libraries/liblmdb/LICENSE +47 -0
- package/dependencies/lmdb/libraries/liblmdb/Makefile +136 -0
- package/dependencies/lmdb/libraries/liblmdb/chacha8.c +183 -0
- package/dependencies/lmdb/libraries/liblmdb/chacha8.h +14 -0
- package/dependencies/lmdb/libraries/liblmdb/crypto.c +121 -0
- package/dependencies/lmdb/libraries/liblmdb/intro.doc +192 -0
- package/dependencies/lmdb/libraries/liblmdb/lmdb.h +1817 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb.c +12555 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_copy.1 +74 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_copy.c +106 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_drop.1 +53 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_drop.c +154 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_dump.1 +94 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_dump.c +333 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_load.1 +97 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_load.c +530 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_stat.1 +83 -0
- package/dependencies/lmdb/libraries/liblmdb/mdb_stat.c +276 -0
- package/dependencies/lmdb/libraries/liblmdb/midl-sparse.c +452 -0
- package/dependencies/lmdb/libraries/liblmdb/midl.c +452 -0
- package/dependencies/lmdb/libraries/liblmdb/midl.h +208 -0
- package/dependencies/lmdb/libraries/liblmdb/module.c +101 -0
- package/dependencies/lmdb/libraries/liblmdb/module.h +16 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest.c +178 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest2.c +124 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest3.c +133 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest4.c +168 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest5.c +135 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest6.c +141 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest_enc.c +190 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest_enc2.c +189 -0
- package/dependencies/lmdb/libraries/liblmdb/mtest_remap.c +177 -0
- package/dependencies/lmdb/libraries/liblmdb/sample-bdb.txt +73 -0
- package/dependencies/lmdb/libraries/liblmdb/sample-mdb.txt +62 -0
- package/dependencies/lmdb/libraries/liblmdb/tooltag +27 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/CHANGES +266 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/COPYRIGHT +20 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/Doxyfile +1631 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/LICENSE +47 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/intro.doc +192 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/lmdb.h +1608 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb.c +10320 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_copy.1 +55 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_copy.c +82 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_dump.1 +75 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_dump.c +319 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_load.1 +84 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_load.c +496 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_stat.1 +64 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mdb_stat.c +263 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/midl.c +359 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/midl.h +186 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mtest.c +177 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mtest2.c +124 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mtest3.c +133 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mtest4.c +168 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mtest5.c +135 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/mtest6.c +141 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/sample-bdb.txt +73 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/sample-mdb.txt +62 -0
- package/dependencies/lmdb-data-v1/libraries/liblmdb/tooltag +22 -0
- package/dependencies/lz4/LICENSE +11 -0
- package/dependencies/lz4/lib/LICENSE +24 -0
- package/dependencies/lz4/lib/Makefile +225 -0
- package/dependencies/lz4/lib/README.md +169 -0
- package/dependencies/lz4/lib/dll/example/Makefile +63 -0
- package/dependencies/lz4/lib/dll/example/README.md +69 -0
- package/dependencies/lz4/lib/dll/example/fullbench-dll.sln +25 -0
- package/dependencies/lz4/lib/dll/example/fullbench-dll.vcxproj +182 -0
- package/dependencies/lz4/lib/dll/liblz4.def +62 -0
- package/dependencies/lz4/lib/liblz4-dll.rc.in +35 -0
- package/dependencies/lz4/lib/liblz4.pc.in +14 -0
- package/dependencies/lz4/lib/lz4.c +2722 -0
- package/dependencies/lz4/lib/lz4.h +842 -0
- package/dependencies/lz4/lib/lz4file.c +311 -0
- package/dependencies/lz4/lib/lz4file.h +93 -0
- package/dependencies/lz4/lib/lz4frame.c +2078 -0
- package/dependencies/lz4/lib/lz4frame.h +692 -0
- package/dependencies/lz4/lib/lz4frame_static.h +47 -0
- package/dependencies/lz4/lib/lz4hc.c +1631 -0
- package/dependencies/lz4/lib/lz4hc.h +413 -0
- package/dependencies/lz4/lib/xxhash.c +1030 -0
- package/dependencies/lz4/lib/xxhash.h +328 -0
- package/dependencies/v8/v8-fast-api-calls-v16.h +791 -0
- package/dependencies/v8/v8-fast-api-calls.h +888 -0
- package/dict/dict.txt +1 -0
- package/dict/dict2.txt +1 -0
- package/dist/index.cjs +2950 -0
- package/dist/index.cjs.map +1 -0
- package/index.d.cts +420 -0
- package/index.d.ts +450 -0
- package/index.js +38 -0
- package/keys.js +116 -0
- package/level.js +27 -0
- package/native.js +85 -0
- package/node-index.js +32 -0
- package/open.js +448 -0
- package/package.json +124 -0
- package/read.js +833 -0
- package/rollup.config.js +12 -0
- package/src/compression.cpp +225 -0
- package/src/cursor.cpp +395 -0
- package/src/dbi.cpp +382 -0
- package/src/env.cpp +1030 -0
- package/src/lmdb-js.cpp +64 -0
- package/src/lmdb-js.h +633 -0
- package/src/misc.cpp +593 -0
- package/src/ordered-binary.cpp +46 -0
- package/src/txn.cpp +210 -0
- package/src/v8-functions.cpp +170 -0
- package/src/windows.c +35 -0
- package/src/writer.cpp +537 -0
- package/util/RangeIterable.js +236 -0
- package/util/set-optional-deps.cjs +14 -0
- package/util/when.js +8 -0
- package/write.js +912 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
export const SKIP = {};
|
|
2
|
+
const DONE = {
|
|
3
|
+
value: null,
|
|
4
|
+
done: true,
|
|
5
|
+
}
|
|
6
|
+
if (!Symbol.asyncIterator) {
|
|
7
|
+
Symbol.asyncIterator = Symbol.for('Symbol.asyncIterator');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class RangeIterable {
|
|
11
|
+
constructor(sourceArray) {
|
|
12
|
+
if (sourceArray) {
|
|
13
|
+
this.iterate = sourceArray[Symbol.iterator].bind(sourceArray);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
map(func) {
|
|
17
|
+
let source = this;
|
|
18
|
+
let iterable = new RangeIterable();
|
|
19
|
+
iterable.iterate = (async) => {
|
|
20
|
+
let iterator = source[Symbol.iterator](async);
|
|
21
|
+
let i = 0;
|
|
22
|
+
return {
|
|
23
|
+
next(resolvedResult) {
|
|
24
|
+
let result;
|
|
25
|
+
do {
|
|
26
|
+
let iteratorResult;
|
|
27
|
+
if (resolvedResult) {
|
|
28
|
+
iteratorResult = resolvedResult;
|
|
29
|
+
resolvedResult = null; // don't go in this branch on next iteration
|
|
30
|
+
} else {
|
|
31
|
+
iteratorResult = iterator.next();
|
|
32
|
+
if (iteratorResult.then) {
|
|
33
|
+
return iteratorResult.then(iteratorResult => this.next(iteratorResult));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (iteratorResult.done === true) {
|
|
37
|
+
this.done = true;
|
|
38
|
+
if (iterable.onDone) iterable.onDone();
|
|
39
|
+
return iteratorResult;
|
|
40
|
+
}
|
|
41
|
+
result = func(iteratorResult.value, i++);
|
|
42
|
+
if (result && result.then) {
|
|
43
|
+
return result.then(result =>
|
|
44
|
+
result === SKIP ?
|
|
45
|
+
this.next() :
|
|
46
|
+
{
|
|
47
|
+
value: result
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
} while(result === SKIP);
|
|
51
|
+
if (result === DONE) {
|
|
52
|
+
if (iterable.onDone) iterable.onDone();
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
value: result
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
return() {
|
|
60
|
+
if (iterable.onDone) iterable.onDone();
|
|
61
|
+
return iterator.return();
|
|
62
|
+
},
|
|
63
|
+
throw() {
|
|
64
|
+
if (iterable.onDone) iterable.onDone();
|
|
65
|
+
return iterator.throw();
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
return iterable;
|
|
70
|
+
}
|
|
71
|
+
[Symbol.asyncIterator]() {
|
|
72
|
+
return this.iterator = this.iterate();
|
|
73
|
+
}
|
|
74
|
+
[Symbol.iterator]() {
|
|
75
|
+
return this.iterator = this.iterate();
|
|
76
|
+
}
|
|
77
|
+
filter(func) {
|
|
78
|
+
return this.map(element => {
|
|
79
|
+
let result = func(element);
|
|
80
|
+
// handle promise
|
|
81
|
+
if (result?.then) return result.then((result) => result ? element : SKIP);
|
|
82
|
+
else return result ? element : SKIP;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
forEach(callback) {
|
|
87
|
+
let iterator = this.iterator = this.iterate();
|
|
88
|
+
let result;
|
|
89
|
+
while ((result = iterator.next()).done !== true) {
|
|
90
|
+
callback(result.value);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
concat(secondIterable) {
|
|
94
|
+
let concatIterable = new RangeIterable();
|
|
95
|
+
concatIterable.iterate = (async) => {
|
|
96
|
+
let iterator = this.iterator = this.iterate();
|
|
97
|
+
let isFirst = true;
|
|
98
|
+
function iteratorDone(result) {
|
|
99
|
+
if (isFirst) {
|
|
100
|
+
isFirst = false;
|
|
101
|
+
iterator = secondIterable[Symbol.iterator](async);
|
|
102
|
+
result = iterator.next();
|
|
103
|
+
if (concatIterable.onDone) {
|
|
104
|
+
if (result.then)
|
|
105
|
+
result.then((result) => {
|
|
106
|
+
if (result.done()) concatIterable.onDone();
|
|
107
|
+
});
|
|
108
|
+
else if (result.done) concatIterable.onDone();
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
if (concatIterable.onDone) concatIterable.onDone();
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
next() {
|
|
117
|
+
let result = iterator.next();
|
|
118
|
+
if (result.then)
|
|
119
|
+
return result.then((result) => {
|
|
120
|
+
if (result.done) return iteratorDone(result);
|
|
121
|
+
return result;
|
|
122
|
+
});
|
|
123
|
+
if (result.done) return iteratorDone(result);
|
|
124
|
+
return result;
|
|
125
|
+
},
|
|
126
|
+
return() {
|
|
127
|
+
if (concatIterable.onDone) concatIterable.onDone();
|
|
128
|
+
return iterator.return();
|
|
129
|
+
},
|
|
130
|
+
throw() {
|
|
131
|
+
if (concatIterable.onDone) concatIterable.onDone();
|
|
132
|
+
return iterator.throw();
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
return concatIterable;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
flatMap(callback) {
|
|
140
|
+
let mappedIterable = new RangeIterable();
|
|
141
|
+
mappedIterable.iterate = (async) => {
|
|
142
|
+
let iterator = this.iterator = this.iterate(async);
|
|
143
|
+
let isFirst = true;
|
|
144
|
+
let currentSubIterator;
|
|
145
|
+
return {
|
|
146
|
+
next() {
|
|
147
|
+
do {
|
|
148
|
+
if (currentSubIterator) {
|
|
149
|
+
let result = currentSubIterator.next();
|
|
150
|
+
if (!result.done) {
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
let result = iterator.next();
|
|
155
|
+
if (result.done) {
|
|
156
|
+
if (mappedIterable.onDone) mappedIterable.onDone();
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
let value = callback(result.value);
|
|
160
|
+
if (Array.isArray(value) || value instanceof RangeIterable)
|
|
161
|
+
currentSubIterator = value[Symbol.iterator]();
|
|
162
|
+
else {
|
|
163
|
+
currentSubIterator = null;
|
|
164
|
+
return { value };
|
|
165
|
+
}
|
|
166
|
+
} while(true);
|
|
167
|
+
},
|
|
168
|
+
return() {
|
|
169
|
+
if (mappedIterable.onDone) mappedIterable.onDone();
|
|
170
|
+
if (currentSubIterator)
|
|
171
|
+
currentSubIterator.return();
|
|
172
|
+
return iterator.return();
|
|
173
|
+
},
|
|
174
|
+
throw() {
|
|
175
|
+
if (mappedIterable.onDone) mappedIterable.onDone();
|
|
176
|
+
if (currentSubIterator)
|
|
177
|
+
currentSubIterator.throw();
|
|
178
|
+
return iterator.throw();
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
return mappedIterable;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
slice(start, end) {
|
|
186
|
+
return this.map((element, i) => {
|
|
187
|
+
if (i < start)
|
|
188
|
+
return SKIP;
|
|
189
|
+
if (i >= end) {
|
|
190
|
+
DONE.value = element;
|
|
191
|
+
return DONE;
|
|
192
|
+
}
|
|
193
|
+
return element;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
next() {
|
|
197
|
+
if (!this.iterator)
|
|
198
|
+
this.iterator = this.iterate();
|
|
199
|
+
return this.iterator.next();
|
|
200
|
+
}
|
|
201
|
+
toJSON() {
|
|
202
|
+
if (this.asArray && this.asArray.forEach) {
|
|
203
|
+
return this.asArray;
|
|
204
|
+
}
|
|
205
|
+
throw new Error('Can not serialize async iterables without first calling resolveJSON');
|
|
206
|
+
//return Array.from(this)
|
|
207
|
+
}
|
|
208
|
+
get asArray() {
|
|
209
|
+
if (this._asArray)
|
|
210
|
+
return this._asArray;
|
|
211
|
+
let promise = new Promise((resolve, reject) => {
|
|
212
|
+
let iterator = this.iterate();
|
|
213
|
+
let array = [];
|
|
214
|
+
let iterable = this;
|
|
215
|
+
Object.defineProperty(array, 'iterable', { value: iterable });
|
|
216
|
+
function next(result) {
|
|
217
|
+
while (result.done !== true) {
|
|
218
|
+
if (result.then) {
|
|
219
|
+
return result.then(next);
|
|
220
|
+
} else {
|
|
221
|
+
array.push(result.value);
|
|
222
|
+
}
|
|
223
|
+
result = iterator.next();
|
|
224
|
+
}
|
|
225
|
+
resolve(iterable._asArray = array);
|
|
226
|
+
}
|
|
227
|
+
next(iterator.next());
|
|
228
|
+
});
|
|
229
|
+
promise.iterable = this;
|
|
230
|
+
return this._asArray || (this._asArray = promise);
|
|
231
|
+
}
|
|
232
|
+
resolveData() {
|
|
233
|
+
return this.asArray;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
RangeIterable.prototype.DONE = DONE;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
let fs = require('fs');
|
|
2
|
+
packageData = JSON.parse(fs.readFileSync('package.json'));
|
|
3
|
+
let prebuilds = fs.readdirSync('prebuilds');
|
|
4
|
+
let platformDeps = packageData.optionalDependencies = {};
|
|
5
|
+
let packageName = packageData.name;
|
|
6
|
+
let version = packageData.version;
|
|
7
|
+
for (let prebuild of prebuilds) {
|
|
8
|
+
platformDeps['@' + packageName + '/' + packageName + '-' + prebuild] = version;
|
|
9
|
+
}
|
|
10
|
+
/*if (version.endsWith('-v1')) {
|
|
11
|
+
packageData.version = version.slice(0, -3);
|
|
12
|
+
packageData.name = packageName + '-v1';
|
|
13
|
+
}*/
|
|
14
|
+
fs.writeFileSync('package.json', JSON.stringify(packageData, null, 2));
|