@seedprotocol/query 0.7.9-next.1177.ga3e08ed → 0.7.9-next.1189.g5e63267
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/README.md +3 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/assembleSeeds.d.ts.map +1 -1
- package/dist/cache/CacheManager.d.ts +12 -0
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/config.d.ts +1 -0
- package/dist/cache/config.d.ts.map +1 -1
- package/dist/cache/types.d.ts +5 -0
- package/dist/cache/types.d.ts.map +1 -1
- package/dist/changelog.d.ts +2 -0
- package/dist/changelog.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.js +1 -1
- package/dist/{src-C3XmoANA.js → src-BnsF-Zyi.js} +278 -245
- package/dist/src-BnsF-Zyi.js.map +1 -0
- package/dist/types-BjCYpItx.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/src-C3XmoANA.js.map +0 -1
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import { o as e, r as t, t as n } from "./types-BjCYpItx.js";
|
|
2
2
|
import { BaseArweaveClient as r, isKnownArweaveGatewayHostname as i, readArweaveContentResponse as a } from "@seedprotocol/arweave";
|
|
3
|
-
import { EasClient as o, GET_SEEDS_LEAN as s, decodeEasNumber as c, getAttestationChangesSince as l, getItemPropertiesFromEas as u, getItemVersionsFromEas as d, getSeedsBySchemaName as f, getSeedsByUidsFromEas as p,
|
|
4
|
-
import
|
|
3
|
+
import { EasClient as o, GET_SEEDS_LEAN as s, decodeEasNumber as c, getAttestationChangesSince as l, getItemPropertiesFromEas as u, getItemVersionsFromEas as d, getSeedsBySchemaName as f, getSeedsByUidsFromEas as p, isEasEmptyValue as m, isNumericEasType as h, keepAttestationsFromRefAttester as g, pickLatestPropertyAttestationsByRefAndSchema as _, setSchemaUidForSchemaDefinition as v, withExcludeRevokedFilter as y } from "@seedprotocol/eas";
|
|
4
|
+
import b from "pluralize";
|
|
5
5
|
import { sha256 as ee } from "@noble/hashes/sha256";
|
|
6
6
|
import { bytesToHex as te, utf8ToBytes as ne } from "@noble/hashes/utils";
|
|
7
7
|
//#region src/arweaveUrl.ts
|
|
8
|
-
function
|
|
8
|
+
function x(e) {
|
|
9
9
|
return `https://${r.getHost()}/${e}`;
|
|
10
10
|
}
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/listRelationKey.ts
|
|
13
13
|
var re = /^(.+?)([A-Z][a-zA-Z]+)Ids$/;
|
|
14
|
-
function
|
|
14
|
+
function S(e) {
|
|
15
15
|
let t = re.exec(e);
|
|
16
16
|
if (t) {
|
|
17
17
|
let e = t[1];
|
|
18
|
-
if (e) return
|
|
18
|
+
if (e) return b(e);
|
|
19
19
|
}
|
|
20
20
|
if (e.endsWith("_ids")) {
|
|
21
21
|
let t = e.slice(0, -4), n = t.split("_").filter(Boolean);
|
|
22
22
|
if (n.length >= 2) {
|
|
23
23
|
let e = n[0];
|
|
24
|
-
return e.endsWith("s") ? e :
|
|
24
|
+
return e.endsWith("s") ? e : b(e);
|
|
25
25
|
}
|
|
26
|
-
return
|
|
26
|
+
return b(t);
|
|
27
27
|
}
|
|
28
28
|
return e;
|
|
29
29
|
}
|
|
30
30
|
function ie(e, t) {
|
|
31
|
-
for (let n of Object.keys(e)) n !== t &&
|
|
31
|
+
for (let n of Object.keys(e)) n !== t && S(n) === t && delete e[n];
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function C(e) {
|
|
34
34
|
if (Array.isArray(e) || typeof e != "string") return e;
|
|
35
35
|
let t = e.trim();
|
|
36
36
|
if (!t.startsWith("[")) return e;
|
|
@@ -42,49 +42,49 @@ function S(e) {
|
|
|
42
42
|
}
|
|
43
43
|
//#endregion
|
|
44
44
|
//#region src/imageRelationEnrichment.ts
|
|
45
|
-
function
|
|
45
|
+
function w(e) {
|
|
46
46
|
let t = e.storageTransactionId ?? e.storage_transaction_id;
|
|
47
47
|
if (t && typeof t == "string" && t.trim()) try {
|
|
48
|
-
e.arweaveUrl =
|
|
48
|
+
e.arweaveUrl = x(t.trim());
|
|
49
49
|
} catch {}
|
|
50
50
|
}
|
|
51
|
-
var ae =
|
|
51
|
+
var ae = w, T = /* @__PURE__ */ new Set([
|
|
52
52
|
"html",
|
|
53
53
|
"file",
|
|
54
54
|
"json"
|
|
55
|
-
]), oe =
|
|
56
|
-
function
|
|
55
|
+
]), oe = T, se = "_feedFieldStorageModels", ce = "_feedListElementStorageModels";
|
|
56
|
+
function E(e) {
|
|
57
57
|
return e.trim().toLowerCase();
|
|
58
58
|
}
|
|
59
|
-
function
|
|
60
|
-
return
|
|
59
|
+
function D(e) {
|
|
60
|
+
return T.has(E(e));
|
|
61
61
|
}
|
|
62
|
-
var le =
|
|
62
|
+
var le = D;
|
|
63
63
|
function ue(e) {
|
|
64
|
-
let t =
|
|
64
|
+
let t = E(e);
|
|
65
65
|
return t === "html" ? 0 : t === "file" ? 1 : t === "json" ? 2 : 99;
|
|
66
66
|
}
|
|
67
67
|
var de = ue;
|
|
68
|
-
function
|
|
68
|
+
function O(e) {
|
|
69
69
|
let t = e[se];
|
|
70
70
|
if (typeof t == "object" && t && !Array.isArray(t)) return t;
|
|
71
71
|
}
|
|
72
|
-
var fe =
|
|
73
|
-
function
|
|
72
|
+
var fe = O;
|
|
73
|
+
function k(e) {
|
|
74
74
|
let t = e[ce];
|
|
75
75
|
if (typeof t == "object" && t && !Array.isArray(t)) return t;
|
|
76
76
|
}
|
|
77
|
-
var pe =
|
|
78
|
-
function
|
|
79
|
-
let r =
|
|
77
|
+
var pe = k;
|
|
78
|
+
function A(e, t, n) {
|
|
79
|
+
let r = E(n), i = O(e);
|
|
80
80
|
i || (i = {}, e[se] = i), i[t] = r;
|
|
81
81
|
}
|
|
82
|
-
var me =
|
|
83
|
-
function
|
|
84
|
-
let r =
|
|
85
|
-
r || (r = {}, e[ce] = r), r[t] = n.map(
|
|
82
|
+
var me = A;
|
|
83
|
+
function j(e, t, n) {
|
|
84
|
+
let r = k(e);
|
|
85
|
+
r || (r = {}, e[ce] = r), r[t] = n.map(E);
|
|
86
86
|
}
|
|
87
|
-
var he =
|
|
87
|
+
var he = j, ge = [
|
|
88
88
|
"html",
|
|
89
89
|
"Html",
|
|
90
90
|
"body",
|
|
@@ -123,28 +123,28 @@ async function ye(e, t) {
|
|
|
123
123
|
return null;
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
-
var be = 32e6,
|
|
126
|
+
var be = 32e6, M = /* @__PURE__ */ new Map(), N = 0, P = /* @__PURE__ */ new Map();
|
|
127
127
|
function xe() {
|
|
128
|
-
|
|
128
|
+
M.clear(), N = 0, P.clear();
|
|
129
129
|
}
|
|
130
130
|
function Se(e, t) {
|
|
131
131
|
if (!(t.length > be)) {
|
|
132
|
-
|
|
133
|
-
for (let [e, t] of
|
|
134
|
-
if (
|
|
135
|
-
|
|
132
|
+
M.set(e, t), N += t.length;
|
|
133
|
+
for (let [e, t] of M) {
|
|
134
|
+
if (N <= be) break;
|
|
135
|
+
M.delete(e), N -= t.length;
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
async function Ce(e) {
|
|
140
|
-
let t = new URL(e.trim()).pathname.replace(/^\//, ""), n =
|
|
141
|
-
if (n !== void 0) return
|
|
142
|
-
let r =
|
|
140
|
+
let t = new URL(e.trim()).pathname.replace(/^\//, ""), n = M.get(t);
|
|
141
|
+
if (n !== void 0) return M.delete(t), M.set(t, n), n;
|
|
142
|
+
let r = P.get(t);
|
|
143
143
|
if (r) return r;
|
|
144
|
-
let i = ye(e, t).then((e) => (e !== null &&
|
|
145
|
-
|
|
144
|
+
let i = ye(e, t).then((e) => (e !== null && P.get(t) === i && Se(t, e), e)).finally(() => {
|
|
145
|
+
P.get(t) === i && P.delete(t);
|
|
146
146
|
});
|
|
147
|
-
return
|
|
147
|
+
return P.set(t, i), i;
|
|
148
148
|
}
|
|
149
149
|
async function we(e, t, n) {
|
|
150
150
|
if (n) try {
|
|
@@ -163,11 +163,11 @@ async function Ee(e, t) {
|
|
|
163
163
|
for (; n < e.length;) await e[n++]();
|
|
164
164
|
}));
|
|
165
165
|
}
|
|
166
|
-
async function
|
|
166
|
+
async function De(e, t) {
|
|
167
167
|
let n = t?.readStorageBody, r = [];
|
|
168
168
|
for (let t of e) {
|
|
169
|
-
let e = /* @__PURE__ */ new Set([...ge]), i =
|
|
170
|
-
if (i) for (let [t, n] of Object.entries(i))
|
|
169
|
+
let e = /* @__PURE__ */ new Set([...ge]), i = O(t);
|
|
170
|
+
if (i) for (let [t, n] of Object.entries(i)) D(n) && e.add(t);
|
|
171
171
|
for (let i of e) {
|
|
172
172
|
let e = t[i];
|
|
173
173
|
typeof e == "string" && e.trim() !== "" && r.push(async () => {
|
|
@@ -175,13 +175,13 @@ async function P(e, t) {
|
|
|
175
175
|
r !== null && (t[i] = r);
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
|
-
let a =
|
|
178
|
+
let a = k(t);
|
|
179
179
|
if (a) for (let [e, i] of Object.entries(a)) {
|
|
180
180
|
let a = t[e];
|
|
181
181
|
if (!Array.isArray(a)) continue;
|
|
182
182
|
let o = Math.min(i.length, a.length);
|
|
183
183
|
for (let t = 0; t < o; t++) {
|
|
184
|
-
if (!
|
|
184
|
+
if (!D(i[t])) continue;
|
|
185
185
|
let o = a[t];
|
|
186
186
|
typeof o == "string" && r.push(async () => {
|
|
187
187
|
let r = await we(e, o, n);
|
|
@@ -192,7 +192,7 @@ async function P(e, t) {
|
|
|
192
192
|
}
|
|
193
193
|
await Ee(r, Te);
|
|
194
194
|
}
|
|
195
|
-
var
|
|
195
|
+
var Oe = De;
|
|
196
196
|
//#endregion
|
|
197
197
|
//#region src/parseEasPropertyMetadata.ts
|
|
198
198
|
function F(e) {
|
|
@@ -219,29 +219,29 @@ function F(e) {
|
|
|
219
219
|
metadata: n[0].value
|
|
220
220
|
};
|
|
221
221
|
}
|
|
222
|
-
var
|
|
222
|
+
var ke = F;
|
|
223
223
|
//#endregion
|
|
224
224
|
//#region src/parseEasRelationPropertyName.ts
|
|
225
|
-
function
|
|
225
|
+
function Ae(e) {
|
|
226
226
|
let [t, n, r] = e.split("_");
|
|
227
227
|
if (!t || !n) return null;
|
|
228
228
|
let i = r === "ids";
|
|
229
229
|
return {
|
|
230
|
-
propertyName: i ? t.endsWith("s") ? t :
|
|
230
|
+
propertyName: i ? t.endsWith("s") ? t : b(t) : t,
|
|
231
231
|
modelName: n,
|
|
232
232
|
isList: i
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
235
|
//#endregion
|
|
236
236
|
//#region src/source/remote.ts
|
|
237
|
-
function
|
|
237
|
+
function je(e, t) {
|
|
238
238
|
let n = new Date(e, t - 1, 1), r = new Date(e, t, 0, 23, 59, 59);
|
|
239
239
|
return {
|
|
240
240
|
startTs: Math.floor(n.getTime() / 1e3),
|
|
241
241
|
endTs: Math.floor(r.getTime() / 1e3) + 1
|
|
242
242
|
};
|
|
243
243
|
}
|
|
244
|
-
function
|
|
244
|
+
function Me() {
|
|
245
245
|
return {
|
|
246
246
|
kind: "remote",
|
|
247
247
|
async getSeedByUid(e) {
|
|
@@ -255,7 +255,7 @@ function Ae() {
|
|
|
255
255
|
return await f(e, n.limit, n.skip, { uidPrefix: t });
|
|
256
256
|
},
|
|
257
257
|
async listSeedsBySchemaNameForMonth(e, t, n) {
|
|
258
|
-
let { startTs: r, endTs: i } =
|
|
258
|
+
let { startTs: r, endTs: i } = je(t, n), a = y({ AND: [{ schema: { is: { schemaNames: { some: { name: { equals: e } } } } } }, { timeCreated: {
|
|
259
259
|
gte: r,
|
|
260
260
|
lt: i
|
|
261
261
|
} }] }), { itemSeeds: c } = await o.getEasClient().request(s, {
|
|
@@ -288,13 +288,13 @@ function Ae() {
|
|
|
288
288
|
}
|
|
289
289
|
};
|
|
290
290
|
}
|
|
291
|
-
var
|
|
292
|
-
function
|
|
293
|
-
return
|
|
291
|
+
var Ne = null;
|
|
292
|
+
function I() {
|
|
293
|
+
return Ne ||= Me(), Ne;
|
|
294
294
|
}
|
|
295
295
|
//#endregion
|
|
296
296
|
//#region src/assembleSeeds.ts
|
|
297
|
-
var
|
|
297
|
+
var L = "image", R = ["0x0000000000000000000000000000000000000000000000000000000000000020"], Pe = /* @__PURE__ */ new Set([
|
|
298
298
|
"seedUid",
|
|
299
299
|
"SeedUid",
|
|
300
300
|
"timeCreated",
|
|
@@ -305,8 +305,8 @@ var R = "image", z = ["0x0000000000000000000000000000000000000000000000000000000
|
|
|
305
305
|
"storageTransactionId",
|
|
306
306
|
"storageProviderTransactionId",
|
|
307
307
|
"versionUid"
|
|
308
|
-
]),
|
|
309
|
-
function
|
|
308
|
+
]), z = (e) => e.replace(/_([a-z])/g, (e, t) => t.toUpperCase());
|
|
309
|
+
function Fe() {
|
|
310
310
|
return {
|
|
311
311
|
seedUidToModelType: /* @__PURE__ */ new Map(),
|
|
312
312
|
relatedSeedUids: /* @__PURE__ */ new Set(),
|
|
@@ -319,7 +319,7 @@ function Ne() {
|
|
|
319
319
|
requestedSeedUids: /* @__PURE__ */ new Set()
|
|
320
320
|
};
|
|
321
321
|
}
|
|
322
|
-
function
|
|
322
|
+
function B(e) {
|
|
323
323
|
let t = [];
|
|
324
324
|
for (let n of e.requestedSeedUids) {
|
|
325
325
|
let r = e.assembledItems.get(n);
|
|
@@ -327,17 +327,17 @@ function V(e) {
|
|
|
327
327
|
}
|
|
328
328
|
return t;
|
|
329
329
|
}
|
|
330
|
-
function
|
|
330
|
+
function V(e, t) {
|
|
331
331
|
!e.seedUid && !e.SeedUid ? (e.seedUid = t, e.SeedUid = t) : e.seedUid && !e.SeedUid ? e.SeedUid = e.seedUid : e.SeedUid && !e.seedUid && (e.seedUid = e.SeedUid), e.attester && !e.Attester ? e.Attester = e.attester : e.Attester && !e.attester && (e.attester = e.Attester);
|
|
332
332
|
}
|
|
333
|
-
function
|
|
333
|
+
function Ie(e, t, n) {
|
|
334
334
|
e.relatedSeedUids.add(n);
|
|
335
335
|
let r = e.versionUidToSeedUid.get(t.refUID);
|
|
336
336
|
if (!r) return;
|
|
337
337
|
let i = e.relatedSeedUidsBySeedUid.get(r) ?? /* @__PURE__ */ new Set();
|
|
338
338
|
i.add(n), e.relatedSeedUidsBySeedUid.set(r, i);
|
|
339
339
|
}
|
|
340
|
-
async function
|
|
340
|
+
async function Le(e, t) {
|
|
341
341
|
let n = F(t.decodedDataJson);
|
|
342
342
|
if (!n.ok) {
|
|
343
343
|
let { id: e, refUID: r, schemaId: i } = t;
|
|
@@ -347,43 +347,45 @@ async function Fe(e, t) {
|
|
|
347
347
|
let r = n.metadata, i = r.name;
|
|
348
348
|
if (!i) return;
|
|
349
349
|
let a = t.schemaId;
|
|
350
|
-
|
|
350
|
+
v({
|
|
351
351
|
text: i,
|
|
352
352
|
schemaUid: a
|
|
353
353
|
});
|
|
354
|
-
let o = !1, s = !1, l = r.type
|
|
354
|
+
let o = !1, s = !1, l = r.type;
|
|
355
|
+
if (m(l, r.value)) return;
|
|
356
|
+
let u = (l === "bytes32" || l === "bytes32[]") && i !== "storage_transaction_id" && i !== "storage_provider_transaction_id", d = !u && (i.endsWith("_id") || i.endsWith("_ids")) && i !== "storage_transaction_id" && i !== "storage_provider_transaction_id";
|
|
355
357
|
if (u || d) {
|
|
356
358
|
if (o = !0, Array.isArray(r.value)) {
|
|
357
359
|
if (s = !0, d) {
|
|
358
|
-
let e =
|
|
360
|
+
let e = Ae(i);
|
|
359
361
|
e && (i = e.propertyName);
|
|
360
362
|
}
|
|
361
363
|
r.value.forEach((n) => {
|
|
362
|
-
|
|
364
|
+
R.includes(n) || Ie(e, t, n);
|
|
363
365
|
});
|
|
364
|
-
} else
|
|
366
|
+
} else R.includes(r.value) || Ie(e, t, r.value);
|
|
365
367
|
}
|
|
366
368
|
let f = r.value;
|
|
367
|
-
o && s && Array.isArray(f) ? f = f.map((e) => String(e)) : typeof f != "string" && (f = (
|
|
369
|
+
o && s && Array.isArray(f) ? f = f.map((e) => String(e)) : typeof f != "string" && (f = (h(l) ? c(f) : void 0) ?? JSON.stringify(f));
|
|
368
370
|
let p = e.versionUidToSeedUid.get(t.refUID);
|
|
369
371
|
if (!p) return;
|
|
370
|
-
let
|
|
371
|
-
|
|
372
|
-
let
|
|
373
|
-
|
|
372
|
+
let g = e.assembledItems.get(p) || {};
|
|
373
|
+
g[i] = f;
|
|
374
|
+
let _ = z(i);
|
|
375
|
+
_ !== i && (g[_] = f), e.assembledItems.set(p, g);
|
|
374
376
|
}
|
|
375
|
-
function
|
|
377
|
+
function Re(e) {
|
|
376
378
|
let t = /* @__PURE__ */ new Map();
|
|
377
379
|
for (let [n, r] of e) (r.versionUid !== void 0 || r.asOf !== void 0) && t.set(n.toLowerCase(), r);
|
|
378
380
|
return t;
|
|
379
381
|
}
|
|
380
|
-
function
|
|
382
|
+
function ze(e, t) {
|
|
381
383
|
let n = t.asOf, r = n === void 0 ? e : e.filter((e) => e.timeCreated <= n);
|
|
382
384
|
if (t.versionUid === void 0) return [...r].sort((e, t) => t.timeCreated - e.timeCreated)[0];
|
|
383
385
|
let i = t.versionUid.toLowerCase();
|
|
384
386
|
return r.find((e) => e.id.toLowerCase() === i);
|
|
385
387
|
}
|
|
386
|
-
async function
|
|
388
|
+
async function Be(e, t, n, r = {}) {
|
|
387
389
|
let i = [];
|
|
388
390
|
for (let n = 0; n < t.length; n++) {
|
|
389
391
|
let r = t[n];
|
|
@@ -397,7 +399,7 @@ async function Re(e, t, n, r = {}) {
|
|
|
397
399
|
});
|
|
398
400
|
}
|
|
399
401
|
if (i.length === 0) return;
|
|
400
|
-
let a = new Set(i), o = r.versions ? r.versions.filter((e) => a.has(e.refUID)) : await n.getVersionsForSeeds(i, { includeRevoked: !0 }), s =
|
|
402
|
+
let a = new Set(i), o = r.versions ? r.versions.filter((e) => a.has(e.refUID)) : await n.getVersionsForSeeds(i, { includeRevoked: !0 }), s = g(o, t), c = s.filter((e) => e.revoked !== !0);
|
|
401
403
|
if (r.dropSeedsWithOnlyRevokedVersions) {
|
|
402
404
|
let t = new Set(c.map((e) => e.refUID));
|
|
403
405
|
for (let n of s) {
|
|
@@ -415,7 +417,7 @@ async function Re(e, t, n, r = {}) {
|
|
|
415
417
|
for (let t of i) {
|
|
416
418
|
let n = r.pins?.get(t.toLowerCase());
|
|
417
419
|
if (!n) continue;
|
|
418
|
-
let i =
|
|
420
|
+
let i = ze(e.versionsBySeedUid.get(t) ?? [], n);
|
|
419
421
|
i ? (l.push(i.id), e.latestVersionUidsBySeedUid.set(t, i.id), n.asOf !== void 0 && u.set(i.id, n.asOf)) : (e.assembledItems.delete(t), e.seedUidToModelType.delete(t), e.versionsBySeedUid.delete(t), e.droppedSeedUids.add(t));
|
|
420
422
|
}
|
|
421
423
|
for (let [t, n] of e.versionsBySeedUid.entries()) {
|
|
@@ -424,61 +426,61 @@ async function Re(e, t, n, r = {}) {
|
|
|
424
426
|
r && (l.push(r.id), e.latestVersionUidsBySeedUid.set(t, r.id));
|
|
425
427
|
}
|
|
426
428
|
if (l.length === 0) return;
|
|
427
|
-
let d =
|
|
429
|
+
let d = g(await n.getPropertiesForVersionUids(l), c).filter((e) => {
|
|
428
430
|
let t = u.get(e.refUID);
|
|
429
431
|
return t === void 0 || e.timeCreated <= t;
|
|
430
|
-
}), f =
|
|
431
|
-
for (let t = 0; t < f.length; t++) await
|
|
432
|
+
}), f = _(d);
|
|
433
|
+
for (let t = 0; t < f.length; t++) await Le(e, f[t]);
|
|
432
434
|
}
|
|
433
|
-
function
|
|
434
|
-
for (let [, t] of
|
|
435
|
-
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !
|
|
435
|
+
function Ve(e) {
|
|
436
|
+
for (let [, t] of B(e)) {
|
|
437
|
+
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !Pe.has(e));
|
|
436
438
|
for (let r of n) {
|
|
437
|
-
let n = t[r], i =
|
|
439
|
+
let n = t[r], i = C(n);
|
|
438
440
|
if (i !== n && Array.isArray(i) && (t[r] = i, n = i), Array.isArray(n)) {
|
|
439
441
|
let i = n;
|
|
440
|
-
if (!i.some((t) => typeof t == "string" && !
|
|
442
|
+
if (!i.some((t) => typeof t == "string" && !R.includes(t) && e.assembledItems.has(t))) continue;
|
|
441
443
|
let a = [], o = [], s = !1;
|
|
442
444
|
for (let t of i) {
|
|
443
|
-
if (typeof t != "string" ||
|
|
445
|
+
if (typeof t != "string" || R.includes(t)) {
|
|
444
446
|
a.push(String(t)), o.push("unknown");
|
|
445
447
|
continue;
|
|
446
448
|
}
|
|
447
449
|
let n = e.seedUidToModelType.get(t) ?? "unknown";
|
|
448
|
-
if (n ===
|
|
449
|
-
a.push(t), o.push(
|
|
450
|
+
if (n === L) {
|
|
451
|
+
a.push(t), o.push(L);
|
|
450
452
|
continue;
|
|
451
453
|
}
|
|
452
454
|
let r = e.assembledItems.get(t), i = r?.storageTransactionId ?? r?.storage_transaction_id;
|
|
453
455
|
if (i && typeof i == "string" && i.trim()) try {
|
|
454
|
-
a.push(
|
|
456
|
+
a.push(x(i)), o.push(n), s = !0;
|
|
455
457
|
} catch {
|
|
456
458
|
a.push(t), o.push(n);
|
|
457
459
|
}
|
|
458
460
|
else a.push(t), o.push(n);
|
|
459
461
|
}
|
|
460
462
|
if (s) {
|
|
461
|
-
let e =
|
|
462
|
-
if (t[e] = a,
|
|
463
|
+
let e = S(r);
|
|
464
|
+
if (t[e] = a, j(t, e, o), ie(t, e), e !== r) {
|
|
463
465
|
delete t[r];
|
|
464
|
-
let e =
|
|
466
|
+
let e = z(r);
|
|
465
467
|
e !== r && delete t[e];
|
|
466
468
|
}
|
|
467
469
|
}
|
|
468
470
|
} else if (typeof n == "string") {
|
|
469
|
-
if (
|
|
471
|
+
if (R.includes(n) || !e.assembledItems.has(n)) continue;
|
|
470
472
|
let i = e.assembledItems.get(n);
|
|
471
|
-
if (e.seedUidToModelType.get(n) ===
|
|
473
|
+
if (e.seedUidToModelType.get(n) === L) continue;
|
|
472
474
|
let a = i?.storageTransactionId ?? i?.storage_transaction_id;
|
|
473
475
|
if (a && typeof a == "string" && a.trim()) try {
|
|
474
476
|
let i = r.endsWith("_id") ? r.replace(/_id$/, "") : r;
|
|
475
|
-
t[i] =
|
|
477
|
+
t[i] = x(a);
|
|
476
478
|
let o = e.seedUidToModelType.get(n) ?? "unknown";
|
|
477
|
-
|
|
478
|
-
let s =
|
|
479
|
-
if (s !== i &&
|
|
479
|
+
A(t, i, o);
|
|
480
|
+
let s = z(i);
|
|
481
|
+
if (s !== i && A(t, s, o), i !== r) {
|
|
480
482
|
delete t[r];
|
|
481
|
-
let e =
|
|
483
|
+
let e = z(r);
|
|
482
484
|
e !== r && delete t[e];
|
|
483
485
|
}
|
|
484
486
|
} catch {}
|
|
@@ -486,15 +488,15 @@ function ze(e) {
|
|
|
486
488
|
}
|
|
487
489
|
}
|
|
488
490
|
}
|
|
489
|
-
function
|
|
490
|
-
for (let [, t] of
|
|
491
|
-
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !
|
|
491
|
+
function He(e) {
|
|
492
|
+
for (let [, t] of B(e)) {
|
|
493
|
+
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !Pe.has(e));
|
|
492
494
|
for (let r of n) {
|
|
493
|
-
let n = t[r], i =
|
|
495
|
+
let n = t[r], i = C(n);
|
|
494
496
|
i !== n && Array.isArray(i) && (t[r] = i, n = i);
|
|
495
497
|
let a = Array.isArray(n), o = a ? n : [n], s = [], c = !1;
|
|
496
498
|
for (let t of o) {
|
|
497
|
-
if (typeof t != "string" ||
|
|
499
|
+
if (typeof t != "string" || R.includes(t)) {
|
|
498
500
|
s.push(t);
|
|
499
501
|
continue;
|
|
500
502
|
}
|
|
@@ -504,9 +506,9 @@ function Be(e) {
|
|
|
504
506
|
continue;
|
|
505
507
|
}
|
|
506
508
|
let r = n?.storageTransactionId ?? n?.storage_transaction_id;
|
|
507
|
-
if (e.seedUidToModelType.get(t) ===
|
|
509
|
+
if (e.seedUidToModelType.get(t) === L) {
|
|
508
510
|
let e = { ...n };
|
|
509
|
-
|
|
511
|
+
V(e, t), e.schemaName = L, w(e), s.push(e), c = !0;
|
|
510
512
|
continue;
|
|
511
513
|
}
|
|
512
514
|
if (r && typeof r == "string" && r.trim()) {
|
|
@@ -514,23 +516,23 @@ function Be(e) {
|
|
|
514
516
|
continue;
|
|
515
517
|
}
|
|
516
518
|
let i = { ...n };
|
|
517
|
-
|
|
519
|
+
V(i, t), s.push(i), c = !0;
|
|
518
520
|
}
|
|
519
521
|
if (c) {
|
|
520
|
-
let e = a ?
|
|
522
|
+
let e = a ? S(r) : r.endsWith("_id") ? r.replace(/_id$/, "") : r;
|
|
521
523
|
if (t[e] = a ? s : s[0], ie(t, e), e !== r) {
|
|
522
524
|
delete t[r];
|
|
523
|
-
let e =
|
|
525
|
+
let e = z(r);
|
|
524
526
|
e !== r && delete t[e];
|
|
525
527
|
}
|
|
526
528
|
}
|
|
527
529
|
}
|
|
528
530
|
}
|
|
529
531
|
}
|
|
530
|
-
function
|
|
531
|
-
return
|
|
532
|
+
function Ue(e, t) {
|
|
533
|
+
return B(e).map(([n, r]) => {
|
|
532
534
|
let i = e.latestVersionUidsBySeedUid.get(n) ?? "";
|
|
533
|
-
i && (r.versionUid = i),
|
|
535
|
+
i && (r.versionUid = i), V(r, n);
|
|
534
536
|
let a = typeof r.timeCreated == "number" ? r.timeCreated : 0, o = typeof r.attester == "string" ? r.attester : typeof r.Attester == "string" ? r.Attester : void 0;
|
|
535
537
|
return {
|
|
536
538
|
seedUid: n,
|
|
@@ -542,48 +544,48 @@ function Ve(e, t) {
|
|
|
542
544
|
};
|
|
543
545
|
});
|
|
544
546
|
}
|
|
545
|
-
function
|
|
547
|
+
function We(e, t, n) {
|
|
546
548
|
let r = [t, ...n ? e.relatedSeedUidsBySeedUid.get(t) ?? [] : []], i = r.map((t) => e.latestVersionUidsBySeedUid.get(t)).filter((e) => !!e);
|
|
547
549
|
return {
|
|
548
550
|
refUIDs: [...r, ...i],
|
|
549
551
|
ids: r
|
|
550
552
|
};
|
|
551
553
|
}
|
|
552
|
-
async function
|
|
553
|
-
return
|
|
554
|
+
async function H(e, t, n, r = I(), i) {
|
|
555
|
+
return U(t, n, r, {
|
|
554
556
|
schemaName: e,
|
|
555
557
|
versions: i?.versions
|
|
556
558
|
});
|
|
557
559
|
}
|
|
558
|
-
async function
|
|
559
|
-
let a = t(n), o = n?.hydrateStorage !== !1, s =
|
|
560
|
+
async function U(e, n, r, i = {}) {
|
|
561
|
+
let a = t(n), o = n?.hydrateStorage !== !1, s = Fe();
|
|
560
562
|
for (let t of e) t && s.requestedSeedUids.add(t.id);
|
|
561
|
-
await
|
|
563
|
+
await Be(s, e, r, {
|
|
562
564
|
dropSeedsWithOnlyRevokedVersions: !0,
|
|
563
565
|
versions: i.versions,
|
|
564
|
-
pins: i.pins &&
|
|
566
|
+
pins: i.pins && Re(i.pins)
|
|
565
567
|
});
|
|
566
568
|
let c = Array.from(s.relatedSeedUids).filter((e) => !s.assembledItems.has(e) && !s.droppedSeedUids.has(e));
|
|
567
569
|
if (a !== "uids" && c.length > 0) {
|
|
568
570
|
let [e, t] = await Promise.all([r.getSeedsByUids(c), r.getVersionsForSeeds(c, { includeRevoked: !0 })]);
|
|
569
|
-
await
|
|
571
|
+
await Be(s, e, r, { versions: t });
|
|
570
572
|
}
|
|
571
|
-
a !== "uids" &&
|
|
572
|
-
let l =
|
|
573
|
-
o && await
|
|
573
|
+
a !== "uids" && Ve(s), a === "expand" && He(s);
|
|
574
|
+
let l = Ue(s, i.schemaName);
|
|
575
|
+
o && await De(l.map((e) => e.data), r.readStorageBody ? { readStorageBody: r.readStorageBody.bind(r) } : void 0);
|
|
574
576
|
let u = a !== "uids";
|
|
575
577
|
return {
|
|
576
578
|
records: l,
|
|
577
|
-
dependencies: new Map(l.map((e) => [e.seedUid,
|
|
579
|
+
dependencies: new Map(l.map((e) => [e.seedUid, We(s, e.seedUid, u)]))
|
|
578
580
|
};
|
|
579
581
|
}
|
|
580
|
-
async function
|
|
581
|
-
return (await
|
|
582
|
+
async function Ge(e, t, n, r = I()) {
|
|
583
|
+
return (await H(e, t, n, r)).records;
|
|
582
584
|
}
|
|
583
585
|
//#endregion
|
|
584
586
|
//#region src/changelog.ts
|
|
585
|
-
var
|
|
586
|
-
function
|
|
587
|
+
var Ke = (e) => e.replace(/_([a-z])/g, (e, t) => t.toUpperCase());
|
|
588
|
+
function W(e, t) {
|
|
587
589
|
if (Object.is(e, t)) return !0;
|
|
588
590
|
if (e === void 0 || t === void 0) return !1;
|
|
589
591
|
if (e === null || t === null) return e === t;
|
|
@@ -601,23 +603,24 @@ function qe(e) {
|
|
|
601
603
|
if (!r) return null;
|
|
602
604
|
let i = n.type, a = (i === "bytes32" || i === "bytes32[]") && r !== "storage_transaction_id" && r !== "storage_provider_transaction_id", o = !a && (r.endsWith("_id") || r.endsWith("_ids")) && r !== "storage_transaction_id" && r !== "storage_provider_transaction_id", s = !1, l = !1;
|
|
603
605
|
if ((a || o) && (s = !0, Array.isArray(n.value) && (l = !0, o))) {
|
|
604
|
-
let e =
|
|
606
|
+
let e = Ae(r);
|
|
605
607
|
e?.isList && (r = e.propertyName);
|
|
606
608
|
}
|
|
607
609
|
let u = n.value;
|
|
608
|
-
s && l && Array.isArray(u) ? u = u.map((e) => String(e)) : typeof u != "string" && (u = (
|
|
609
|
-
let d =
|
|
610
|
+
s && l && Array.isArray(u) ? u = u.map((e) => String(e)) : typeof u != "string" && (u = (h(i) ? c(u) : void 0) ?? JSON.stringify(u));
|
|
611
|
+
let d = Ke(r);
|
|
610
612
|
return {
|
|
611
613
|
propertyName: r,
|
|
612
614
|
value: u,
|
|
613
|
-
camelName: d === r ? void 0 : d
|
|
615
|
+
camelName: d === r ? void 0 : d,
|
|
616
|
+
...m(i, n.value) && { removed: !0 }
|
|
614
617
|
};
|
|
615
618
|
}
|
|
616
619
|
function Je(e) {
|
|
617
620
|
let t = {};
|
|
618
621
|
for (let n of e) {
|
|
619
622
|
let e = qe(n);
|
|
620
|
-
e && (t[e.propertyName] = e.value, e.camelName && (t[e.camelName] = e.value));
|
|
623
|
+
e && !e.removed && (t[e.propertyName] = e.value, e.camelName && (t[e.camelName] = e.value));
|
|
621
624
|
}
|
|
622
625
|
return t;
|
|
623
626
|
}
|
|
@@ -625,7 +628,7 @@ function Ye(e) {
|
|
|
625
628
|
let t = [], n = {};
|
|
626
629
|
for (let r of e) {
|
|
627
630
|
let e = r.data, i = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(e)]), a = [];
|
|
628
|
-
for (let t of i)
|
|
631
|
+
for (let t of i) W(n[t], e[t]) || a.push(t);
|
|
629
632
|
a.sort(), t.push({
|
|
630
633
|
type: "version",
|
|
631
634
|
at: r.at,
|
|
@@ -644,8 +647,8 @@ function Xe(e) {
|
|
|
644
647
|
if (!t) continue;
|
|
645
648
|
let i = [t.propertyName];
|
|
646
649
|
t.camelName && i.push(t.camelName);
|
|
647
|
-
let a = n.has(t.propertyName) ? n.get(t.propertyName) : void 0, o = t.value;
|
|
648
|
-
|
|
650
|
+
let a = n.has(t.propertyName) ? n.get(t.propertyName) : void 0, o = t.removed ? void 0 : t.value;
|
|
651
|
+
W(a, o) || r.push({
|
|
649
652
|
type: "property",
|
|
650
653
|
at: e.timeCreated,
|
|
651
654
|
versionUid: e.refUID,
|
|
@@ -667,13 +670,13 @@ function Ze(e, t) {
|
|
|
667
670
|
}
|
|
668
671
|
//#endregion
|
|
669
672
|
//#region src/assembleChangelog.ts
|
|
670
|
-
async function Qe(e, t, n =
|
|
671
|
-
let r = t?.changelog ?? {}, i = r.granularity ?? "version", [a, o] = await Promise.all([n.getSeedByUid(e), n.getVersionsForSeed(e)]), s = [...
|
|
673
|
+
async function Qe(e, t, n = I()) {
|
|
674
|
+
let r = t?.changelog ?? {}, i = r.granularity ?? "version", [a, o] = await Promise.all([n.getSeedByUid(e), n.getVersionsForSeed(e)]), s = [...g(o, a ? [a] : [])].sort((e, t) => e.timeCreated - t.timeCreated);
|
|
672
675
|
if (s.length === 0) return {
|
|
673
676
|
latestVersionUid: "",
|
|
674
677
|
changelog: []
|
|
675
678
|
};
|
|
676
|
-
let c = s[s.length - 1].id, l = s.map((e) => e.id), u =
|
|
679
|
+
let c = s[s.length - 1].id, l = s.map((e) => e.id), u = g(await n.getPropertiesForVersionUids(l), s), d;
|
|
677
680
|
if (i === "property") d = Xe(u);
|
|
678
681
|
else {
|
|
679
682
|
let e = /* @__PURE__ */ new Map();
|
|
@@ -683,7 +686,7 @@ async function Qe(e, t, n = L()) {
|
|
|
683
686
|
}
|
|
684
687
|
let t = [];
|
|
685
688
|
for (let n of s) {
|
|
686
|
-
let r = e.get(n.id) ?? [], i =
|
|
689
|
+
let r = e.get(n.id) ?? [], i = _(r);
|
|
687
690
|
t.push({
|
|
688
691
|
versionUid: n.id,
|
|
689
692
|
at: n.timeCreated,
|
|
@@ -722,13 +725,14 @@ function it() {
|
|
|
722
725
|
function at() {
|
|
723
726
|
let e = rt(), t = parseInt(e.CACHE_TTL || "3600", 10), n = e.CACHE_DIR || "./cache", r = e.CACHE_ENABLED === "false" || e.CACHE_ENABLED === "0" || e.CACHE_ENABLED === "no" || e.CACHE_ENABLED === "off", i = e.CACHE_ENABLED === "true" || e.CACHE_ENABLED === "1" || e.CACHE_ENABLED === "yes", a = e.NODE_ENV === "development", o;
|
|
724
727
|
o = r ? !1 : i ? !0 : !a;
|
|
725
|
-
let s = e.CACHE_BACKGROUND_REFRESH === "true", c = parseInt(e.CACHE_REFRESH_INTERVAL || "300", 10);
|
|
728
|
+
let s = e.CACHE_BACKGROUND_REFRESH === "true", c = parseInt(e.CACHE_REFRESH_INTERVAL || "300", 10), l = Math.max(0, parseInt(e.CACHE_MAX_AGE || "0", 10) || 0);
|
|
726
729
|
return {
|
|
727
730
|
ttl: t,
|
|
728
731
|
cacheDir: n,
|
|
729
732
|
enabled: o,
|
|
730
733
|
backgroundRefresh: s,
|
|
731
734
|
refreshInterval: c,
|
|
735
|
+
maxAge: l,
|
|
732
736
|
freezeRecords: it()
|
|
733
737
|
};
|
|
734
738
|
}
|
|
@@ -827,6 +831,7 @@ var ft = class {
|
|
|
827
831
|
memoryCache;
|
|
828
832
|
persistent;
|
|
829
833
|
config;
|
|
834
|
+
collectionChecks = /* @__PURE__ */ new Map();
|
|
830
835
|
stats = {
|
|
831
836
|
hits: 0,
|
|
832
837
|
misses: 0,
|
|
@@ -903,11 +908,24 @@ var ft = class {
|
|
|
903
908
|
async clearItem(e, t) {
|
|
904
909
|
this.memoryCache.clearItem(e, t), await this.persistent?.clearItem(e, t);
|
|
905
910
|
}
|
|
911
|
+
markCollectionChecked(e, t) {
|
|
912
|
+
this.collectionChecks.set(e, {
|
|
913
|
+
at: Date.now(),
|
|
914
|
+
etag: t
|
|
915
|
+
});
|
|
916
|
+
}
|
|
917
|
+
async getCheckedCollection(e, t, n, r) {
|
|
918
|
+
let i = this.collectionChecks.get(e);
|
|
919
|
+
if (!i || Date.now() - i.at >= r * 1e3) return null;
|
|
920
|
+
let a = await this.getCollection(t, n);
|
|
921
|
+
return a?.etag === i.etag ? a : null;
|
|
922
|
+
}
|
|
906
923
|
async clearCollection(e) {
|
|
924
|
+
for (let t of this.collectionChecks.keys()) t.startsWith(`${e}\n`) && this.collectionChecks.delete(t);
|
|
907
925
|
this.memoryCache.clearCollection(e), await this.persistent?.clearCollection(e);
|
|
908
926
|
}
|
|
909
927
|
async clearAll() {
|
|
910
|
-
this.memoryCache.clearAll(), await this.persistent?.clearAll();
|
|
928
|
+
this.collectionChecks.clear(), this.memoryCache.clearAll(), await this.persistent?.clearAll();
|
|
911
929
|
}
|
|
912
930
|
async withRefreshLock(e, t) {
|
|
913
931
|
return this.memoryCache.withRefreshLock(e, t);
|
|
@@ -936,7 +954,7 @@ var ft = class {
|
|
|
936
954
|
};
|
|
937
955
|
}
|
|
938
956
|
}, pt = null;
|
|
939
|
-
function
|
|
957
|
+
function G() {
|
|
940
958
|
return pt ||= new ft(at()), pt;
|
|
941
959
|
}
|
|
942
960
|
function mt() {
|
|
@@ -948,16 +966,16 @@ function ht(e, t) {
|
|
|
948
966
|
...e
|
|
949
967
|
}, t);
|
|
950
968
|
}
|
|
951
|
-
function
|
|
969
|
+
function K() {
|
|
952
970
|
return Math.floor(Date.now() / 1e3);
|
|
953
971
|
}
|
|
954
|
-
function
|
|
972
|
+
function q(e) {
|
|
955
973
|
return e - 600;
|
|
956
974
|
}
|
|
957
975
|
function gt(e, t) {
|
|
958
|
-
return
|
|
976
|
+
return q(t) - e.checkedAt > 600;
|
|
959
977
|
}
|
|
960
|
-
var
|
|
978
|
+
var J = (e) => `${e.id}:${e.revocationTime}`;
|
|
961
979
|
async function _t(e, t, n) {
|
|
962
980
|
if (!e.listChangesSince) return null;
|
|
963
981
|
if (t.size === 0) return {
|
|
@@ -977,13 +995,13 @@ async function _t(e, t, n) {
|
|
|
977
995
|
ids: [...i.keys()],
|
|
978
996
|
since: n.checkedAt
|
|
979
997
|
}), s = new Set(n.seenChangeKeys), c = /* @__PURE__ */ new Set();
|
|
980
|
-
for (let e of o) if (!s.has(
|
|
998
|
+
for (let e of o) if (!s.has(J(e))) {
|
|
981
999
|
for (let t of r.get(e.refUID) ?? []) c.add(t);
|
|
982
1000
|
for (let t of i.get(e.id) ?? []) c.add(t);
|
|
983
1001
|
}
|
|
984
1002
|
return {
|
|
985
1003
|
changed: c,
|
|
986
|
-
seenChangeKeys: o.map(
|
|
1004
|
+
seenChangeKeys: o.map(J)
|
|
987
1005
|
};
|
|
988
1006
|
}
|
|
989
1007
|
async function vt(e, t) {
|
|
@@ -1006,7 +1024,7 @@ async function vt(e, t) {
|
|
|
1006
1024
|
});
|
|
1007
1025
|
for (let [e, i] of t) {
|
|
1008
1026
|
let t = new Set(i.dependencies.refUIDs), a = new Set(i.dependencies.ids), o = new Set(i.seenChangeKeys), c = [];
|
|
1009
|
-
for (let r of s) r.timeCreated <= i.checkedAt && r.revocationTime <= i.checkedAt || (t.has(r.refUID) || a.has(r.id)) && (c.push(
|
|
1027
|
+
for (let r of s) r.timeCreated <= i.checkedAt && r.revocationTime <= i.checkedAt || (t.has(r.refUID) || a.has(r.id)) && (c.push(J(r)), o.has(J(r)) || n.add(e));
|
|
1010
1028
|
r.set(e, c);
|
|
1011
1029
|
}
|
|
1012
1030
|
return {
|
|
@@ -1016,26 +1034,26 @@ async function vt(e, t) {
|
|
|
1016
1034
|
}
|
|
1017
1035
|
//#endregion
|
|
1018
1036
|
//#region src/source/registry.ts
|
|
1019
|
-
var
|
|
1037
|
+
var Y = null;
|
|
1020
1038
|
function yt(e) {
|
|
1021
1039
|
if (e.kind !== "local") throw Error("[query] registerLocalQuerySource expects a source with kind: \"local\"");
|
|
1022
|
-
|
|
1040
|
+
Y = e;
|
|
1023
1041
|
}
|
|
1024
1042
|
function bt() {
|
|
1025
|
-
|
|
1043
|
+
Y = null;
|
|
1026
1044
|
}
|
|
1027
1045
|
function xt() {
|
|
1028
|
-
return
|
|
1046
|
+
return Y;
|
|
1029
1047
|
}
|
|
1030
1048
|
function St() {
|
|
1031
|
-
return
|
|
1049
|
+
return Y != null;
|
|
1032
1050
|
}
|
|
1033
1051
|
//#endregion
|
|
1034
1052
|
//#region src/source/resolve.ts
|
|
1035
|
-
function
|
|
1053
|
+
function X(e = "remote") {
|
|
1036
1054
|
if (e === "remote") return {
|
|
1037
1055
|
mode: "remote",
|
|
1038
|
-
dataSource:
|
|
1056
|
+
dataSource: I(),
|
|
1039
1057
|
useQueryCache: !0
|
|
1040
1058
|
};
|
|
1041
1059
|
let t = xt();
|
|
@@ -1053,21 +1071,21 @@ function Y(e = "remote") {
|
|
|
1053
1071
|
useQueryCache: !1
|
|
1054
1072
|
} : {
|
|
1055
1073
|
mode: "auto",
|
|
1056
|
-
dataSource:
|
|
1074
|
+
dataSource: I(),
|
|
1057
1075
|
useQueryCache: !0
|
|
1058
1076
|
};
|
|
1059
1077
|
}
|
|
1060
|
-
function
|
|
1078
|
+
function Z(e) {
|
|
1061
1079
|
return e ?? "remote";
|
|
1062
1080
|
}
|
|
1063
1081
|
//#endregion
|
|
1064
1082
|
//#region src/api.ts
|
|
1065
|
-
var
|
|
1083
|
+
var Q = {
|
|
1066
1084
|
refUIDs: [],
|
|
1067
1085
|
ids: []
|
|
1068
1086
|
};
|
|
1069
|
-
function
|
|
1070
|
-
return !t || e?.cache === !1 ? !1 :
|
|
1087
|
+
function $(e, t) {
|
|
1088
|
+
return !t || e?.cache === !1 ? !1 : G().enabled;
|
|
1071
1089
|
}
|
|
1072
1090
|
function Ct(e) {
|
|
1073
1091
|
return e === "data+changelog" || e === "changelog";
|
|
@@ -1076,7 +1094,7 @@ function wt(e) {
|
|
|
1076
1094
|
return e !== "changelog";
|
|
1077
1095
|
}
|
|
1078
1096
|
async function Tt(e, t, n, r, i) {
|
|
1079
|
-
return
|
|
1097
|
+
return H(e, await i.listSeedsBySchemaName(e, {
|
|
1080
1098
|
limit: t,
|
|
1081
1099
|
skip: n
|
|
1082
1100
|
}), r, i);
|
|
@@ -1093,142 +1111,157 @@ async function Et(e, t, n) {
|
|
|
1093
1111
|
dataSource: t,
|
|
1094
1112
|
useQueryCache: !1
|
|
1095
1113
|
};
|
|
1096
|
-
let i =
|
|
1114
|
+
let i = I();
|
|
1097
1115
|
return {
|
|
1098
1116
|
assembled: await n(i),
|
|
1099
1117
|
dataSource: i,
|
|
1100
1118
|
useQueryCache: !0
|
|
1101
1119
|
};
|
|
1102
1120
|
}
|
|
1103
|
-
async function
|
|
1104
|
-
await
|
|
1121
|
+
async function Dt(e, t, n, r = []) {
|
|
1122
|
+
await G().writeThroughItems(e.records.map((i) => ({
|
|
1105
1123
|
record: i,
|
|
1106
1124
|
optionsKey: t,
|
|
1107
|
-
dependencies: e.dependencies.get(i.seedUid) ??
|
|
1108
|
-
checkedAt:
|
|
1125
|
+
dependencies: e.dependencies.get(i.seedUid) ?? Q,
|
|
1126
|
+
checkedAt: q(n),
|
|
1109
1127
|
seenChangeKeys: r,
|
|
1110
1128
|
lastUpdated: n
|
|
1111
1129
|
})));
|
|
1112
1130
|
}
|
|
1113
|
-
|
|
1114
|
-
let
|
|
1131
|
+
function Ot(e) {
|
|
1132
|
+
let t = /* @__PURE__ */ new Map();
|
|
1133
|
+
for (let n of e.items) {
|
|
1134
|
+
let r = e.meta[n.seedUid]?.dependencies ?? Q;
|
|
1135
|
+
t.set(n.seedUid, {
|
|
1136
|
+
refUIDs: r.refUIDs,
|
|
1137
|
+
ids: r.ids.filter((e) => e !== n.seedUid)
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
return t;
|
|
1141
|
+
}
|
|
1142
|
+
async function kt(e, t, n, r, i) {
|
|
1143
|
+
let a = G(), o = K(), s = await a.getCollection(e, r), c = s ? Ot(s) : void 0, [l, u] = await Promise.all([i.listSeedsBySchemaName(e, {
|
|
1115
1144
|
limit: t,
|
|
1116
1145
|
skip: 0
|
|
1117
|
-
}),
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
for (let t of c) {
|
|
1121
|
-
let n = s.meta[t.id];
|
|
1122
|
-
l.has(t.id) && e.set(t.id, n?.dependencies ?? Z);
|
|
1123
|
-
}
|
|
1124
|
-
let t = await _t(i, e, s);
|
|
1125
|
-
t ? (u = t.changed, d = t.seenChangeKeys) : u = new Set(e.keys());
|
|
1126
|
-
}
|
|
1127
|
-
let f = c.filter((e) => !l.has(e.id) || u.has(e.id)), p = f.length > 0 ? await U(e, f, n, i) : {
|
|
1146
|
+
}), s && c ? _t(i, c, s) : void 0]), d = new Map(s?.items.map((e) => [e.seedUid, e]) ?? []), f = /* @__PURE__ */ new Set(), p = [];
|
|
1147
|
+
s && c && (u ? (f = u.changed, p = u.seenChangeKeys) : f = new Set(c.keys()));
|
|
1148
|
+
let m = l.filter((e) => !d.has(e.id) || f.has(e.id)), h = m.length > 0 ? await H(e, m, n, i) : {
|
|
1128
1149
|
records: [],
|
|
1129
1150
|
dependencies: /* @__PURE__ */ new Map()
|
|
1130
|
-
},
|
|
1131
|
-
for (let e of
|
|
1132
|
-
let t =
|
|
1133
|
-
t ? (
|
|
1134
|
-
dependencies:
|
|
1151
|
+
}, g = new Map(h.records.map((e) => [e.seedUid, e])), _ = [], v = {};
|
|
1152
|
+
for (let e of l) {
|
|
1153
|
+
let t = g.get(e.id);
|
|
1154
|
+
t ? (_.push(t), v[e.id] = {
|
|
1155
|
+
dependencies: h.dependencies.get(e.id) ?? Q,
|
|
1135
1156
|
builtAt: o
|
|
1136
|
-
}) : s && !
|
|
1137
|
-
dependencies:
|
|
1157
|
+
}) : s && !f.has(e.id) && d.has(e.id) && (_.push(d.get(e.id)), v[e.id] = s.meta[e.id] ?? {
|
|
1158
|
+
dependencies: Q,
|
|
1138
1159
|
builtAt: o
|
|
1139
1160
|
});
|
|
1140
1161
|
}
|
|
1141
|
-
let
|
|
1142
|
-
if (s &&
|
|
1143
|
-
items:
|
|
1162
|
+
let y = !!s && h.records.length === 0 && _.length === s.items.length && _.every((e, t) => e === s.items[t]);
|
|
1163
|
+
if (s && y && !gt(s, o)) return {
|
|
1164
|
+
items: _,
|
|
1144
1165
|
limit: t,
|
|
1145
1166
|
skip: 0,
|
|
1146
1167
|
etag: s.etag
|
|
1147
1168
|
};
|
|
1148
1169
|
s && a.recordRefresh();
|
|
1149
|
-
let
|
|
1150
|
-
items:
|
|
1151
|
-
meta:
|
|
1152
|
-
checkedAt:
|
|
1153
|
-
seenChangeKeys:
|
|
1170
|
+
let b = await a.setCollection(e, r, {
|
|
1171
|
+
items: _,
|
|
1172
|
+
meta: v,
|
|
1173
|
+
checkedAt: q(o),
|
|
1174
|
+
seenChangeKeys: p,
|
|
1154
1175
|
lastUpdated: s?.lastUpdated ?? o
|
|
1155
1176
|
});
|
|
1156
|
-
return await
|
|
1157
|
-
items:
|
|
1177
|
+
return await Dt(h, r, o, p), {
|
|
1178
|
+
items: b ? [...b.items] : _,
|
|
1158
1179
|
limit: t,
|
|
1159
1180
|
skip: 0,
|
|
1160
|
-
etag:
|
|
1181
|
+
etag: b?.etag
|
|
1161
1182
|
};
|
|
1162
1183
|
}
|
|
1163
|
-
var
|
|
1164
|
-
function
|
|
1184
|
+
var At = 4;
|
|
1185
|
+
function jt(e) {
|
|
1165
1186
|
let t = e.trim().toLowerCase().replace(/^0x/, "");
|
|
1166
|
-
return t.length <
|
|
1187
|
+
return t.length < At || t.length > 64 || !/^[0-9a-f]+$/.test(t) ? null : `0x${t}`;
|
|
1167
1188
|
}
|
|
1168
|
-
async function
|
|
1189
|
+
async function Mt(t, r) {
|
|
1169
1190
|
await e();
|
|
1170
|
-
let i = r?.limit ?? 100, a = r?.skip ?? 0, o =
|
|
1171
|
-
if (r?.uidPrefix !== void 0 && (l =
|
|
1191
|
+
let i = r?.limit ?? 100, a = r?.skip ?? 0, o = Z(r?.source), s = X(o), c = n(r), l = null;
|
|
1192
|
+
if (r?.uidPrefix !== void 0 && (l = jt(r.uidPrefix), !l)) return {
|
|
1172
1193
|
items: [],
|
|
1173
1194
|
limit: i,
|
|
1174
1195
|
skip: a
|
|
1175
1196
|
};
|
|
1176
|
-
let u = async (e) => l ?
|
|
1197
|
+
let u = async (e) => l ? H(t, await e.listSeedsByUidPrefix(t, l, {
|
|
1177
1198
|
limit: i,
|
|
1178
1199
|
skip: a
|
|
1179
1200
|
}), r, e) : Tt(t, i, a, r, e);
|
|
1180
|
-
if (!l &&
|
|
1181
|
-
let e = `${t}\n${c}\n${i}
|
|
1182
|
-
return
|
|
1201
|
+
if (!l && $(r, s.useQueryCache) && a === 0 && s.dataSource.kind === "remote") {
|
|
1202
|
+
let e = G(), n = `${t}\n${c}\n${i}`, a = r?.maxAge ?? e.getConfig().maxAge ?? 0;
|
|
1203
|
+
return e.withRefreshLock(n, async () => {
|
|
1204
|
+
if (a > 0) {
|
|
1205
|
+
let r = await e.getCheckedCollection(n, t, c, a);
|
|
1206
|
+
if (r) return {
|
|
1207
|
+
items: [...r.items],
|
|
1208
|
+
limit: i,
|
|
1209
|
+
skip: 0,
|
|
1210
|
+
etag: r.etag
|
|
1211
|
+
};
|
|
1212
|
+
}
|
|
1213
|
+
let o = await kt(t, i, r, c, s.dataSource);
|
|
1214
|
+
return o.etag && e.markCollectionChecked(n, o.etag), o;
|
|
1215
|
+
});
|
|
1183
1216
|
}
|
|
1184
|
-
let d =
|
|
1185
|
-
return
|
|
1217
|
+
let d = K(), { assembled: f, dataSource: p, useQueryCache: m } = await Et(o, s.dataSource, (e) => u(e));
|
|
1218
|
+
return $(r, m) && p.kind === "remote" && await Dt(f, c, d), {
|
|
1186
1219
|
items: f.records,
|
|
1187
1220
|
limit: i,
|
|
1188
1221
|
skip: a
|
|
1189
1222
|
};
|
|
1190
1223
|
}
|
|
1191
|
-
async function
|
|
1192
|
-
let n =
|
|
1224
|
+
async function Nt(e, t) {
|
|
1225
|
+
let n = G(), r = /* @__PURE__ */ new Map();
|
|
1193
1226
|
await Promise.all(e.map(async ({ seedUid: e, optionsKey: t }) => {
|
|
1194
1227
|
let i = await n.getItem(e, t);
|
|
1195
1228
|
i && r.set(e, i);
|
|
1196
1229
|
}));
|
|
1197
1230
|
let i = /* @__PURE__ */ new Map();
|
|
1198
1231
|
if (r.size === 0) return i;
|
|
1199
|
-
let a =
|
|
1232
|
+
let a = K(), o = /* @__PURE__ */ new Map();
|
|
1200
1233
|
for (let [e, t] of r) o.set(e, t);
|
|
1201
1234
|
let s = await vt(t, o);
|
|
1202
1235
|
for (let [e, t] of r) !s || s.changed.has(e) ? await n.clearItem(e, t.optionsKey) : (gt(t, a) && await n.setItem({
|
|
1203
1236
|
...t,
|
|
1204
|
-
checkedAt:
|
|
1237
|
+
checkedAt: q(a),
|
|
1205
1238
|
seenChangeKeys: s.seenChangeKeys.get(e) ?? []
|
|
1206
1239
|
}), i.set(e, t.record));
|
|
1207
1240
|
return i;
|
|
1208
1241
|
}
|
|
1209
|
-
async function
|
|
1210
|
-
return (await
|
|
1242
|
+
async function Pt(e, t, n) {
|
|
1243
|
+
return (await Nt([{
|
|
1211
1244
|
seedUid: e,
|
|
1212
1245
|
optionsKey: t
|
|
1213
1246
|
}], n)).get(e) ?? null;
|
|
1214
1247
|
}
|
|
1215
|
-
function
|
|
1248
|
+
function Ft(e) {
|
|
1216
1249
|
if (e?.versionUid !== void 0 || e?.asOf !== void 0) return {
|
|
1217
1250
|
versionUid: e.versionUid,
|
|
1218
1251
|
asOf: e.asOf
|
|
1219
1252
|
};
|
|
1220
1253
|
}
|
|
1221
|
-
async function
|
|
1254
|
+
async function It(t, r) {
|
|
1222
1255
|
if (await e(), !t || typeof t != "string" || t.trim() === "") return null;
|
|
1223
|
-
let i = t.trim(), a = r?.include ?? "data", o =
|
|
1224
|
-
if (
|
|
1225
|
-
let e = await
|
|
1256
|
+
let i = t.trim(), a = r?.include ?? "data", o = Z(r?.source), s = X(o), c = n(r), l = s.dataSource, u = s.useQueryCache;
|
|
1257
|
+
if ($(r, u) && l.kind === "remote") {
|
|
1258
|
+
let e = await Pt(i, c, l);
|
|
1226
1259
|
if (e) return e;
|
|
1227
1260
|
}
|
|
1228
|
-
let d = (e) => Promise.all([e.getSeedByUid(i), e.getVersionsForSeeds([i], { includeRevoked: !0 })]), f =
|
|
1261
|
+
let d = (e) => Promise.all([e.getSeedByUid(i), e.getVersionsForSeeds([i], { includeRevoked: !0 })]), f = K(), [p, m] = await d(l);
|
|
1229
1262
|
if (!p && o === "auto" && l.kind === "local") {
|
|
1230
|
-
if (l =
|
|
1231
|
-
let e = await
|
|
1263
|
+
if (l = I(), u = !0, $(r, u)) {
|
|
1264
|
+
let e = await Pt(i, c, l);
|
|
1232
1265
|
if (e) return e;
|
|
1233
1266
|
}
|
|
1234
1267
|
[p, m] = await d(l);
|
|
@@ -1239,8 +1272,8 @@ async function Pt(t, r) {
|
|
|
1239
1272
|
let g = null, _ = {
|
|
1240
1273
|
refUIDs: [i],
|
|
1241
1274
|
ids: [i]
|
|
1242
|
-
}, v =
|
|
1243
|
-
let e = await
|
|
1275
|
+
}, v = Ft(r), y = async () => {
|
|
1276
|
+
let e = await U([p], r, l, {
|
|
1244
1277
|
schemaName: h,
|
|
1245
1278
|
versions: m,
|
|
1246
1279
|
pins: v && /* @__PURE__ */ new Map([[i, v]])
|
|
@@ -1271,12 +1304,12 @@ async function Pt(t, r) {
|
|
|
1271
1304
|
ids: _.ids
|
|
1272
1305
|
};
|
|
1273
1306
|
}
|
|
1274
|
-
if (g &&
|
|
1275
|
-
let e = await
|
|
1307
|
+
if (g && $(r, u) && l.kind === "remote") {
|
|
1308
|
+
let e = await G().setItem({
|
|
1276
1309
|
record: g,
|
|
1277
1310
|
optionsKey: c,
|
|
1278
1311
|
dependencies: _,
|
|
1279
|
-
checkedAt:
|
|
1312
|
+
checkedAt: q(f),
|
|
1280
1313
|
seenChangeKeys: [],
|
|
1281
1314
|
lastUpdated: f
|
|
1282
1315
|
});
|
|
@@ -1284,7 +1317,7 @@ async function Pt(t, r) {
|
|
|
1284
1317
|
}
|
|
1285
1318
|
return g;
|
|
1286
1319
|
}
|
|
1287
|
-
async function
|
|
1320
|
+
async function Lt(t, r) {
|
|
1288
1321
|
await e();
|
|
1289
1322
|
let i = /* @__PURE__ */ new Map();
|
|
1290
1323
|
for (let e of t) {
|
|
@@ -1296,16 +1329,16 @@ async function Ft(t, r) {
|
|
|
1296
1329
|
if (a.length === 0) return /* @__PURE__ */ new Map();
|
|
1297
1330
|
let o = /* @__PURE__ */ new Map();
|
|
1298
1331
|
for (let [e, t] of r?.pins ?? []) {
|
|
1299
|
-
let n =
|
|
1332
|
+
let n = Ft(t);
|
|
1300
1333
|
n && o.set(e.trim().toLowerCase(), n);
|
|
1301
1334
|
}
|
|
1302
1335
|
let s = (e) => n({
|
|
1303
1336
|
...r,
|
|
1304
1337
|
...o.get(e)
|
|
1305
|
-
}), c =
|
|
1306
|
-
let i =
|
|
1338
|
+
}), c = Z(r?.source), l = X(c), u = /* @__PURE__ */ new Map(), d = async (e, t, n) => {
|
|
1339
|
+
let i = $(r, t) && e.kind === "remote", a = n;
|
|
1307
1340
|
if (i) {
|
|
1308
|
-
let t = await
|
|
1341
|
+
let t = await Nt(n.map((e) => ({
|
|
1309
1342
|
seedUid: e,
|
|
1310
1343
|
optionsKey: s(e)
|
|
1311
1344
|
})), e);
|
|
@@ -1313,21 +1346,21 @@ async function Ft(t, r) {
|
|
|
1313
1346
|
a = n.filter((e) => !t.has(e));
|
|
1314
1347
|
}
|
|
1315
1348
|
if (a.length === 0) return [];
|
|
1316
|
-
let c =
|
|
1349
|
+
let c = K(), [l, d] = await Promise.all([e.getSeedsByUids(a), e.getVersionsForSeeds(a, { includeRevoked: !0 })]), f = new Map(l.map((e) => [e.id.toLowerCase(), e])), p = a.filter((e) => !f.has(e)), m = await U(a.map((e) => f.get(e)).filter((e) => !!e?.schema?.schemaNames?.[0]?.name), r, e, {
|
|
1317
1350
|
versions: d,
|
|
1318
1351
|
pins: o
|
|
1319
1352
|
});
|
|
1320
1353
|
for (let e of m.records) {
|
|
1321
1354
|
let t = e;
|
|
1322
1355
|
if (i) {
|
|
1323
|
-
let n = await
|
|
1356
|
+
let n = await G().setItem({
|
|
1324
1357
|
record: e,
|
|
1325
1358
|
optionsKey: s(e.seedUid.toLowerCase()),
|
|
1326
1359
|
dependencies: m.dependencies.get(e.seedUid) ?? {
|
|
1327
1360
|
refUIDs: [e.seedUid],
|
|
1328
1361
|
ids: [e.seedUid]
|
|
1329
1362
|
},
|
|
1330
|
-
checkedAt:
|
|
1363
|
+
checkedAt: q(c),
|
|
1331
1364
|
seenChangeKeys: [],
|
|
1332
1365
|
lastUpdated: c
|
|
1333
1366
|
});
|
|
@@ -1337,7 +1370,7 @@ async function Ft(t, r) {
|
|
|
1337
1370
|
}
|
|
1338
1371
|
return p;
|
|
1339
1372
|
}, f = await d(l.dataSource, l.useQueryCache, a);
|
|
1340
|
-
f.length > 0 && c === "auto" && l.dataSource.kind === "local" && await d(
|
|
1373
|
+
f.length > 0 && c === "auto" && l.dataSource.kind === "local" && await d(I(), !0, f);
|
|
1341
1374
|
let p = /* @__PURE__ */ new Map();
|
|
1342
1375
|
for (let [e, t] of i) {
|
|
1343
1376
|
let n = u.get(e);
|
|
@@ -1345,12 +1378,12 @@ async function Ft(t, r) {
|
|
|
1345
1378
|
}
|
|
1346
1379
|
return p;
|
|
1347
1380
|
}
|
|
1348
|
-
async function
|
|
1381
|
+
async function Rt(t, r, i, a) {
|
|
1349
1382
|
await e();
|
|
1350
|
-
let o =
|
|
1351
|
-
return
|
|
1383
|
+
let o = Z(a?.source), s = X(o), c = async (e) => H(t, await e.listSeedsBySchemaNameForMonth(t, r, i), a, e), l = K(), { assembled: u, dataSource: d, useQueryCache: f } = await Et(o, s.dataSource, c);
|
|
1384
|
+
return $(a, f) && d.kind === "remote" && await Dt(u, n(a), l), u.records;
|
|
1352
1385
|
}
|
|
1353
1386
|
//#endregion
|
|
1354
|
-
export {
|
|
1387
|
+
export { C as $, ke as A, O as B, Xe as C, I as D, Me as E, oe as F, me as G, le as H, T as I, j as J, he as K, de as L, De as M, ve as N, Ae as O, xe as P, ie as Q, fe as R, qe as S, Ge as T, D as U, k as V, ue as W, ae as X, w as Y, S as Z, at as _, Rt as a, Je as b, bt as c, yt as d, x as et, ht as f, lt as g, ft as h, Mt as i, Oe as j, F as k, xt as l, mt as m, Lt as n, Z as o, G as p, A as q, jt as r, X as s, It as t, St as u, Qe as v, Ye as w, W as x, Ze as y, pe as z };
|
|
1355
1388
|
|
|
1356
|
-
//# sourceMappingURL=src-
|
|
1389
|
+
//# sourceMappingURL=src-BnsF-Zyi.js.map
|