@seedprotocol/query 0.7.8 → 0.7.9-next.1177.ga3e08ed
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 +4 -2
- package/dist/assembleSeeds.d.ts +4 -2
- package/dist/assembleSeeds.d.ts.map +1 -1
- package/dist/cache/types.d.ts +4 -2
- package/dist/cache/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.node.js +5 -5
- package/dist/index.node.js.map +1 -1
- package/dist/node.js +4 -4
- package/dist/node.js.map +1 -1
- package/dist/{registerNodeArweave-rFbHhv2d.js → registerNodeArweave-VGXwzQt4.js} +2 -2
- package/dist/{registerNodeArweave-rFbHhv2d.js.map → registerNodeArweave-VGXwzQt4.js.map} +1 -1
- package/dist/{src-D20xeLMs.js → src-C3XmoANA.js} +251 -249
- package/dist/src-C3XmoANA.js.map +1 -0
- package/dist/{types-BgGzWcrW.js → types-BjCYpItx.js} +22 -12
- package/dist/types-BjCYpItx.js.map +1 -0
- package/dist/types.d.ts +18 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/src-D20xeLMs.js.map +0 -1
- package/dist/types-BgGzWcrW.js.map +0 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseArweaveClient as
|
|
3
|
-
import { EasClient as
|
|
4
|
-
import
|
|
5
|
-
import { sha256 as
|
|
6
|
-
import { bytesToHex as
|
|
1
|
+
import { o as e, r as t, t as n } from "./types-BjCYpItx.js";
|
|
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, isNumericEasType as m, keepAttestationsFromRefAttester as h, pickLatestPropertyAttestationsByRefAndSchema as g, setSchemaUidForSchemaDefinition as _, withExcludeRevokedFilter as v } from "@seedprotocol/eas";
|
|
4
|
+
import y from "pluralize";
|
|
5
|
+
import { sha256 as ee } from "@noble/hashes/sha256";
|
|
6
|
+
import { bytesToHex as te, utf8ToBytes as ne } from "@noble/hashes/utils";
|
|
7
7
|
//#region src/arweaveUrl.ts
|
|
8
8
|
function b(e) {
|
|
9
|
-
return `https://${
|
|
9
|
+
return `https://${r.getHost()}/${e}`;
|
|
10
10
|
}
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/listRelationKey.ts
|
|
13
|
-
var
|
|
13
|
+
var re = /^(.+?)([A-Z][a-zA-Z]+)Ids$/;
|
|
14
14
|
function x(e) {
|
|
15
|
-
let t =
|
|
15
|
+
let t = re.exec(e);
|
|
16
16
|
if (t) {
|
|
17
17
|
let e = t[1];
|
|
18
|
-
if (e) return
|
|
18
|
+
if (e) return y(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 : y(e);
|
|
25
25
|
}
|
|
26
|
-
return
|
|
26
|
+
return y(t);
|
|
27
27
|
}
|
|
28
28
|
return e;
|
|
29
29
|
}
|
|
30
|
-
function
|
|
30
|
+
function ie(e, t) {
|
|
31
31
|
for (let n of Object.keys(e)) n !== t && x(n) === t && delete e[n];
|
|
32
32
|
}
|
|
33
33
|
function S(e) {
|
|
@@ -48,43 +48,43 @@ function C(e) {
|
|
|
48
48
|
e.arweaveUrl = b(t.trim());
|
|
49
49
|
} catch {}
|
|
50
50
|
}
|
|
51
|
-
var
|
|
51
|
+
var ae = C, w = /* @__PURE__ */ new Set([
|
|
52
52
|
"html",
|
|
53
53
|
"file",
|
|
54
54
|
"json"
|
|
55
|
-
]),
|
|
55
|
+
]), oe = w, se = "_feedFieldStorageModels", ce = "_feedListElementStorageModels";
|
|
56
56
|
function T(e) {
|
|
57
57
|
return e.trim().toLowerCase();
|
|
58
58
|
}
|
|
59
59
|
function E(e) {
|
|
60
60
|
return w.has(T(e));
|
|
61
61
|
}
|
|
62
|
-
var
|
|
63
|
-
function
|
|
62
|
+
var le = E;
|
|
63
|
+
function ue(e) {
|
|
64
64
|
let t = T(e);
|
|
65
65
|
return t === "html" ? 0 : t === "file" ? 1 : t === "json" ? 2 : 99;
|
|
66
66
|
}
|
|
67
|
-
var
|
|
67
|
+
var de = ue;
|
|
68
68
|
function D(e) {
|
|
69
|
-
let t = e[
|
|
69
|
+
let t = e[se];
|
|
70
70
|
if (typeof t == "object" && t && !Array.isArray(t)) return t;
|
|
71
71
|
}
|
|
72
|
-
var
|
|
72
|
+
var fe = D;
|
|
73
73
|
function O(e) {
|
|
74
|
-
let t = e[
|
|
74
|
+
let t = e[ce];
|
|
75
75
|
if (typeof t == "object" && t && !Array.isArray(t)) return t;
|
|
76
76
|
}
|
|
77
|
-
var
|
|
77
|
+
var pe = O;
|
|
78
78
|
function k(e, t, n) {
|
|
79
79
|
let r = T(n), i = D(e);
|
|
80
|
-
i || (i = {}, e[
|
|
80
|
+
i || (i = {}, e[se] = i), i[t] = r;
|
|
81
81
|
}
|
|
82
|
-
var
|
|
83
|
-
function
|
|
82
|
+
var me = k;
|
|
83
|
+
function A(e, t, n) {
|
|
84
84
|
let r = O(e);
|
|
85
|
-
r || (r = {}, e[
|
|
85
|
+
r || (r = {}, e[ce] = r), r[t] = n.map(T);
|
|
86
86
|
}
|
|
87
|
-
var he =
|
|
87
|
+
var he = A, ge = [
|
|
88
88
|
"html",
|
|
89
89
|
"Html",
|
|
90
90
|
"body",
|
|
@@ -96,8 +96,8 @@ function ve(e) {
|
|
|
96
96
|
let t = e.trim();
|
|
97
97
|
if (!t.startsWith("http://") && !t.startsWith("https://")) return !1;
|
|
98
98
|
try {
|
|
99
|
-
let e = new URL(t),
|
|
100
|
-
if (
|
|
99
|
+
let e = new URL(t), n = e.hostname.toLowerCase();
|
|
100
|
+
if (n !== r.getHost().toLowerCase() && !i(n)) return !1;
|
|
101
101
|
let a = e.pathname.replace(/^\//, "").split("/").filter(Boolean);
|
|
102
102
|
if (a.length !== 1) return !1;
|
|
103
103
|
let o = a[0];
|
|
@@ -115,36 +115,36 @@ async function ye(e, t) {
|
|
|
115
115
|
if (!n.ok) return null;
|
|
116
116
|
let r = n.headers.get("content-type") ?? "";
|
|
117
117
|
if (/^(image|video|audio)\//i.test(r)) return null;
|
|
118
|
-
let { bytes:
|
|
119
|
-
if (
|
|
120
|
-
let o = new TextDecoder("utf-8", { fatal: !1 }).decode(
|
|
118
|
+
let { bytes: i } = await a(n, { transactionId: t });
|
|
119
|
+
if (i.byteLength > _e) return null;
|
|
120
|
+
let o = new TextDecoder("utf-8", { fatal: !1 }).decode(i);
|
|
121
121
|
return o.length === 0 || o.includes("\0") ? null : o;
|
|
122
122
|
} catch {
|
|
123
123
|
return null;
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
-
var be = 32e6,
|
|
126
|
+
var be = 32e6, j = /* @__PURE__ */ new Map(), M = 0, N = /* @__PURE__ */ new Map();
|
|
127
127
|
function xe() {
|
|
128
|
-
|
|
128
|
+
j.clear(), M = 0, N.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
|
+
j.set(e, t), M += t.length;
|
|
133
|
+
for (let [e, t] of j) {
|
|
134
|
+
if (M <= be) break;
|
|
135
|
+
j.delete(e), M -= 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 = j.get(t);
|
|
141
|
+
if (n !== void 0) return j.delete(t), j.set(t, n), n;
|
|
142
|
+
let r = N.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 && N.get(t) === i && Se(t, e), e)).finally(() => {
|
|
145
|
+
N.get(t) === i && N.delete(t);
|
|
146
146
|
});
|
|
147
|
-
return
|
|
147
|
+
return N.set(t, i), i;
|
|
148
148
|
}
|
|
149
149
|
async function we(e, t, n) {
|
|
150
150
|
if (n) try {
|
|
@@ -163,7 +163,7 @@ async function Ee(e, t) {
|
|
|
163
163
|
for (; n < e.length;) await e[n++]();
|
|
164
164
|
}));
|
|
165
165
|
}
|
|
166
|
-
async function
|
|
166
|
+
async function P(e, t) {
|
|
167
167
|
let n = t?.readStorageBody, r = [];
|
|
168
168
|
for (let t of e) {
|
|
169
169
|
let e = /* @__PURE__ */ new Set([...ge]), i = D(t);
|
|
@@ -192,10 +192,10 @@ async function N(e, t) {
|
|
|
192
192
|
}
|
|
193
193
|
await Ee(r, Te);
|
|
194
194
|
}
|
|
195
|
-
var De =
|
|
195
|
+
var De = P;
|
|
196
196
|
//#endregion
|
|
197
197
|
//#region src/parseEasPropertyMetadata.ts
|
|
198
|
-
function
|
|
198
|
+
function F(e) {
|
|
199
199
|
let t = typeof e == "string" ? e.trim() : "";
|
|
200
200
|
if (!t) return {
|
|
201
201
|
ok: !1,
|
|
@@ -219,15 +219,15 @@ function P(e) {
|
|
|
219
219
|
metadata: n[0].value
|
|
220
220
|
};
|
|
221
221
|
}
|
|
222
|
-
var Oe =
|
|
222
|
+
var Oe = F;
|
|
223
223
|
//#endregion
|
|
224
224
|
//#region src/parseEasRelationPropertyName.ts
|
|
225
|
-
function
|
|
225
|
+
function I(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 : y(t) : t,
|
|
231
231
|
modelName: n,
|
|
232
232
|
isList: i
|
|
233
233
|
};
|
|
@@ -245,21 +245,21 @@ function Ae() {
|
|
|
245
245
|
return {
|
|
246
246
|
kind: "remote",
|
|
247
247
|
async getSeedByUid(e) {
|
|
248
|
-
let [t] = await
|
|
248
|
+
let [t] = await p({ uids: [e] });
|
|
249
249
|
return t ?? null;
|
|
250
250
|
},
|
|
251
251
|
async listSeedsBySchemaName(e, t) {
|
|
252
|
-
return await
|
|
252
|
+
return await f(e, t.limit, t.skip);
|
|
253
253
|
},
|
|
254
254
|
async listSeedsByUidPrefix(e, t, n) {
|
|
255
|
-
return await
|
|
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 } = ke(t, n),
|
|
258
|
+
let { startTs: r, endTs: i } = ke(t, n), a = v({ AND: [{ schema: { is: { schemaNames: { some: { name: { equals: e } } } } } }, { timeCreated: {
|
|
259
259
|
gte: r,
|
|
260
260
|
lt: i
|
|
261
|
-
} }] }), { itemSeeds: c } = await
|
|
262
|
-
where:
|
|
261
|
+
} }] }), { itemSeeds: c } = await o.getEasClient().request(s, {
|
|
262
|
+
where: a,
|
|
263
263
|
take: 1e3,
|
|
264
264
|
skip: 0
|
|
265
265
|
});
|
|
@@ -269,32 +269,32 @@ function Ae() {
|
|
|
269
269
|
}));
|
|
270
270
|
},
|
|
271
271
|
async getVersionsForSeed(e) {
|
|
272
|
-
return await
|
|
272
|
+
return await d({ seedUids: [e] });
|
|
273
273
|
},
|
|
274
274
|
async getVersionsForSeeds(e, t) {
|
|
275
|
-
return e.length === 0 ? [] : await
|
|
275
|
+
return e.length === 0 ? [] : await d({
|
|
276
276
|
seedUids: e,
|
|
277
277
|
excludeRevoked: !t?.includeRevoked
|
|
278
278
|
});
|
|
279
279
|
},
|
|
280
280
|
async getPropertiesForVersionUids(e) {
|
|
281
|
-
return e.length === 0 ? [] : await
|
|
281
|
+
return e.length === 0 ? [] : await u({ versionUids: e });
|
|
282
282
|
},
|
|
283
283
|
async getSeedsByUids(e) {
|
|
284
|
-
return e.length === 0 ? [] : await
|
|
284
|
+
return e.length === 0 ? [] : await p({ uids: e });
|
|
285
285
|
},
|
|
286
286
|
async listChangesSince(e) {
|
|
287
|
-
return
|
|
287
|
+
return l(e);
|
|
288
288
|
}
|
|
289
289
|
};
|
|
290
290
|
}
|
|
291
291
|
var je = null;
|
|
292
|
-
function
|
|
292
|
+
function L() {
|
|
293
293
|
return je ||= Ae(), je;
|
|
294
294
|
}
|
|
295
295
|
//#endregion
|
|
296
296
|
//#region src/assembleSeeds.ts
|
|
297
|
-
var
|
|
297
|
+
var R = "image", z = ["0x0000000000000000000000000000000000000000000000000000000000000020"], Me = /* @__PURE__ */ new Set([
|
|
298
298
|
"seedUid",
|
|
299
299
|
"SeedUid",
|
|
300
300
|
"timeCreated",
|
|
@@ -305,7 +305,7 @@ var L = "image", R = ["0x0000000000000000000000000000000000000000000000000000000
|
|
|
305
305
|
"storageTransactionId",
|
|
306
306
|
"storageProviderTransactionId",
|
|
307
307
|
"versionUid"
|
|
308
|
-
]),
|
|
308
|
+
]), B = (e) => e.replace(/_([a-z])/g, (e, t) => t.toUpperCase());
|
|
309
309
|
function Ne() {
|
|
310
310
|
return {
|
|
311
311
|
seedUidToModelType: /* @__PURE__ */ new Map(),
|
|
@@ -319,7 +319,7 @@ function Ne() {
|
|
|
319
319
|
requestedSeedUids: /* @__PURE__ */ new Set()
|
|
320
320
|
};
|
|
321
321
|
}
|
|
322
|
-
function
|
|
322
|
+
function V(e) {
|
|
323
323
|
let t = [];
|
|
324
324
|
for (let n of e.requestedSeedUids) {
|
|
325
325
|
let r = e.assembledItems.get(n);
|
|
@@ -327,7 +327,7 @@ function B(e) {
|
|
|
327
327
|
}
|
|
328
328
|
return t;
|
|
329
329
|
}
|
|
330
|
-
function
|
|
330
|
+
function H(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
333
|
function Pe(e, t, n) {
|
|
@@ -338,7 +338,7 @@ function Pe(e, t, n) {
|
|
|
338
338
|
i.add(n), e.relatedSeedUidsBySeedUid.set(r, i);
|
|
339
339
|
}
|
|
340
340
|
async function Fe(e, t) {
|
|
341
|
-
let n =
|
|
341
|
+
let n = F(t.decodedDataJson);
|
|
342
342
|
if (!n.ok) {
|
|
343
343
|
let { id: e, refUID: r, schemaId: i } = t;
|
|
344
344
|
n.reason === "empty" ? console.warn("[query] [processItemProperty] empty decodedDataJson for property:", e, r, i) : n.reason === "parse" ? console.warn("[query] [processItemProperty] failed to parse decodedDataJson for property:", e, r, i, n.error) : console.warn("[query] [processItemProperty] invalid decodedDataJson structure for property:", e, r, i);
|
|
@@ -347,30 +347,30 @@ 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
|
+
_({
|
|
351
351
|
text: i,
|
|
352
352
|
schemaUid: a
|
|
353
353
|
});
|
|
354
|
-
let o = !1,
|
|
354
|
+
let o = !1, s = !1, l = r.type, 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
355
|
if (u || d) {
|
|
356
356
|
if (o = !0, Array.isArray(r.value)) {
|
|
357
|
-
if (
|
|
358
|
-
let e =
|
|
357
|
+
if (s = !0, d) {
|
|
358
|
+
let e = I(i);
|
|
359
359
|
e && (i = e.propertyName);
|
|
360
360
|
}
|
|
361
361
|
r.value.forEach((n) => {
|
|
362
|
-
|
|
362
|
+
z.includes(n) || Pe(e, t, n);
|
|
363
363
|
});
|
|
364
|
-
} else
|
|
364
|
+
} else z.includes(r.value) || Pe(e, t, r.value);
|
|
365
365
|
}
|
|
366
366
|
let f = r.value;
|
|
367
|
-
o &&
|
|
368
|
-
let
|
|
369
|
-
if (!
|
|
370
|
-
let h = e.assembledItems.get(
|
|
367
|
+
o && s && Array.isArray(f) ? f = f.map((e) => String(e)) : typeof f != "string" && (f = (m(l) ? c(f) : void 0) ?? JSON.stringify(f));
|
|
368
|
+
let p = e.versionUidToSeedUid.get(t.refUID);
|
|
369
|
+
if (!p) return;
|
|
370
|
+
let h = e.assembledItems.get(p) || {};
|
|
371
371
|
h[i] = f;
|
|
372
|
-
let
|
|
373
|
-
|
|
372
|
+
let g = B(i);
|
|
373
|
+
g !== i && (h[g] = f), e.assembledItems.set(p, h);
|
|
374
374
|
}
|
|
375
375
|
function Ie(e) {
|
|
376
376
|
let t = /* @__PURE__ */ new Map();
|
|
@@ -397,7 +397,7 @@ async function Re(e, t, n, r = {}) {
|
|
|
397
397
|
});
|
|
398
398
|
}
|
|
399
399
|
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 =
|
|
400
|
+
let a = new Set(i), o = r.versions ? r.versions.filter((e) => a.has(e.refUID)) : await n.getVersionsForSeeds(i, { includeRevoked: !0 }), s = h(o, t), c = s.filter((e) => e.revoked !== !0);
|
|
401
401
|
if (r.dropSeedsWithOnlyRevokedVersions) {
|
|
402
402
|
let t = new Set(c.map((e) => e.refUID));
|
|
403
403
|
for (let n of s) {
|
|
@@ -424,29 +424,29 @@ async function Re(e, t, n, r = {}) {
|
|
|
424
424
|
r && (l.push(r.id), e.latestVersionUidsBySeedUid.set(t, r.id));
|
|
425
425
|
}
|
|
426
426
|
if (l.length === 0) return;
|
|
427
|
-
let d =
|
|
427
|
+
let d = h(await n.getPropertiesForVersionUids(l), c).filter((e) => {
|
|
428
428
|
let t = u.get(e.refUID);
|
|
429
429
|
return t === void 0 || e.timeCreated <= t;
|
|
430
|
-
}), f =
|
|
430
|
+
}), f = g(d);
|
|
431
431
|
for (let t = 0; t < f.length; t++) await Fe(e, f[t]);
|
|
432
432
|
}
|
|
433
433
|
function ze(e) {
|
|
434
|
-
for (let [, t] of
|
|
434
|
+
for (let [, t] of V(e)) {
|
|
435
435
|
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !Me.has(e));
|
|
436
436
|
for (let r of n) {
|
|
437
437
|
let n = t[r], i = S(n);
|
|
438
438
|
if (i !== n && Array.isArray(i) && (t[r] = i, n = i), Array.isArray(n)) {
|
|
439
439
|
let i = n;
|
|
440
|
-
if (!i.some((t) => typeof t == "string" && !
|
|
440
|
+
if (!i.some((t) => typeof t == "string" && !z.includes(t) && e.assembledItems.has(t))) continue;
|
|
441
441
|
let a = [], o = [], s = !1;
|
|
442
442
|
for (let t of i) {
|
|
443
|
-
if (typeof t != "string" ||
|
|
443
|
+
if (typeof t != "string" || z.includes(t)) {
|
|
444
444
|
a.push(String(t)), o.push("unknown");
|
|
445
445
|
continue;
|
|
446
446
|
}
|
|
447
447
|
let n = e.seedUidToModelType.get(t) ?? "unknown";
|
|
448
|
-
if (n ===
|
|
449
|
-
a.push(t), o.push(
|
|
448
|
+
if (n === R) {
|
|
449
|
+
a.push(t), o.push(R);
|
|
450
450
|
continue;
|
|
451
451
|
}
|
|
452
452
|
let r = e.assembledItems.get(t), i = r?.storageTransactionId ?? r?.storage_transaction_id;
|
|
@@ -459,26 +459,26 @@ function ze(e) {
|
|
|
459
459
|
}
|
|
460
460
|
if (s) {
|
|
461
461
|
let e = x(r);
|
|
462
|
-
if (t[e] = a,
|
|
462
|
+
if (t[e] = a, A(t, e, o), ie(t, e), e !== r) {
|
|
463
463
|
delete t[r];
|
|
464
|
-
let e =
|
|
464
|
+
let e = B(r);
|
|
465
465
|
e !== r && delete t[e];
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
468
|
} else if (typeof n == "string") {
|
|
469
|
-
if (
|
|
469
|
+
if (z.includes(n) || !e.assembledItems.has(n)) continue;
|
|
470
470
|
let i = e.assembledItems.get(n);
|
|
471
|
-
if (e.seedUidToModelType.get(n) ===
|
|
471
|
+
if (e.seedUidToModelType.get(n) === R) continue;
|
|
472
472
|
let a = i?.storageTransactionId ?? i?.storage_transaction_id;
|
|
473
473
|
if (a && typeof a == "string" && a.trim()) try {
|
|
474
474
|
let i = r.endsWith("_id") ? r.replace(/_id$/, "") : r;
|
|
475
475
|
t[i] = b(a);
|
|
476
476
|
let o = e.seedUidToModelType.get(n) ?? "unknown";
|
|
477
477
|
k(t, i, o);
|
|
478
|
-
let s =
|
|
478
|
+
let s = B(i);
|
|
479
479
|
if (s !== i && k(t, s, o), i !== r) {
|
|
480
480
|
delete t[r];
|
|
481
|
-
let e =
|
|
481
|
+
let e = B(r);
|
|
482
482
|
e !== r && delete t[e];
|
|
483
483
|
}
|
|
484
484
|
} catch {}
|
|
@@ -486,15 +486,15 @@ function ze(e) {
|
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
488
|
}
|
|
489
|
-
function Be(e
|
|
490
|
-
|
|
489
|
+
function Be(e) {
|
|
490
|
+
for (let [, t] of V(e)) {
|
|
491
491
|
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !Me.has(e));
|
|
492
492
|
for (let r of n) {
|
|
493
493
|
let n = t[r], i = S(n);
|
|
494
494
|
i !== n && Array.isArray(i) && (t[r] = i, n = i);
|
|
495
495
|
let a = Array.isArray(n), o = a ? n : [n], s = [], c = !1;
|
|
496
496
|
for (let t of o) {
|
|
497
|
-
if (typeof t != "string" ||
|
|
497
|
+
if (typeof t != "string" || z.includes(t)) {
|
|
498
498
|
s.push(t);
|
|
499
499
|
continue;
|
|
500
500
|
}
|
|
@@ -504,9 +504,9 @@ function Be(e, t) {
|
|
|
504
504
|
continue;
|
|
505
505
|
}
|
|
506
506
|
let r = n?.storageTransactionId ?? n?.storage_transaction_id;
|
|
507
|
-
if (e.seedUidToModelType.get(t) ===
|
|
507
|
+
if (e.seedUidToModelType.get(t) === R) {
|
|
508
508
|
let e = { ...n };
|
|
509
|
-
|
|
509
|
+
H(e, t), e.schemaName = R, C(e), s.push(e), c = !0;
|
|
510
510
|
continue;
|
|
511
511
|
}
|
|
512
512
|
if (r && typeof r == "string" && r.trim()) {
|
|
@@ -514,13 +514,13 @@ function Be(e, t) {
|
|
|
514
514
|
continue;
|
|
515
515
|
}
|
|
516
516
|
let i = { ...n };
|
|
517
|
-
|
|
517
|
+
H(i, t), s.push(i), c = !0;
|
|
518
518
|
}
|
|
519
519
|
if (c) {
|
|
520
520
|
let e = a ? x(r) : r.endsWith("_id") ? r.replace(/_id$/, "") : r;
|
|
521
|
-
if (t[e] = a ? s : s[0],
|
|
521
|
+
if (t[e] = a ? s : s[0], ie(t, e), e !== r) {
|
|
522
522
|
delete t[r];
|
|
523
|
-
let e =
|
|
523
|
+
let e = B(r);
|
|
524
524
|
e !== r && delete t[e];
|
|
525
525
|
}
|
|
526
526
|
}
|
|
@@ -528,9 +528,9 @@ function Be(e, t) {
|
|
|
528
528
|
}
|
|
529
529
|
}
|
|
530
530
|
function Ve(e, t) {
|
|
531
|
-
return
|
|
531
|
+
return V(e).map(([n, r]) => {
|
|
532
532
|
let i = e.latestVersionUidsBySeedUid.get(n) ?? "";
|
|
533
|
-
i && (r.versionUid = i),
|
|
533
|
+
i && (r.versionUid = i), H(r, n);
|
|
534
534
|
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
535
|
return {
|
|
536
536
|
seedUid: n,
|
|
@@ -542,46 +542,48 @@ function Ve(e, t) {
|
|
|
542
542
|
};
|
|
543
543
|
});
|
|
544
544
|
}
|
|
545
|
-
function He(e, t) {
|
|
546
|
-
let
|
|
545
|
+
function He(e, t, n) {
|
|
546
|
+
let r = [t, ...n ? e.relatedSeedUidsBySeedUid.get(t) ?? [] : []], i = r.map((t) => e.latestVersionUidsBySeedUid.get(t)).filter((e) => !!e);
|
|
547
547
|
return {
|
|
548
|
-
refUIDs: [...
|
|
549
|
-
ids:
|
|
548
|
+
refUIDs: [...r, ...i],
|
|
549
|
+
ids: r
|
|
550
550
|
};
|
|
551
551
|
}
|
|
552
|
-
async function
|
|
553
|
-
return
|
|
552
|
+
async function U(e, t, n, r = L(), i) {
|
|
553
|
+
return Ue(t, n, r, {
|
|
554
554
|
schemaName: e,
|
|
555
555
|
versions: i?.versions
|
|
556
556
|
});
|
|
557
557
|
}
|
|
558
|
-
async function
|
|
559
|
-
let
|
|
560
|
-
for (let t of e) t &&
|
|
561
|
-
await Re(
|
|
558
|
+
async function Ue(e, n, r, i = {}) {
|
|
559
|
+
let a = t(n), o = n?.hydrateStorage !== !1, s = Ne();
|
|
560
|
+
for (let t of e) t && s.requestedSeedUids.add(t.id);
|
|
561
|
+
await Re(s, e, r, {
|
|
562
562
|
dropSeedsWithOnlyRevokedVersions: !0,
|
|
563
|
-
versions:
|
|
564
|
-
pins:
|
|
563
|
+
versions: i.versions,
|
|
564
|
+
pins: i.pins && Ie(i.pins)
|
|
565
565
|
});
|
|
566
|
-
let
|
|
567
|
-
if (
|
|
568
|
-
let [e, t] = await Promise.all([
|
|
569
|
-
await Re(
|
|
570
|
-
}
|
|
571
|
-
ze(
|
|
572
|
-
let
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
566
|
+
let c = Array.from(s.relatedSeedUids).filter((e) => !s.assembledItems.has(e) && !s.droppedSeedUids.has(e));
|
|
567
|
+
if (a !== "uids" && c.length > 0) {
|
|
568
|
+
let [e, t] = await Promise.all([r.getSeedsByUids(c), r.getVersionsForSeeds(c, { includeRevoked: !0 })]);
|
|
569
|
+
await Re(s, e, r, { versions: t });
|
|
570
|
+
}
|
|
571
|
+
a !== "uids" && ze(s), a === "expand" && Be(s);
|
|
572
|
+
let l = Ve(s, i.schemaName);
|
|
573
|
+
o && await P(l.map((e) => e.data), r.readStorageBody ? { readStorageBody: r.readStorageBody.bind(r) } : void 0);
|
|
574
|
+
let u = a !== "uids";
|
|
575
|
+
return {
|
|
576
|
+
records: l,
|
|
577
|
+
dependencies: new Map(l.map((e) => [e.seedUid, He(s, e.seedUid, u)]))
|
|
576
578
|
};
|
|
577
579
|
}
|
|
578
|
-
async function
|
|
579
|
-
return (await
|
|
580
|
+
async function We(e, t, n, r = L()) {
|
|
581
|
+
return (await U(e, t, n, r)).records;
|
|
580
582
|
}
|
|
581
583
|
//#endregion
|
|
582
584
|
//#region src/changelog.ts
|
|
583
|
-
var
|
|
584
|
-
function
|
|
585
|
+
var Ge = (e) => e.replace(/_([a-z])/g, (e, t) => t.toUpperCase());
|
|
586
|
+
function Ke(e, t) {
|
|
585
587
|
if (Object.is(e, t)) return !0;
|
|
586
588
|
if (e === void 0 || t === void 0) return !1;
|
|
587
589
|
if (e === null || t === null) return e === t;
|
|
@@ -592,38 +594,38 @@ function Ge(e, t) {
|
|
|
592
594
|
return !1;
|
|
593
595
|
}
|
|
594
596
|
}
|
|
595
|
-
function
|
|
596
|
-
let t =
|
|
597
|
+
function qe(e) {
|
|
598
|
+
let t = F(e.decodedDataJson);
|
|
597
599
|
if (!t.ok) return null;
|
|
598
600
|
let n = t.metadata, r = n.name;
|
|
599
601
|
if (!r) return null;
|
|
600
|
-
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",
|
|
601
|
-
if ((a || o) && (
|
|
602
|
-
let e =
|
|
602
|
+
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
|
+
if ((a || o) && (s = !0, Array.isArray(n.value) && (l = !0, o))) {
|
|
604
|
+
let e = I(r);
|
|
603
605
|
e?.isList && (r = e.propertyName);
|
|
604
606
|
}
|
|
605
607
|
let u = n.value;
|
|
606
|
-
|
|
607
|
-
let d =
|
|
608
|
+
s && l && Array.isArray(u) ? u = u.map((e) => String(e)) : typeof u != "string" && (u = (m(i) ? c(u) : void 0) ?? JSON.stringify(u));
|
|
609
|
+
let d = Ge(r);
|
|
608
610
|
return {
|
|
609
611
|
propertyName: r,
|
|
610
612
|
value: u,
|
|
611
613
|
camelName: d === r ? void 0 : d
|
|
612
614
|
};
|
|
613
615
|
}
|
|
614
|
-
function
|
|
616
|
+
function Je(e) {
|
|
615
617
|
let t = {};
|
|
616
618
|
for (let n of e) {
|
|
617
|
-
let e =
|
|
619
|
+
let e = qe(n);
|
|
618
620
|
e && (t[e.propertyName] = e.value, e.camelName && (t[e.camelName] = e.value));
|
|
619
621
|
}
|
|
620
622
|
return t;
|
|
621
623
|
}
|
|
622
|
-
function
|
|
624
|
+
function Ye(e) {
|
|
623
625
|
let t = [], n = {};
|
|
624
626
|
for (let r of e) {
|
|
625
627
|
let e = r.data, i = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(e)]), a = [];
|
|
626
|
-
for (let t of i)
|
|
628
|
+
for (let t of i) Ke(n[t], e[t]) || a.push(t);
|
|
627
629
|
a.sort(), t.push({
|
|
628
630
|
type: "version",
|
|
629
631
|
at: r.at,
|
|
@@ -635,15 +637,15 @@ function Je(e) {
|
|
|
635
637
|
}
|
|
636
638
|
return t;
|
|
637
639
|
}
|
|
638
|
-
function
|
|
640
|
+
function Xe(e) {
|
|
639
641
|
let t = [...e].sort((e, t) => e.timeCreated === t.timeCreated ? e.id.localeCompare(t.id) : e.timeCreated - t.timeCreated), n = /* @__PURE__ */ new Map(), r = [];
|
|
640
642
|
for (let e of t) {
|
|
641
|
-
let t =
|
|
643
|
+
let t = qe(e);
|
|
642
644
|
if (!t) continue;
|
|
643
645
|
let i = [t.propertyName];
|
|
644
646
|
t.camelName && i.push(t.camelName);
|
|
645
647
|
let a = n.has(t.propertyName) ? n.get(t.propertyName) : void 0, o = t.value;
|
|
646
|
-
|
|
648
|
+
Ke(a, o) || r.push({
|
|
647
649
|
type: "property",
|
|
648
650
|
at: e.timeCreated,
|
|
649
651
|
versionUid: e.refUID,
|
|
@@ -655,7 +657,7 @@ function Ye(e) {
|
|
|
655
657
|
}
|
|
656
658
|
return r;
|
|
657
659
|
}
|
|
658
|
-
function
|
|
660
|
+
function Ze(e, t) {
|
|
659
661
|
let n = e;
|
|
660
662
|
if (typeof t?.since == "number") {
|
|
661
663
|
let e = t.since;
|
|
@@ -665,14 +667,14 @@ function Xe(e, t) {
|
|
|
665
667
|
}
|
|
666
668
|
//#endregion
|
|
667
669
|
//#region src/assembleChangelog.ts
|
|
668
|
-
async function
|
|
669
|
-
let r = t?.changelog ?? {}, i = r.granularity ?? "version", [a, o] = await Promise.all([n.getSeedByUid(e), n.getVersionsForSeed(e)]), s = [...
|
|
670
|
+
async function Qe(e, t, n = L()) {
|
|
671
|
+
let r = t?.changelog ?? {}, i = r.granularity ?? "version", [a, o] = await Promise.all([n.getSeedByUid(e), n.getVersionsForSeed(e)]), s = [...h(o, a ? [a] : [])].sort((e, t) => e.timeCreated - t.timeCreated);
|
|
670
672
|
if (s.length === 0) return {
|
|
671
673
|
latestVersionUid: "",
|
|
672
674
|
changelog: []
|
|
673
675
|
};
|
|
674
|
-
let c = s[s.length - 1].id, l = s.map((e) => e.id), u =
|
|
675
|
-
if (i === "property") d =
|
|
676
|
+
let c = s[s.length - 1].id, l = s.map((e) => e.id), u = h(await n.getPropertiesForVersionUids(l), s), d;
|
|
677
|
+
if (i === "property") d = Xe(u);
|
|
676
678
|
else {
|
|
677
679
|
let e = /* @__PURE__ */ new Map();
|
|
678
680
|
for (let t of u) {
|
|
@@ -681,44 +683,44 @@ async function Ze(e, t, n = I()) {
|
|
|
681
683
|
}
|
|
682
684
|
let t = [];
|
|
683
685
|
for (let n of s) {
|
|
684
|
-
let r = e.get(n.id) ?? [], i =
|
|
686
|
+
let r = e.get(n.id) ?? [], i = g(r);
|
|
685
687
|
t.push({
|
|
686
688
|
versionUid: n.id,
|
|
687
689
|
at: n.timeCreated,
|
|
688
|
-
data:
|
|
690
|
+
data: Je(i)
|
|
689
691
|
});
|
|
690
692
|
}
|
|
691
|
-
d =
|
|
693
|
+
d = Ye(t);
|
|
692
694
|
}
|
|
693
695
|
return {
|
|
694
696
|
latestVersionUid: c,
|
|
695
|
-
changelog:
|
|
697
|
+
changelog: Ze(d, r)
|
|
696
698
|
};
|
|
697
699
|
}
|
|
698
700
|
//#endregion
|
|
699
701
|
//#region src/cache/etag.ts
|
|
700
|
-
function
|
|
701
|
-
return `"${ee(
|
|
702
|
+
function $e(e) {
|
|
703
|
+
return `"${te(ee(ne(e))).substring(0, 16)}"`;
|
|
702
704
|
}
|
|
703
|
-
function
|
|
704
|
-
return
|
|
705
|
+
function et(e, t, n) {
|
|
706
|
+
return $e(`${e}-${t}-${n.join(",")}`);
|
|
705
707
|
}
|
|
706
|
-
function
|
|
707
|
-
return
|
|
708
|
+
function tt(e, t) {
|
|
709
|
+
return $e(`${t}-${nt(e)}`);
|
|
708
710
|
}
|
|
709
|
-
function
|
|
711
|
+
function nt(e) {
|
|
710
712
|
return JSON.stringify(e, (e, t) => t && typeof t == "object" && !Array.isArray(t) ? Object.fromEntries(Object.keys(t).sort().map((e) => [e, t[e]])) : t);
|
|
711
713
|
}
|
|
712
714
|
//#endregion
|
|
713
715
|
//#region src/cache/config.ts
|
|
714
|
-
function nt() {
|
|
715
|
-
return globalThis.process?.env ?? {};
|
|
716
|
-
}
|
|
717
716
|
function rt() {
|
|
718
|
-
return
|
|
717
|
+
return globalThis.process?.env ?? {};
|
|
719
718
|
}
|
|
720
719
|
function it() {
|
|
721
|
-
|
|
720
|
+
return rt().NODE_ENV !== "production";
|
|
721
|
+
}
|
|
722
|
+
function at() {
|
|
723
|
+
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;
|
|
722
724
|
o = r ? !1 : i ? !0 : !a;
|
|
723
725
|
let s = e.CACHE_BACKGROUND_REFRESH === "true", c = parseInt(e.CACHE_REFRESH_INTERVAL || "300", 10);
|
|
724
726
|
return {
|
|
@@ -727,19 +729,19 @@ function it() {
|
|
|
727
729
|
enabled: o,
|
|
728
730
|
backgroundRefresh: s,
|
|
729
731
|
refreshInterval: c,
|
|
730
|
-
freezeRecords:
|
|
732
|
+
freezeRecords: it()
|
|
731
733
|
};
|
|
732
734
|
}
|
|
733
735
|
//#endregion
|
|
734
736
|
//#region src/cache/freeze.ts
|
|
735
|
-
function
|
|
737
|
+
function ot(e) {
|
|
736
738
|
if (typeof e != "object" || !e || Object.isFrozen(e) || ArrayBuffer.isView(e)) return e;
|
|
737
|
-
for (let t of Object.values(e))
|
|
739
|
+
for (let t of Object.values(e)) ot(t);
|
|
738
740
|
return Object.freeze(e);
|
|
739
741
|
}
|
|
740
742
|
//#endregion
|
|
741
743
|
//#region src/cache/MemoryCache.ts
|
|
742
|
-
var
|
|
744
|
+
var st = class {
|
|
743
745
|
collectionCache = /* @__PURE__ */ new Map();
|
|
744
746
|
itemCache = /* @__PURE__ */ new Map();
|
|
745
747
|
config;
|
|
@@ -754,7 +756,7 @@ var ot = class {
|
|
|
754
756
|
return `${e}:${t}`;
|
|
755
757
|
}
|
|
756
758
|
get freezeRecords() {
|
|
757
|
-
return this.config.freezeRecords ??
|
|
759
|
+
return this.config.freezeRecords ?? it();
|
|
758
760
|
}
|
|
759
761
|
expired(e) {
|
|
760
762
|
return Math.floor(Date.now() / 1e3) - e > this.config.ttl;
|
|
@@ -764,7 +766,7 @@ var ot = class {
|
|
|
764
766
|
return r ? this.expired(r.lastUpdated) ? (this.collectionCache.delete(n), null) : r : null;
|
|
765
767
|
}
|
|
766
768
|
setCollection(e, t, n) {
|
|
767
|
-
if (this.freezeRecords) for (let e of n.items)
|
|
769
|
+
if (this.freezeRecords) for (let e of n.items) ot(e);
|
|
768
770
|
this.collectionCache.set(this.collectionKey(e, t), n);
|
|
769
771
|
}
|
|
770
772
|
getItem(e, t) {
|
|
@@ -772,7 +774,7 @@ var ot = class {
|
|
|
772
774
|
return r ? this.expired(r.lastUpdated) ? (this.itemCache.delete(n), null) : r : null;
|
|
773
775
|
}
|
|
774
776
|
setItem(e) {
|
|
775
|
-
this.freezeRecords &&
|
|
777
|
+
this.freezeRecords && ot(e.record), this.itemCache.set(this.itemKey(e.record.seedUid, e.optionsKey), e);
|
|
776
778
|
}
|
|
777
779
|
clearCollection(e) {
|
|
778
780
|
for (let t of this.collectionCache.keys()) t.startsWith(`${e}\n`) && this.collectionCache.delete(t);
|
|
@@ -809,19 +811,19 @@ var ot = class {
|
|
|
809
811
|
activeLocks: this.refreshLocks.size
|
|
810
812
|
};
|
|
811
813
|
}
|
|
812
|
-
},
|
|
813
|
-
function ct(e) {
|
|
814
|
-
st = e;
|
|
815
|
-
}
|
|
814
|
+
}, ct = () => null;
|
|
816
815
|
function lt(e) {
|
|
816
|
+
ct = e;
|
|
817
|
+
}
|
|
818
|
+
function ut(e) {
|
|
817
819
|
let t = e;
|
|
818
820
|
return !!t && Array.isArray(t.items) && typeof t.meta == "object" && t.meta !== null && typeof t.checkedAt == "number" && Array.isArray(t.seenChangeKeys);
|
|
819
821
|
}
|
|
820
|
-
function
|
|
822
|
+
function dt(e) {
|
|
821
823
|
let t = e;
|
|
822
824
|
return !!t && !!t.record && !!t.dependencies && typeof t.checkedAt == "number" && Array.isArray(t.seenChangeKeys);
|
|
823
825
|
}
|
|
824
|
-
var
|
|
826
|
+
var ft = class {
|
|
825
827
|
memoryCache;
|
|
826
828
|
persistent;
|
|
827
829
|
config;
|
|
@@ -832,7 +834,7 @@ var dt = class {
|
|
|
832
834
|
errors: 0
|
|
833
835
|
};
|
|
834
836
|
constructor(e, t) {
|
|
835
|
-
this.config = e, this.memoryCache = new
|
|
837
|
+
this.config = e, this.memoryCache = new st(e), this.persistent = t === void 0 ? ct(e) : t;
|
|
836
838
|
}
|
|
837
839
|
get enabled() {
|
|
838
840
|
return this.config.enabled;
|
|
@@ -846,7 +848,7 @@ var dt = class {
|
|
|
846
848
|
let n = this.memoryCache.getCollection(e, t);
|
|
847
849
|
if (n) return this.stats.hits++, n;
|
|
848
850
|
let r = await this.persistent?.getCollection(e, t) ?? null;
|
|
849
|
-
return
|
|
851
|
+
return ut(r) ? (this.memoryCache.setCollection(e, t, r), this.stats.hits++, r) : (this.stats.misses++, null);
|
|
850
852
|
} catch (t) {
|
|
851
853
|
return console.error(`Error getting query collection cache for ${e}:`, t), this.stats.errors++, null;
|
|
852
854
|
}
|
|
@@ -857,7 +859,7 @@ var dt = class {
|
|
|
857
859
|
let r = n.items.map((e) => ({
|
|
858
860
|
...e,
|
|
859
861
|
data: { ...e.data }
|
|
860
|
-
})), i =
|
|
862
|
+
})), i = et(e, t, r.map((e) => tt(e, t))), a = {
|
|
861
863
|
...n,
|
|
862
864
|
items: r,
|
|
863
865
|
etag: i
|
|
@@ -873,7 +875,7 @@ var dt = class {
|
|
|
873
875
|
let n = this.memoryCache.getItem(e, t);
|
|
874
876
|
if (n) return this.stats.hits++, n;
|
|
875
877
|
let r = await this.persistent?.getItem(e, t) ?? null;
|
|
876
|
-
return
|
|
878
|
+
return dt(r) ? (this.memoryCache.setItem(r), this.stats.hits++, r) : (this.stats.misses++, null);
|
|
877
879
|
} catch (t) {
|
|
878
880
|
return console.error(`Error getting query item cache for ${e}:`, t), this.stats.errors++, null;
|
|
879
881
|
}
|
|
@@ -888,7 +890,7 @@ var dt = class {
|
|
|
888
890
|
}, n = {
|
|
889
891
|
...e,
|
|
890
892
|
record: t,
|
|
891
|
-
etag:
|
|
893
|
+
etag: tt(t, e.optionsKey)
|
|
892
894
|
};
|
|
893
895
|
return this.memoryCache.setItem(n), await this.persistent?.setItem(n), n;
|
|
894
896
|
} catch (t) {
|
|
@@ -933,16 +935,16 @@ var dt = class {
|
|
|
933
935
|
errors: 0
|
|
934
936
|
};
|
|
935
937
|
}
|
|
936
|
-
},
|
|
938
|
+
}, pt = null;
|
|
937
939
|
function W() {
|
|
938
|
-
return
|
|
940
|
+
return pt ||= new ft(at()), pt;
|
|
939
941
|
}
|
|
940
|
-
function
|
|
941
|
-
|
|
942
|
+
function mt() {
|
|
943
|
+
pt = null;
|
|
942
944
|
}
|
|
943
|
-
function
|
|
944
|
-
return new
|
|
945
|
-
...
|
|
945
|
+
function ht(e, t) {
|
|
946
|
+
return new ft({
|
|
947
|
+
...at(),
|
|
946
948
|
...e
|
|
947
949
|
}, t);
|
|
948
950
|
}
|
|
@@ -952,11 +954,11 @@ function G() {
|
|
|
952
954
|
function K(e) {
|
|
953
955
|
return e - 600;
|
|
954
956
|
}
|
|
955
|
-
function
|
|
957
|
+
function gt(e, t) {
|
|
956
958
|
return K(t) - e.checkedAt > 600;
|
|
957
959
|
}
|
|
958
960
|
var q = (e) => `${e.id}:${e.revocationTime}`;
|
|
959
|
-
async function
|
|
961
|
+
async function _t(e, t, n) {
|
|
960
962
|
if (!e.listChangesSince) return null;
|
|
961
963
|
if (t.size === 0) return {
|
|
962
964
|
changed: /* @__PURE__ */ new Set(),
|
|
@@ -984,7 +986,7 @@ async function gt(e, t, n) {
|
|
|
984
986
|
seenChangeKeys: o.map(q)
|
|
985
987
|
};
|
|
986
988
|
}
|
|
987
|
-
async function
|
|
989
|
+
async function vt(e, t) {
|
|
988
990
|
if (!e.listChangesSince) return null;
|
|
989
991
|
let n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Map();
|
|
990
992
|
if (t.size === 0) return {
|
|
@@ -1015,17 +1017,17 @@ async function _t(e, t) {
|
|
|
1015
1017
|
//#endregion
|
|
1016
1018
|
//#region src/source/registry.ts
|
|
1017
1019
|
var J = null;
|
|
1018
|
-
function
|
|
1020
|
+
function yt(e) {
|
|
1019
1021
|
if (e.kind !== "local") throw Error("[query] registerLocalQuerySource expects a source with kind: \"local\"");
|
|
1020
1022
|
J = e;
|
|
1021
1023
|
}
|
|
1022
|
-
function
|
|
1024
|
+
function bt() {
|
|
1023
1025
|
J = null;
|
|
1024
1026
|
}
|
|
1025
|
-
function
|
|
1027
|
+
function xt() {
|
|
1026
1028
|
return J;
|
|
1027
1029
|
}
|
|
1028
|
-
function
|
|
1030
|
+
function St() {
|
|
1029
1031
|
return J != null;
|
|
1030
1032
|
}
|
|
1031
1033
|
//#endregion
|
|
@@ -1033,10 +1035,10 @@ function xt() {
|
|
|
1033
1035
|
function Y(e = "remote") {
|
|
1034
1036
|
if (e === "remote") return {
|
|
1035
1037
|
mode: "remote",
|
|
1036
|
-
dataSource:
|
|
1038
|
+
dataSource: L(),
|
|
1037
1039
|
useQueryCache: !0
|
|
1038
1040
|
};
|
|
1039
|
-
let t =
|
|
1041
|
+
let t = xt();
|
|
1040
1042
|
if (e === "local") {
|
|
1041
1043
|
if (!t) throw Error("[query] source: \"local\" requires registerLocalQuerySource(...) (e.g. SDK DB ready)");
|
|
1042
1044
|
return {
|
|
@@ -1051,7 +1053,7 @@ function Y(e = "remote") {
|
|
|
1051
1053
|
useQueryCache: !1
|
|
1052
1054
|
} : {
|
|
1053
1055
|
mode: "auto",
|
|
1054
|
-
dataSource:
|
|
1056
|
+
dataSource: L(),
|
|
1055
1057
|
useQueryCache: !0
|
|
1056
1058
|
};
|
|
1057
1059
|
}
|
|
@@ -1067,19 +1069,19 @@ var Z = {
|
|
|
1067
1069
|
function Q(e, t) {
|
|
1068
1070
|
return !t || e?.cache === !1 ? !1 : W().enabled;
|
|
1069
1071
|
}
|
|
1070
|
-
function
|
|
1072
|
+
function Ct(e) {
|
|
1071
1073
|
return e === "data+changelog" || e === "changelog";
|
|
1072
1074
|
}
|
|
1073
|
-
function
|
|
1075
|
+
function wt(e) {
|
|
1074
1076
|
return e !== "changelog";
|
|
1075
1077
|
}
|
|
1076
|
-
async function
|
|
1077
|
-
return
|
|
1078
|
+
async function Tt(e, t, n, r, i) {
|
|
1079
|
+
return U(e, await i.listSeedsBySchemaName(e, {
|
|
1078
1080
|
limit: t,
|
|
1079
1081
|
skip: n
|
|
1080
1082
|
}), r, i);
|
|
1081
1083
|
}
|
|
1082
|
-
async function
|
|
1084
|
+
async function Et(e, t, n) {
|
|
1083
1085
|
let r = await n(t);
|
|
1084
1086
|
if (e !== "auto" || t.kind !== "local") return {
|
|
1085
1087
|
assembled: r,
|
|
@@ -1091,7 +1093,7 @@ async function Tt(e, t, n) {
|
|
|
1091
1093
|
dataSource: t,
|
|
1092
1094
|
useQueryCache: !1
|
|
1093
1095
|
};
|
|
1094
|
-
let i =
|
|
1096
|
+
let i = L();
|
|
1095
1097
|
return {
|
|
1096
1098
|
assembled: await n(i),
|
|
1097
1099
|
dataSource: i,
|
|
@@ -1108,7 +1110,7 @@ async function $(e, t, n, r = []) {
|
|
|
1108
1110
|
lastUpdated: n
|
|
1109
1111
|
})));
|
|
1110
1112
|
}
|
|
1111
|
-
async function
|
|
1113
|
+
async function Dt(e, t, n, r, i) {
|
|
1112
1114
|
let a = W(), o = G(), s = await a.getCollection(e, r), c = await i.listSeedsBySchemaName(e, {
|
|
1113
1115
|
limit: t,
|
|
1114
1116
|
skip: 0
|
|
@@ -1119,10 +1121,10 @@ async function Et(e, t, n, r, i) {
|
|
|
1119
1121
|
let n = s.meta[t.id];
|
|
1120
1122
|
l.has(t.id) && e.set(t.id, n?.dependencies ?? Z);
|
|
1121
1123
|
}
|
|
1122
|
-
let t = await
|
|
1124
|
+
let t = await _t(i, e, s);
|
|
1123
1125
|
t ? (u = t.changed, d = t.seenChangeKeys) : u = new Set(e.keys());
|
|
1124
1126
|
}
|
|
1125
|
-
let f = c.filter((e) => !l.has(e.id) || u.has(e.id)), p = f.length > 0 ? await
|
|
1127
|
+
let f = c.filter((e) => !l.has(e.id) || u.has(e.id)), p = f.length > 0 ? await U(e, f, n, i) : {
|
|
1126
1128
|
records: [],
|
|
1127
1129
|
dependencies: /* @__PURE__ */ new Map()
|
|
1128
1130
|
}, m = new Map(p.records.map((e) => [e.seedUid, e])), h = [], g = {};
|
|
@@ -1137,7 +1139,7 @@ async function Et(e, t, n, r, i) {
|
|
|
1137
1139
|
});
|
|
1138
1140
|
}
|
|
1139
1141
|
let _ = !!s && p.records.length === 0 && h.length === s.items.length && h.every((e, t) => e === s.items[t]);
|
|
1140
|
-
if (s && _ && !
|
|
1142
|
+
if (s && _ && !gt(s, o)) return {
|
|
1141
1143
|
items: h,
|
|
1142
1144
|
limit: t,
|
|
1143
1145
|
skip: 0,
|
|
@@ -1158,35 +1160,35 @@ async function Et(e, t, n, r, i) {
|
|
|
1158
1160
|
etag: v?.etag
|
|
1159
1161
|
};
|
|
1160
1162
|
}
|
|
1161
|
-
var
|
|
1162
|
-
function
|
|
1163
|
+
var Ot = 4;
|
|
1164
|
+
function kt(e) {
|
|
1163
1165
|
let t = e.trim().toLowerCase().replace(/^0x/, "");
|
|
1164
|
-
return t.length <
|
|
1166
|
+
return t.length < Ot || t.length > 64 || !/^[0-9a-f]+$/.test(t) ? null : `0x${t}`;
|
|
1165
1167
|
}
|
|
1166
|
-
async function
|
|
1168
|
+
async function At(t, r) {
|
|
1167
1169
|
await e();
|
|
1168
|
-
let i = r?.limit ?? 100, a = r?.skip ?? 0, o = X(r?.source), s = Y(o), c =
|
|
1169
|
-
if (r?.uidPrefix !== void 0 && (l =
|
|
1170
|
+
let i = r?.limit ?? 100, a = r?.skip ?? 0, o = X(r?.source), s = Y(o), c = n(r), l = null;
|
|
1171
|
+
if (r?.uidPrefix !== void 0 && (l = kt(r.uidPrefix), !l)) return {
|
|
1170
1172
|
items: [],
|
|
1171
1173
|
limit: i,
|
|
1172
1174
|
skip: a
|
|
1173
1175
|
};
|
|
1174
|
-
let u = async (e) => l ?
|
|
1176
|
+
let u = async (e) => l ? U(t, await e.listSeedsByUidPrefix(t, l, {
|
|
1175
1177
|
limit: i,
|
|
1176
1178
|
skip: a
|
|
1177
|
-
}), r, e) :
|
|
1179
|
+
}), r, e) : Tt(t, i, a, r, e);
|
|
1178
1180
|
if (!l && Q(r, s.useQueryCache) && a === 0 && s.dataSource.kind === "remote") {
|
|
1179
|
-
let e = `${
|
|
1180
|
-
return W().withRefreshLock(e, () =>
|
|
1181
|
+
let e = `${t}\n${c}\n${i}`;
|
|
1182
|
+
return W().withRefreshLock(e, () => Dt(t, i, r, c, s.dataSource));
|
|
1181
1183
|
}
|
|
1182
|
-
let d = G(), { assembled: f, dataSource: p, useQueryCache: m } = await
|
|
1184
|
+
let d = G(), { assembled: f, dataSource: p, useQueryCache: m } = await Et(o, s.dataSource, (e) => u(e));
|
|
1183
1185
|
return Q(r, m) && p.kind === "remote" && await $(f, c, d), {
|
|
1184
1186
|
items: f.records,
|
|
1185
1187
|
limit: i,
|
|
1186
1188
|
skip: a
|
|
1187
1189
|
};
|
|
1188
1190
|
}
|
|
1189
|
-
async function
|
|
1191
|
+
async function jt(e, t) {
|
|
1190
1192
|
let n = W(), r = /* @__PURE__ */ new Map();
|
|
1191
1193
|
await Promise.all(e.map(async ({ seedUid: e, optionsKey: t }) => {
|
|
1192
1194
|
let i = await n.getItem(e, t);
|
|
@@ -1196,37 +1198,37 @@ async function At(e, t) {
|
|
|
1196
1198
|
if (r.size === 0) return i;
|
|
1197
1199
|
let a = G(), o = /* @__PURE__ */ new Map();
|
|
1198
1200
|
for (let [e, t] of r) o.set(e, t);
|
|
1199
|
-
let s = await
|
|
1200
|
-
for (let [e, t] of r) !s || s.changed.has(e) ? await n.clearItem(e, t.optionsKey) : (
|
|
1201
|
+
let s = await vt(t, o);
|
|
1202
|
+
for (let [e, t] of r) !s || s.changed.has(e) ? await n.clearItem(e, t.optionsKey) : (gt(t, a) && await n.setItem({
|
|
1201
1203
|
...t,
|
|
1202
1204
|
checkedAt: K(a),
|
|
1203
1205
|
seenChangeKeys: s.seenChangeKeys.get(e) ?? []
|
|
1204
1206
|
}), i.set(e, t.record));
|
|
1205
1207
|
return i;
|
|
1206
1208
|
}
|
|
1207
|
-
async function
|
|
1208
|
-
return (await
|
|
1209
|
+
async function Mt(e, t, n) {
|
|
1210
|
+
return (await jt([{
|
|
1209
1211
|
seedUid: e,
|
|
1210
1212
|
optionsKey: t
|
|
1211
1213
|
}], n)).get(e) ?? null;
|
|
1212
1214
|
}
|
|
1213
|
-
function
|
|
1215
|
+
function Nt(e) {
|
|
1214
1216
|
if (e?.versionUid !== void 0 || e?.asOf !== void 0) return {
|
|
1215
1217
|
versionUid: e.versionUid,
|
|
1216
1218
|
asOf: e.asOf
|
|
1217
1219
|
};
|
|
1218
1220
|
}
|
|
1219
|
-
async function
|
|
1220
|
-
if (await e(), !
|
|
1221
|
-
let i =
|
|
1221
|
+
async function Pt(t, r) {
|
|
1222
|
+
if (await e(), !t || typeof t != "string" || t.trim() === "") return null;
|
|
1223
|
+
let i = t.trim(), a = r?.include ?? "data", o = X(r?.source), s = Y(o), c = n(r), l = s.dataSource, u = s.useQueryCache;
|
|
1222
1224
|
if (Q(r, u) && l.kind === "remote") {
|
|
1223
|
-
let e = await
|
|
1225
|
+
let e = await Mt(i, c, l);
|
|
1224
1226
|
if (e) return e;
|
|
1225
1227
|
}
|
|
1226
1228
|
let d = (e) => Promise.all([e.getSeedByUid(i), e.getVersionsForSeeds([i], { includeRevoked: !0 })]), f = G(), [p, m] = await d(l);
|
|
1227
1229
|
if (!p && o === "auto" && l.kind === "local") {
|
|
1228
|
-
if (l =
|
|
1229
|
-
let e = await
|
|
1230
|
+
if (l = L(), u = !0, Q(r, u)) {
|
|
1231
|
+
let e = await Mt(i, c, l);
|
|
1230
1232
|
if (e) return e;
|
|
1231
1233
|
}
|
|
1232
1234
|
[p, m] = await d(l);
|
|
@@ -1237,18 +1239,18 @@ async function Nt(n, r) {
|
|
|
1237
1239
|
let g = null, _ = {
|
|
1238
1240
|
refUIDs: [i],
|
|
1239
1241
|
ids: [i]
|
|
1240
|
-
}, v =
|
|
1241
|
-
let e = await
|
|
1242
|
+
}, v = Nt(r), y = async () => {
|
|
1243
|
+
let e = await Ue([p], r, l, {
|
|
1242
1244
|
schemaName: h,
|
|
1243
1245
|
versions: m,
|
|
1244
1246
|
pins: v && /* @__PURE__ */ new Map([[i, v]])
|
|
1245
1247
|
}), t = e.records[0];
|
|
1246
1248
|
return t && (_ = e.dependencies.get(t.seedUid) ?? _), t ?? null;
|
|
1247
1249
|
};
|
|
1248
|
-
if (!
|
|
1250
|
+
if (!Ct(a)) g = await y();
|
|
1249
1251
|
else {
|
|
1250
|
-
let { latestVersionUid: e, changelog: t } = await
|
|
1251
|
-
if (
|
|
1252
|
+
let { latestVersionUid: e, changelog: t } = await Qe(i, r, l);
|
|
1253
|
+
if (wt(a)) {
|
|
1252
1254
|
let e = await y();
|
|
1253
1255
|
g = e ? {
|
|
1254
1256
|
...e,
|
|
@@ -1282,10 +1284,10 @@ async function Nt(n, r) {
|
|
|
1282
1284
|
}
|
|
1283
1285
|
return g;
|
|
1284
1286
|
}
|
|
1285
|
-
async function
|
|
1287
|
+
async function Ft(t, r) {
|
|
1286
1288
|
await e();
|
|
1287
1289
|
let i = /* @__PURE__ */ new Map();
|
|
1288
|
-
for (let e of
|
|
1290
|
+
for (let e of t) {
|
|
1289
1291
|
if (typeof e != "string" || e.trim() === "") continue;
|
|
1290
1292
|
let t = e.trim().toLowerCase();
|
|
1291
1293
|
i.has(t) || i.set(t, e.trim());
|
|
@@ -1294,16 +1296,16 @@ async function Pt(n, r) {
|
|
|
1294
1296
|
if (a.length === 0) return /* @__PURE__ */ new Map();
|
|
1295
1297
|
let o = /* @__PURE__ */ new Map();
|
|
1296
1298
|
for (let [e, t] of r?.pins ?? []) {
|
|
1297
|
-
let n =
|
|
1299
|
+
let n = Nt(t);
|
|
1298
1300
|
n && o.set(e.trim().toLowerCase(), n);
|
|
1299
1301
|
}
|
|
1300
|
-
let s = (e) =>
|
|
1302
|
+
let s = (e) => n({
|
|
1301
1303
|
...r,
|
|
1302
1304
|
...o.get(e)
|
|
1303
1305
|
}), c = X(r?.source), l = Y(c), u = /* @__PURE__ */ new Map(), d = async (e, t, n) => {
|
|
1304
1306
|
let i = Q(r, t) && e.kind === "remote", a = n;
|
|
1305
1307
|
if (i) {
|
|
1306
|
-
let t = await
|
|
1308
|
+
let t = await jt(n.map((e) => ({
|
|
1307
1309
|
seedUid: e,
|
|
1308
1310
|
optionsKey: s(e)
|
|
1309
1311
|
})), e);
|
|
@@ -1311,7 +1313,7 @@ async function Pt(n, r) {
|
|
|
1311
1313
|
a = n.filter((e) => !t.has(e));
|
|
1312
1314
|
}
|
|
1313
1315
|
if (a.length === 0) return [];
|
|
1314
|
-
let c = G(), [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
|
|
1316
|
+
let c = G(), [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 Ue(a.map((e) => f.get(e)).filter((e) => !!e?.schema?.schemaNames?.[0]?.name), r, e, {
|
|
1315
1317
|
versions: d,
|
|
1316
1318
|
pins: o
|
|
1317
1319
|
});
|
|
@@ -1335,7 +1337,7 @@ async function Pt(n, r) {
|
|
|
1335
1337
|
}
|
|
1336
1338
|
return p;
|
|
1337
1339
|
}, f = await d(l.dataSource, l.useQueryCache, a);
|
|
1338
|
-
f.length > 0 && c === "auto" && l.dataSource.kind === "local" && await d(
|
|
1340
|
+
f.length > 0 && c === "auto" && l.dataSource.kind === "local" && await d(L(), !0, f);
|
|
1339
1341
|
let p = /* @__PURE__ */ new Map();
|
|
1340
1342
|
for (let [e, t] of i) {
|
|
1341
1343
|
let n = u.get(e);
|
|
@@ -1343,12 +1345,12 @@ async function Pt(n, r) {
|
|
|
1343
1345
|
}
|
|
1344
1346
|
return p;
|
|
1345
1347
|
}
|
|
1346
|
-
async function
|
|
1348
|
+
async function It(t, r, i, a) {
|
|
1347
1349
|
await e();
|
|
1348
|
-
let o = X(a?.source), s = Y(o), c = async (e) =>
|
|
1349
|
-
return Q(a, f) && d.kind === "remote" && await $(u,
|
|
1350
|
+
let o = X(a?.source), s = Y(o), c = async (e) => U(t, await e.listSeedsBySchemaNameForMonth(t, r, i), a, e), l = G(), { assembled: u, dataSource: d, useQueryCache: f } = await Et(o, s.dataSource, c);
|
|
1351
|
+
return Q(a, f) && d.kind === "remote" && await $(u, n(a), l), u.records;
|
|
1350
1352
|
}
|
|
1351
1353
|
//#endregion
|
|
1352
|
-
export { S as $, Oe as A, D as B,
|
|
1354
|
+
export { S as $, Oe as A, D as B, Xe as C, L as D, Ae as E, oe as F, me as G, le as H, w as I, A as J, he as K, de as L, P as M, ve as N, I as O, xe as P, ie as Q, fe as R, qe as S, We as T, E as U, O as V, ue as W, ae as X, C as Y, x as Z, at as _, It as a, Je as b, bt as c, yt as d, b as et, ht as f, lt as g, ft as h, At as i, De as j, F as k, xt as l, mt as m, Ft as n, X as o, W as p, k as q, kt as r, Y as s, Pt as t, St as u, Qe as v, Ye as w, Ke as x, Ze as y, pe as z };
|
|
1353
1355
|
|
|
1354
|
-
//# sourceMappingURL=src-
|
|
1356
|
+
//# sourceMappingURL=src-C3XmoANA.js.map
|