@seedprotocol/query 0.7.9-next.1177.ga3e08ed → 0.7.9-next.1306.g4ff6582
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 +6 -4
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/assembleSeeds.d.ts.map +1 -1
- package/dist/bootstrap.d.ts +7 -0
- package/dist/bootstrap.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 -1
- package/dist/cache/config.d.ts.map +1 -1
- package/dist/cache/types.d.ts +6 -4
- 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/fieldStorageModel.d.ts +0 -18
- package/dist/fieldStorageModel.d.ts.map +1 -1
- package/dist/hydrateArweaveRichText.d.ts +0 -2
- package/dist/hydrateArweaveRichText.d.ts.map +1 -1
- package/dist/imageRelationEnrichment.d.ts +0 -2
- package/dist/imageRelationEnrichment.d.ts.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +5 -5
- package/dist/index.node.js.map +1 -1
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/registerNodeEas.d.ts +7 -0
- package/dist/node/registerNodeEas.d.ts.map +1 -0
- package/dist/node.js +4 -5
- package/dist/node.js.map +1 -1
- package/dist/parseEasPropertyMetadata.d.ts +0 -6
- package/dist/parseEasPropertyMetadata.d.ts.map +1 -1
- package/dist/registerNodeEas-BRQjXdFD.js +107 -0
- package/dist/registerNodeEas-BRQjXdFD.js.map +1 -0
- package/dist/source/remote.d.ts +5 -0
- package/dist/source/remote.d.ts.map +1 -1
- package/dist/{src-C3XmoANA.js → src-C4engEq9.js} +374 -347
- package/dist/src-C4engEq9.js.map +1 -0
- package/dist/{types-BjCYpItx.js → types-CtWSwDmX.js} +25 -21
- package/dist/types-CtWSwDmX.js.map +1 -0
- package/dist/types.d.ts +9 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/registerNodeArweave-VGXwzQt4.js +0 -103
- package/dist/registerNodeArweave-VGXwzQt4.js.map +0 -1
- package/dist/src-C3XmoANA.js.map +0 -1
- package/dist/types-BjCYpItx.js.map +0 -1
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as e, s as t, t as n } from "./types-CtWSwDmX.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 ae(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,57 +42,56 @@ function S(e) {
|
|
|
42
42
|
}
|
|
43
43
|
//#endregion
|
|
44
44
|
//#region src/imageRelationEnrichment.ts
|
|
45
|
-
function
|
|
45
|
+
function oe(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
|
-
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/fieldStorageModel.ts
|
|
53
|
+
var se = /* @__PURE__ */ new Set([
|
|
52
54
|
"html",
|
|
53
55
|
"file",
|
|
54
56
|
"json"
|
|
55
|
-
]),
|
|
56
|
-
function
|
|
57
|
+
]), ce = "_feedFieldStorageModels", le = "_feedListElementStorageModels";
|
|
58
|
+
function C(e) {
|
|
57
59
|
return e.trim().toLowerCase();
|
|
58
60
|
}
|
|
59
|
-
function
|
|
60
|
-
return
|
|
61
|
+
function w(e) {
|
|
62
|
+
return se.has(C(e));
|
|
61
63
|
}
|
|
62
|
-
var le = E;
|
|
63
64
|
function ue(e) {
|
|
64
|
-
let t =
|
|
65
|
+
let t = C(e);
|
|
65
66
|
return t === "html" ? 0 : t === "file" ? 1 : t === "json" ? 2 : 99;
|
|
66
67
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
let t = e[se];
|
|
68
|
+
function T(e) {
|
|
69
|
+
let t = e[ce];
|
|
70
70
|
if (typeof t == "object" && t && !Array.isArray(t)) return t;
|
|
71
71
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
let t = e[ce];
|
|
72
|
+
function de(e) {
|
|
73
|
+
let t = e[le];
|
|
75
74
|
if (typeof t == "object" && t && !Array.isArray(t)) return t;
|
|
76
75
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
i || (i = {}, e[se] = i), i[t] = r;
|
|
76
|
+
function E(e, t, n) {
|
|
77
|
+
let r = C(n), i = T(e);
|
|
78
|
+
i || (i = {}, e[ce] = i), i[t] = r;
|
|
81
79
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
r || (r = {}, e[ce] = r), r[t] = n.map(T);
|
|
80
|
+
function fe(e, t, n) {
|
|
81
|
+
let r = de(e);
|
|
82
|
+
r || (r = {}, e[le] = r), r[t] = n.map(C);
|
|
86
83
|
}
|
|
87
|
-
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region src/hydrateArweaveRichText.ts
|
|
86
|
+
var pe = [
|
|
88
87
|
"html",
|
|
89
88
|
"Html",
|
|
90
89
|
"body",
|
|
91
90
|
"Body",
|
|
92
91
|
"content",
|
|
93
92
|
"Content"
|
|
94
|
-
],
|
|
95
|
-
function
|
|
93
|
+
], me = 8e6;
|
|
94
|
+
function he(e) {
|
|
96
95
|
let t = e.trim();
|
|
97
96
|
if (!t.startsWith("http://") && !t.startsWith("https://")) return !1;
|
|
98
97
|
try {
|
|
@@ -106,7 +105,7 @@ function ve(e) {
|
|
|
106
105
|
return !1;
|
|
107
106
|
}
|
|
108
107
|
}
|
|
109
|
-
async function
|
|
108
|
+
async function ge(e, t) {
|
|
110
109
|
try {
|
|
111
110
|
let n = await fetch(e, {
|
|
112
111
|
headers: { Accept: "text/html, text/plain, text/markdown, application/json, */*" },
|
|
@@ -116,37 +115,37 @@ async function ye(e, t) {
|
|
|
116
115
|
let r = n.headers.get("content-type") ?? "";
|
|
117
116
|
if (/^(image|video|audio)\//i.test(r)) return null;
|
|
118
117
|
let { bytes: i } = await a(n, { transactionId: t });
|
|
119
|
-
if (i.byteLength >
|
|
118
|
+
if (i.byteLength > me) return null;
|
|
120
119
|
let o = new TextDecoder("utf-8", { fatal: !1 }).decode(i);
|
|
121
120
|
return o.length === 0 || o.includes("\0") ? null : o;
|
|
122
121
|
} catch {
|
|
123
122
|
return null;
|
|
124
123
|
}
|
|
125
124
|
}
|
|
126
|
-
var
|
|
127
|
-
function
|
|
128
|
-
|
|
125
|
+
var _e = 32e6, D = /* @__PURE__ */ new Map(), O = 0, k = /* @__PURE__ */ new Map();
|
|
126
|
+
function ve() {
|
|
127
|
+
D.clear(), O = 0, k.clear();
|
|
129
128
|
}
|
|
130
|
-
function
|
|
131
|
-
if (!(t.length >
|
|
132
|
-
|
|
133
|
-
for (let [e, t] of
|
|
134
|
-
if (
|
|
135
|
-
|
|
129
|
+
function ye(e, t) {
|
|
130
|
+
if (!(t.length > _e)) {
|
|
131
|
+
D.set(e, t), O += t.length;
|
|
132
|
+
for (let [e, t] of D) {
|
|
133
|
+
if (O <= _e) break;
|
|
134
|
+
D.delete(e), O -= t.length;
|
|
136
135
|
}
|
|
137
136
|
}
|
|
138
137
|
}
|
|
139
|
-
async function
|
|
140
|
-
let t = new URL(e.trim()).pathname.replace(/^\//, ""), n =
|
|
141
|
-
if (n !== void 0) return
|
|
142
|
-
let r =
|
|
138
|
+
async function be(e) {
|
|
139
|
+
let t = new URL(e.trim()).pathname.replace(/^\//, ""), n = D.get(t);
|
|
140
|
+
if (n !== void 0) return D.delete(t), D.set(t, n), n;
|
|
141
|
+
let r = k.get(t);
|
|
143
142
|
if (r) return r;
|
|
144
|
-
let i =
|
|
145
|
-
|
|
143
|
+
let i = ge(e, t).then((e) => (e !== null && k.get(t) === i && ye(t, e), e)).finally(() => {
|
|
144
|
+
k.get(t) === i && k.delete(t);
|
|
146
145
|
});
|
|
147
|
-
return
|
|
146
|
+
return k.set(t, i), i;
|
|
148
147
|
}
|
|
149
|
-
async function
|
|
148
|
+
async function xe(e, t, n) {
|
|
150
149
|
if (n) try {
|
|
151
150
|
let r = await n({
|
|
152
151
|
propertyName: e,
|
|
@@ -154,48 +153,47 @@ async function we(e, t, n) {
|
|
|
154
153
|
});
|
|
155
154
|
if (r != null && r.length > 0) return r;
|
|
156
155
|
} catch {}
|
|
157
|
-
return
|
|
156
|
+
return he(t) ? be(t) : null;
|
|
158
157
|
}
|
|
159
|
-
var
|
|
160
|
-
async function
|
|
158
|
+
var Se = 8;
|
|
159
|
+
async function Ce(e, t) {
|
|
161
160
|
let n = 0;
|
|
162
161
|
await Promise.all(Array.from({ length: Math.min(t, e.length) }, async () => {
|
|
163
162
|
for (; n < e.length;) await e[n++]();
|
|
164
163
|
}));
|
|
165
164
|
}
|
|
166
|
-
async function
|
|
165
|
+
async function we(e, t) {
|
|
167
166
|
let n = t?.readStorageBody, r = [];
|
|
168
167
|
for (let t of e) {
|
|
169
|
-
let e = /* @__PURE__ */ new Set([...
|
|
170
|
-
if (i) for (let [t, n] of Object.entries(i))
|
|
168
|
+
let e = /* @__PURE__ */ new Set([...pe]), i = T(t);
|
|
169
|
+
if (i) for (let [t, n] of Object.entries(i)) w(n) && e.add(t);
|
|
171
170
|
for (let i of e) {
|
|
172
171
|
let e = t[i];
|
|
173
172
|
typeof e == "string" && e.trim() !== "" && r.push(async () => {
|
|
174
|
-
let r = await
|
|
173
|
+
let r = await xe(i, e, n);
|
|
175
174
|
r !== null && (t[i] = r);
|
|
176
175
|
});
|
|
177
176
|
}
|
|
178
|
-
let a =
|
|
177
|
+
let a = de(t);
|
|
179
178
|
if (a) for (let [e, i] of Object.entries(a)) {
|
|
180
179
|
let a = t[e];
|
|
181
180
|
if (!Array.isArray(a)) continue;
|
|
182
181
|
let o = Math.min(i.length, a.length);
|
|
183
182
|
for (let t = 0; t < o; t++) {
|
|
184
|
-
if (!
|
|
183
|
+
if (!w(i[t])) continue;
|
|
185
184
|
let o = a[t];
|
|
186
185
|
typeof o == "string" && r.push(async () => {
|
|
187
|
-
let r = await
|
|
186
|
+
let r = await xe(e, o, n);
|
|
188
187
|
r !== null && (a[t] = r);
|
|
189
188
|
});
|
|
190
189
|
}
|
|
191
190
|
}
|
|
192
191
|
}
|
|
193
|
-
await
|
|
192
|
+
await Ce(r, Se);
|
|
194
193
|
}
|
|
195
|
-
var De = P;
|
|
196
194
|
//#endregion
|
|
197
195
|
//#region src/parseEasPropertyMetadata.ts
|
|
198
|
-
function
|
|
196
|
+
function A(e) {
|
|
199
197
|
let t = typeof e == "string" ? e.trim() : "";
|
|
200
198
|
if (!t) return {
|
|
201
199
|
ok: !1,
|
|
@@ -219,29 +217,27 @@ function F(e) {
|
|
|
219
217
|
metadata: n[0].value
|
|
220
218
|
};
|
|
221
219
|
}
|
|
222
|
-
var Oe = F;
|
|
223
220
|
//#endregion
|
|
224
221
|
//#region src/parseEasRelationPropertyName.ts
|
|
225
|
-
function
|
|
222
|
+
function Te(e) {
|
|
226
223
|
let [t, n, r] = e.split("_");
|
|
227
224
|
if (!t || !n) return null;
|
|
228
225
|
let i = r === "ids";
|
|
229
226
|
return {
|
|
230
|
-
propertyName: i ? t.endsWith("s") ? t :
|
|
227
|
+
propertyName: i ? t.endsWith("s") ? t : b(t) : t,
|
|
231
228
|
modelName: n,
|
|
232
229
|
isList: i
|
|
233
230
|
};
|
|
234
231
|
}
|
|
235
232
|
//#endregion
|
|
236
233
|
//#region src/source/remote.ts
|
|
237
|
-
function
|
|
238
|
-
let n = new Date(e, t - 1, 1), r = new Date(e, t, 0, 23, 59, 59);
|
|
234
|
+
function Ee(e, t) {
|
|
239
235
|
return {
|
|
240
|
-
startTs:
|
|
241
|
-
endTs:
|
|
236
|
+
startTs: Date.UTC(e, t - 1, 1) / 1e3,
|
|
237
|
+
endTs: Date.UTC(e, t, 1) / 1e3
|
|
242
238
|
};
|
|
243
239
|
}
|
|
244
|
-
function
|
|
240
|
+
function De() {
|
|
245
241
|
return {
|
|
246
242
|
kind: "remote",
|
|
247
243
|
async getSeedByUid(e) {
|
|
@@ -255,7 +251,7 @@ function Ae() {
|
|
|
255
251
|
return await f(e, n.limit, n.skip, { uidPrefix: t });
|
|
256
252
|
},
|
|
257
253
|
async listSeedsBySchemaNameForMonth(e, t, n) {
|
|
258
|
-
let { startTs: r, endTs: i } =
|
|
254
|
+
let { startTs: r, endTs: i } = Ee(t, n), a = y({ AND: [{ schema: { is: { schemaNames: { some: { name: { equals: e } } } } } }, { timeCreated: {
|
|
259
255
|
gte: r,
|
|
260
256
|
lt: i
|
|
261
257
|
} }] }), { itemSeeds: c } = await o.getEasClient().request(s, {
|
|
@@ -288,13 +284,13 @@ function Ae() {
|
|
|
288
284
|
}
|
|
289
285
|
};
|
|
290
286
|
}
|
|
291
|
-
var
|
|
292
|
-
function
|
|
293
|
-
return
|
|
287
|
+
var Oe = null;
|
|
288
|
+
function j() {
|
|
289
|
+
return Oe ||= De(), Oe;
|
|
294
290
|
}
|
|
295
291
|
//#endregion
|
|
296
292
|
//#region src/assembleSeeds.ts
|
|
297
|
-
var
|
|
293
|
+
var M = "image", N = ["0x0000000000000000000000000000000000000000000000000000000000000020"], ke = /* @__PURE__ */ new Set([
|
|
298
294
|
"seedUid",
|
|
299
295
|
"SeedUid",
|
|
300
296
|
"timeCreated",
|
|
@@ -305,8 +301,8 @@ var R = "image", z = ["0x0000000000000000000000000000000000000000000000000000000
|
|
|
305
301
|
"storageTransactionId",
|
|
306
302
|
"storageProviderTransactionId",
|
|
307
303
|
"versionUid"
|
|
308
|
-
]),
|
|
309
|
-
function
|
|
304
|
+
]), P = (e) => e.replace(/_([a-z])/g, (e, t) => t.toUpperCase());
|
|
305
|
+
function Ae() {
|
|
310
306
|
return {
|
|
311
307
|
seedUidToModelType: /* @__PURE__ */ new Map(),
|
|
312
308
|
relatedSeedUids: /* @__PURE__ */ new Set(),
|
|
@@ -319,7 +315,7 @@ function Ne() {
|
|
|
319
315
|
requestedSeedUids: /* @__PURE__ */ new Set()
|
|
320
316
|
};
|
|
321
317
|
}
|
|
322
|
-
function
|
|
318
|
+
function F(e) {
|
|
323
319
|
let t = [];
|
|
324
320
|
for (let n of e.requestedSeedUids) {
|
|
325
321
|
let r = e.assembledItems.get(n);
|
|
@@ -327,18 +323,18 @@ function V(e) {
|
|
|
327
323
|
}
|
|
328
324
|
return t;
|
|
329
325
|
}
|
|
330
|
-
function
|
|
326
|
+
function I(e, t) {
|
|
331
327
|
!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
328
|
}
|
|
333
|
-
function
|
|
329
|
+
function je(e, t, n) {
|
|
334
330
|
e.relatedSeedUids.add(n);
|
|
335
331
|
let r = e.versionUidToSeedUid.get(t.refUID);
|
|
336
332
|
if (!r) return;
|
|
337
333
|
let i = e.relatedSeedUidsBySeedUid.get(r) ?? /* @__PURE__ */ new Set();
|
|
338
334
|
i.add(n), e.relatedSeedUidsBySeedUid.set(r, i);
|
|
339
335
|
}
|
|
340
|
-
async function
|
|
341
|
-
let n =
|
|
336
|
+
async function Me(e, t) {
|
|
337
|
+
let n = A(t.decodedDataJson);
|
|
342
338
|
if (!n.ok) {
|
|
343
339
|
let { id: e, refUID: r, schemaId: i } = t;
|
|
344
340
|
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,43 +343,45 @@ async function Fe(e, t) {
|
|
|
347
343
|
let r = n.metadata, i = r.name;
|
|
348
344
|
if (!i) return;
|
|
349
345
|
let a = t.schemaId;
|
|
350
|
-
|
|
346
|
+
v({
|
|
351
347
|
text: i,
|
|
352
348
|
schemaUid: a
|
|
353
349
|
});
|
|
354
|
-
let o = !1, s = !1, l = r.type
|
|
350
|
+
let o = !1, s = !1, l = r.type;
|
|
351
|
+
if (m(l, r.value)) return;
|
|
352
|
+
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
353
|
if (u || d) {
|
|
356
354
|
if (o = !0, Array.isArray(r.value)) {
|
|
357
355
|
if (s = !0, d) {
|
|
358
|
-
let e =
|
|
356
|
+
let e = Te(i);
|
|
359
357
|
e && (i = e.propertyName);
|
|
360
358
|
}
|
|
361
359
|
r.value.forEach((n) => {
|
|
362
|
-
|
|
360
|
+
N.includes(n) || je(e, t, n);
|
|
363
361
|
});
|
|
364
|
-
} else
|
|
362
|
+
} else N.includes(r.value) || je(e, t, r.value);
|
|
365
363
|
}
|
|
366
364
|
let f = r.value;
|
|
367
|
-
o && s && Array.isArray(f) ? f = f.map((e) => String(e)) : typeof f != "string" && (f = (
|
|
365
|
+
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
366
|
let p = e.versionUidToSeedUid.get(t.refUID);
|
|
369
367
|
if (!p) return;
|
|
370
|
-
let
|
|
371
|
-
|
|
372
|
-
let
|
|
373
|
-
|
|
368
|
+
let g = e.assembledItems.get(p) || {};
|
|
369
|
+
g[i] = f;
|
|
370
|
+
let _ = P(i);
|
|
371
|
+
_ !== i && (g[_] = f), e.assembledItems.set(p, g);
|
|
374
372
|
}
|
|
375
|
-
function
|
|
373
|
+
function Ne(e) {
|
|
376
374
|
let t = /* @__PURE__ */ new Map();
|
|
377
375
|
for (let [n, r] of e) (r.versionUid !== void 0 || r.asOf !== void 0) && t.set(n.toLowerCase(), r);
|
|
378
376
|
return t;
|
|
379
377
|
}
|
|
380
|
-
function
|
|
378
|
+
function Pe(e, t) {
|
|
381
379
|
let n = t.asOf, r = n === void 0 ? e : e.filter((e) => e.timeCreated <= n);
|
|
382
380
|
if (t.versionUid === void 0) return [...r].sort((e, t) => t.timeCreated - e.timeCreated)[0];
|
|
383
381
|
let i = t.versionUid.toLowerCase();
|
|
384
382
|
return r.find((e) => e.id.toLowerCase() === i);
|
|
385
383
|
}
|
|
386
|
-
async function
|
|
384
|
+
async function Fe(e, t, n, r = {}) {
|
|
387
385
|
let i = [];
|
|
388
386
|
for (let n = 0; n < t.length; n++) {
|
|
389
387
|
let r = t[n];
|
|
@@ -397,7 +395,7 @@ async function Re(e, t, n, r = {}) {
|
|
|
397
395
|
});
|
|
398
396
|
}
|
|
399
397
|
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 =
|
|
398
|
+
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
399
|
if (r.dropSeedsWithOnlyRevokedVersions) {
|
|
402
400
|
let t = new Set(c.map((e) => e.refUID));
|
|
403
401
|
for (let n of s) {
|
|
@@ -415,7 +413,7 @@ async function Re(e, t, n, r = {}) {
|
|
|
415
413
|
for (let t of i) {
|
|
416
414
|
let n = r.pins?.get(t.toLowerCase());
|
|
417
415
|
if (!n) continue;
|
|
418
|
-
let i =
|
|
416
|
+
let i = Pe(e.versionsBySeedUid.get(t) ?? [], n);
|
|
419
417
|
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
418
|
}
|
|
421
419
|
for (let [t, n] of e.versionsBySeedUid.entries()) {
|
|
@@ -424,61 +422,61 @@ async function Re(e, t, n, r = {}) {
|
|
|
424
422
|
r && (l.push(r.id), e.latestVersionUidsBySeedUid.set(t, r.id));
|
|
425
423
|
}
|
|
426
424
|
if (l.length === 0) return;
|
|
427
|
-
let d =
|
|
425
|
+
let d = g(await n.getPropertiesForVersionUids(l), c).filter((e) => {
|
|
428
426
|
let t = u.get(e.refUID);
|
|
429
427
|
return t === void 0 || e.timeCreated <= t;
|
|
430
|
-
}), f =
|
|
431
|
-
for (let t = 0; t < f.length; t++) await
|
|
428
|
+
}), f = _(d);
|
|
429
|
+
for (let t = 0; t < f.length; t++) await Me(e, f[t]);
|
|
432
430
|
}
|
|
433
|
-
function
|
|
434
|
-
for (let [, t] of
|
|
435
|
-
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !
|
|
431
|
+
function Ie(e) {
|
|
432
|
+
for (let [, t] of F(e)) {
|
|
433
|
+
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !ke.has(e));
|
|
436
434
|
for (let r of n) {
|
|
437
|
-
let n = t[r], i =
|
|
435
|
+
let n = t[r], i = ae(n);
|
|
438
436
|
if (i !== n && Array.isArray(i) && (t[r] = i, n = i), Array.isArray(n)) {
|
|
439
437
|
let i = n;
|
|
440
|
-
if (!i.some((t) => typeof t == "string" && !
|
|
438
|
+
if (!i.some((t) => typeof t == "string" && !N.includes(t) && e.assembledItems.has(t))) continue;
|
|
441
439
|
let a = [], o = [], s = !1;
|
|
442
440
|
for (let t of i) {
|
|
443
|
-
if (typeof t != "string" ||
|
|
441
|
+
if (typeof t != "string" || N.includes(t)) {
|
|
444
442
|
a.push(String(t)), o.push("unknown");
|
|
445
443
|
continue;
|
|
446
444
|
}
|
|
447
445
|
let n = e.seedUidToModelType.get(t) ?? "unknown";
|
|
448
|
-
if (n ===
|
|
449
|
-
a.push(t), o.push(
|
|
446
|
+
if (n === M) {
|
|
447
|
+
a.push(t), o.push(M);
|
|
450
448
|
continue;
|
|
451
449
|
}
|
|
452
450
|
let r = e.assembledItems.get(t), i = r?.storageTransactionId ?? r?.storage_transaction_id;
|
|
453
451
|
if (i && typeof i == "string" && i.trim()) try {
|
|
454
|
-
a.push(
|
|
452
|
+
a.push(x(i)), o.push(n), s = !0;
|
|
455
453
|
} catch {
|
|
456
454
|
a.push(t), o.push(n);
|
|
457
455
|
}
|
|
458
456
|
else a.push(t), o.push(n);
|
|
459
457
|
}
|
|
460
458
|
if (s) {
|
|
461
|
-
let e =
|
|
462
|
-
if (t[e] = a,
|
|
459
|
+
let e = S(r);
|
|
460
|
+
if (t[e] = a, fe(t, e, o), ie(t, e), e !== r) {
|
|
463
461
|
delete t[r];
|
|
464
|
-
let e =
|
|
462
|
+
let e = P(r);
|
|
465
463
|
e !== r && delete t[e];
|
|
466
464
|
}
|
|
467
465
|
}
|
|
468
466
|
} else if (typeof n == "string") {
|
|
469
|
-
if (
|
|
467
|
+
if (N.includes(n) || !e.assembledItems.has(n)) continue;
|
|
470
468
|
let i = e.assembledItems.get(n);
|
|
471
|
-
if (e.seedUidToModelType.get(n) ===
|
|
469
|
+
if (e.seedUidToModelType.get(n) === M) continue;
|
|
472
470
|
let a = i?.storageTransactionId ?? i?.storage_transaction_id;
|
|
473
471
|
if (a && typeof a == "string" && a.trim()) try {
|
|
474
472
|
let i = r.endsWith("_id") ? r.replace(/_id$/, "") : r;
|
|
475
|
-
t[i] =
|
|
473
|
+
t[i] = x(a);
|
|
476
474
|
let o = e.seedUidToModelType.get(n) ?? "unknown";
|
|
477
|
-
|
|
478
|
-
let s =
|
|
479
|
-
if (s !== i &&
|
|
475
|
+
E(t, i, o);
|
|
476
|
+
let s = P(i);
|
|
477
|
+
if (s !== i && E(t, s, o), i !== r) {
|
|
480
478
|
delete t[r];
|
|
481
|
-
let e =
|
|
479
|
+
let e = P(r);
|
|
482
480
|
e !== r && delete t[e];
|
|
483
481
|
}
|
|
484
482
|
} catch {}
|
|
@@ -486,15 +484,15 @@ function ze(e) {
|
|
|
486
484
|
}
|
|
487
485
|
}
|
|
488
486
|
}
|
|
489
|
-
function
|
|
490
|
-
for (let [, t] of
|
|
491
|
-
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !
|
|
487
|
+
function Le(e) {
|
|
488
|
+
for (let [, t] of F(e)) {
|
|
489
|
+
let n = Object.keys(t).filter((e) => !e.startsWith("_") && !ke.has(e));
|
|
492
490
|
for (let r of n) {
|
|
493
|
-
let n = t[r], i =
|
|
491
|
+
let n = t[r], i = ae(n);
|
|
494
492
|
i !== n && Array.isArray(i) && (t[r] = i, n = i);
|
|
495
493
|
let a = Array.isArray(n), o = a ? n : [n], s = [], c = !1;
|
|
496
494
|
for (let t of o) {
|
|
497
|
-
if (typeof t != "string" ||
|
|
495
|
+
if (typeof t != "string" || N.includes(t)) {
|
|
498
496
|
s.push(t);
|
|
499
497
|
continue;
|
|
500
498
|
}
|
|
@@ -504,9 +502,9 @@ function Be(e) {
|
|
|
504
502
|
continue;
|
|
505
503
|
}
|
|
506
504
|
let r = n?.storageTransactionId ?? n?.storage_transaction_id;
|
|
507
|
-
if (e.seedUidToModelType.get(t) ===
|
|
505
|
+
if (e.seedUidToModelType.get(t) === M) {
|
|
508
506
|
let e = { ...n };
|
|
509
|
-
|
|
507
|
+
I(e, t), e.schemaName = M, oe(e), s.push(e), c = !0;
|
|
510
508
|
continue;
|
|
511
509
|
}
|
|
512
510
|
if (r && typeof r == "string" && r.trim()) {
|
|
@@ -514,23 +512,23 @@ function Be(e) {
|
|
|
514
512
|
continue;
|
|
515
513
|
}
|
|
516
514
|
let i = { ...n };
|
|
517
|
-
|
|
515
|
+
I(i, t), s.push(i), c = !0;
|
|
518
516
|
}
|
|
519
517
|
if (c) {
|
|
520
|
-
let e = a ?
|
|
518
|
+
let e = a ? S(r) : r.endsWith("_id") ? r.replace(/_id$/, "") : r;
|
|
521
519
|
if (t[e] = a ? s : s[0], ie(t, e), e !== r) {
|
|
522
520
|
delete t[r];
|
|
523
|
-
let e =
|
|
521
|
+
let e = P(r);
|
|
524
522
|
e !== r && delete t[e];
|
|
525
523
|
}
|
|
526
524
|
}
|
|
527
525
|
}
|
|
528
526
|
}
|
|
529
527
|
}
|
|
530
|
-
function
|
|
531
|
-
return
|
|
528
|
+
function Re(e, t) {
|
|
529
|
+
return F(e).map(([n, r]) => {
|
|
532
530
|
let i = e.latestVersionUidsBySeedUid.get(n) ?? "";
|
|
533
|
-
i && (r.versionUid = i),
|
|
531
|
+
i && (r.versionUid = i), I(r, n);
|
|
534
532
|
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
533
|
return {
|
|
536
534
|
seedUid: n,
|
|
@@ -542,48 +540,48 @@ function Ve(e, t) {
|
|
|
542
540
|
};
|
|
543
541
|
});
|
|
544
542
|
}
|
|
545
|
-
function
|
|
543
|
+
function ze(e, t, n) {
|
|
546
544
|
let r = [t, ...n ? e.relatedSeedUidsBySeedUid.get(t) ?? [] : []], i = r.map((t) => e.latestVersionUidsBySeedUid.get(t)).filter((e) => !!e);
|
|
547
545
|
return {
|
|
548
546
|
refUIDs: [...r, ...i],
|
|
549
547
|
ids: r
|
|
550
548
|
};
|
|
551
549
|
}
|
|
552
|
-
async function
|
|
553
|
-
return
|
|
550
|
+
async function L(e, t, n, r = j(), i) {
|
|
551
|
+
return R(t, n, r, {
|
|
554
552
|
schemaName: e,
|
|
555
553
|
versions: i?.versions
|
|
556
554
|
});
|
|
557
555
|
}
|
|
558
|
-
async function
|
|
559
|
-
let a =
|
|
560
|
-
for (let
|
|
561
|
-
await
|
|
556
|
+
async function R(t, n, r, i = {}) {
|
|
557
|
+
let a = e(n), o = n?.hydrateStorage !== !1, s = Ae();
|
|
558
|
+
for (let e of t) e && s.requestedSeedUids.add(e.id);
|
|
559
|
+
await Fe(s, t, r, {
|
|
562
560
|
dropSeedsWithOnlyRevokedVersions: !0,
|
|
563
561
|
versions: i.versions,
|
|
564
|
-
pins: i.pins &&
|
|
562
|
+
pins: i.pins && Ne(i.pins)
|
|
565
563
|
});
|
|
566
564
|
let c = Array.from(s.relatedSeedUids).filter((e) => !s.assembledItems.has(e) && !s.droppedSeedUids.has(e));
|
|
567
565
|
if (a !== "uids" && c.length > 0) {
|
|
568
566
|
let [e, t] = await Promise.all([r.getSeedsByUids(c), r.getVersionsForSeeds(c, { includeRevoked: !0 })]);
|
|
569
|
-
await
|
|
567
|
+
await Fe(s, e, r, { versions: t });
|
|
570
568
|
}
|
|
571
|
-
a !== "uids" &&
|
|
572
|
-
let l =
|
|
573
|
-
o && await
|
|
569
|
+
a !== "uids" && Ie(s), a === "expand" && Le(s);
|
|
570
|
+
let l = Re(s, i.schemaName);
|
|
571
|
+
o && await we(l.map((e) => e.data), r.readStorageBody ? { readStorageBody: r.readStorageBody.bind(r) } : void 0);
|
|
574
572
|
let u = a !== "uids";
|
|
575
573
|
return {
|
|
576
574
|
records: l,
|
|
577
|
-
dependencies: new Map(l.map((e) => [e.seedUid,
|
|
575
|
+
dependencies: new Map(l.map((e) => [e.seedUid, ze(s, e.seedUid, u)]))
|
|
578
576
|
};
|
|
579
577
|
}
|
|
580
|
-
async function
|
|
581
|
-
return (await
|
|
578
|
+
async function Be(e, t, n, r = j()) {
|
|
579
|
+
return (await L(e, t, n, r)).records;
|
|
582
580
|
}
|
|
583
581
|
//#endregion
|
|
584
582
|
//#region src/changelog.ts
|
|
585
|
-
var
|
|
586
|
-
function
|
|
583
|
+
var Ve = (e) => e.replace(/_([a-z])/g, (e, t) => t.toUpperCase());
|
|
584
|
+
function z(e, t) {
|
|
587
585
|
if (Object.is(e, t)) return !0;
|
|
588
586
|
if (e === void 0 || t === void 0) return !1;
|
|
589
587
|
if (e === null || t === null) return e === t;
|
|
@@ -594,38 +592,39 @@ function Ke(e, t) {
|
|
|
594
592
|
return !1;
|
|
595
593
|
}
|
|
596
594
|
}
|
|
597
|
-
function
|
|
598
|
-
let t =
|
|
595
|
+
function B(e) {
|
|
596
|
+
let t = A(e.decodedDataJson);
|
|
599
597
|
if (!t.ok) return null;
|
|
600
598
|
let n = t.metadata, r = n.name;
|
|
601
599
|
if (!r) return null;
|
|
602
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", s = !1, l = !1;
|
|
603
601
|
if ((a || o) && (s = !0, Array.isArray(n.value) && (l = !0, o))) {
|
|
604
|
-
let e =
|
|
602
|
+
let e = Te(r);
|
|
605
603
|
e?.isList && (r = e.propertyName);
|
|
606
604
|
}
|
|
607
605
|
let u = n.value;
|
|
608
|
-
s && l && Array.isArray(u) ? u = u.map((e) => String(e)) : typeof u != "string" && (u = (
|
|
609
|
-
let d =
|
|
606
|
+
s && l && Array.isArray(u) ? u = u.map((e) => String(e)) : typeof u != "string" && (u = (h(i) ? c(u) : void 0) ?? JSON.stringify(u));
|
|
607
|
+
let d = Ve(r);
|
|
610
608
|
return {
|
|
611
609
|
propertyName: r,
|
|
612
610
|
value: u,
|
|
613
|
-
camelName: d === r ? void 0 : d
|
|
611
|
+
camelName: d === r ? void 0 : d,
|
|
612
|
+
...m(i, n.value) && { removed: !0 }
|
|
614
613
|
};
|
|
615
614
|
}
|
|
616
|
-
function
|
|
615
|
+
function He(e) {
|
|
617
616
|
let t = {};
|
|
618
617
|
for (let n of e) {
|
|
619
|
-
let e =
|
|
620
|
-
e && (t[e.propertyName] = e.value, e.camelName && (t[e.camelName] = e.value));
|
|
618
|
+
let e = B(n);
|
|
619
|
+
e && !e.removed && (t[e.propertyName] = e.value, e.camelName && (t[e.camelName] = e.value));
|
|
621
620
|
}
|
|
622
621
|
return t;
|
|
623
622
|
}
|
|
624
|
-
function
|
|
623
|
+
function Ue(e) {
|
|
625
624
|
let t = [], n = {};
|
|
626
625
|
for (let r of e) {
|
|
627
626
|
let e = r.data, i = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(e)]), a = [];
|
|
628
|
-
for (let t of i)
|
|
627
|
+
for (let t of i) z(n[t], e[t]) || a.push(t);
|
|
629
628
|
a.sort(), t.push({
|
|
630
629
|
type: "version",
|
|
631
630
|
at: r.at,
|
|
@@ -637,15 +636,15 @@ function Ye(e) {
|
|
|
637
636
|
}
|
|
638
637
|
return t;
|
|
639
638
|
}
|
|
640
|
-
function
|
|
639
|
+
function We(e) {
|
|
641
640
|
let t = [...e].sort((e, t) => e.timeCreated === t.timeCreated ? e.id.localeCompare(t.id) : e.timeCreated - t.timeCreated), n = /* @__PURE__ */ new Map(), r = [];
|
|
642
641
|
for (let e of t) {
|
|
643
|
-
let t =
|
|
642
|
+
let t = B(e);
|
|
644
643
|
if (!t) continue;
|
|
645
644
|
let i = [t.propertyName];
|
|
646
645
|
t.camelName && i.push(t.camelName);
|
|
647
|
-
let a = n.has(t.propertyName) ? n.get(t.propertyName) : void 0, o = t.value;
|
|
648
|
-
|
|
646
|
+
let a = n.has(t.propertyName) ? n.get(t.propertyName) : void 0, o = t.removed ? void 0 : t.value;
|
|
647
|
+
z(a, o) || r.push({
|
|
649
648
|
type: "property",
|
|
650
649
|
at: e.timeCreated,
|
|
651
650
|
versionUid: e.refUID,
|
|
@@ -657,7 +656,7 @@ function Xe(e) {
|
|
|
657
656
|
}
|
|
658
657
|
return r;
|
|
659
658
|
}
|
|
660
|
-
function
|
|
659
|
+
function Ge(e, t) {
|
|
661
660
|
let n = e;
|
|
662
661
|
if (typeof t?.since == "number") {
|
|
663
662
|
let e = t.since;
|
|
@@ -667,14 +666,14 @@ function Ze(e, t) {
|
|
|
667
666
|
}
|
|
668
667
|
//#endregion
|
|
669
668
|
//#region src/assembleChangelog.ts
|
|
670
|
-
async function
|
|
671
|
-
let r = t?.changelog ?? {}, i = r.granularity ?? "version", [a, o] = await Promise.all([n.getSeedByUid(e), n.getVersionsForSeed(e)]), s = [...
|
|
669
|
+
async function Ke(e, t, n = j()) {
|
|
670
|
+
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
671
|
if (s.length === 0) return {
|
|
673
672
|
latestVersionUid: "",
|
|
674
673
|
changelog: []
|
|
675
674
|
};
|
|
676
|
-
let c = s[s.length - 1].id, l = s.map((e) => e.id), u =
|
|
677
|
-
if (i === "property") d =
|
|
675
|
+
let c = s[s.length - 1].id, l = s.map((e) => e.id), u = g(await n.getPropertiesForVersionUids(l), s), d;
|
|
676
|
+
if (i === "property") d = We(u);
|
|
678
677
|
else {
|
|
679
678
|
let e = /* @__PURE__ */ new Map();
|
|
680
679
|
for (let t of u) {
|
|
@@ -683,65 +682,64 @@ async function Qe(e, t, n = L()) {
|
|
|
683
682
|
}
|
|
684
683
|
let t = [];
|
|
685
684
|
for (let n of s) {
|
|
686
|
-
let r = e.get(n.id) ?? [], i =
|
|
685
|
+
let r = e.get(n.id) ?? [], i = _(r);
|
|
687
686
|
t.push({
|
|
688
687
|
versionUid: n.id,
|
|
689
688
|
at: n.timeCreated,
|
|
690
|
-
data:
|
|
689
|
+
data: He(i)
|
|
691
690
|
});
|
|
692
691
|
}
|
|
693
|
-
d =
|
|
692
|
+
d = Ue(t);
|
|
694
693
|
}
|
|
695
694
|
return {
|
|
696
695
|
latestVersionUid: c,
|
|
697
|
-
changelog:
|
|
696
|
+
changelog: Ge(d, r)
|
|
698
697
|
};
|
|
699
698
|
}
|
|
700
699
|
//#endregion
|
|
701
700
|
//#region src/cache/etag.ts
|
|
702
|
-
function
|
|
701
|
+
function qe(e) {
|
|
703
702
|
return `"${te(ee(ne(e))).substring(0, 16)}"`;
|
|
704
703
|
}
|
|
705
|
-
function
|
|
706
|
-
return
|
|
704
|
+
function Je(e, t, n) {
|
|
705
|
+
return qe(`${e}-${t}-${n.join(",")}`);
|
|
707
706
|
}
|
|
708
|
-
function
|
|
709
|
-
return
|
|
707
|
+
function Ye(e, t) {
|
|
708
|
+
return qe(`${t}-${Xe(e)}`);
|
|
710
709
|
}
|
|
711
|
-
function
|
|
710
|
+
function Xe(e) {
|
|
712
711
|
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);
|
|
713
712
|
}
|
|
714
713
|
//#endregion
|
|
715
714
|
//#region src/cache/config.ts
|
|
716
|
-
function
|
|
715
|
+
function Ze() {
|
|
717
716
|
return globalThis.process?.env ?? {};
|
|
718
717
|
}
|
|
719
|
-
function
|
|
720
|
-
return
|
|
718
|
+
function Qe() {
|
|
719
|
+
return Ze().NODE_ENV !== "production";
|
|
721
720
|
}
|
|
722
|
-
function
|
|
723
|
-
let e =
|
|
721
|
+
function V() {
|
|
722
|
+
let e = Ze(), 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
723
|
o = r ? !1 : i ? !0 : !a;
|
|
725
|
-
let s =
|
|
724
|
+
let s = Math.max(0, parseInt(e.CACHE_MAX_AGE || "0", 10) || 0);
|
|
726
725
|
return {
|
|
727
726
|
ttl: t,
|
|
728
727
|
cacheDir: n,
|
|
729
728
|
enabled: o,
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
freezeRecords: it()
|
|
729
|
+
maxAge: s,
|
|
730
|
+
freezeRecords: Qe()
|
|
733
731
|
};
|
|
734
732
|
}
|
|
735
733
|
//#endregion
|
|
736
734
|
//#region src/cache/freeze.ts
|
|
737
|
-
function
|
|
735
|
+
function H(e) {
|
|
738
736
|
if (typeof e != "object" || !e || Object.isFrozen(e) || ArrayBuffer.isView(e)) return e;
|
|
739
|
-
for (let t of Object.values(e))
|
|
737
|
+
for (let t of Object.values(e)) H(t);
|
|
740
738
|
return Object.freeze(e);
|
|
741
739
|
}
|
|
742
740
|
//#endregion
|
|
743
741
|
//#region src/cache/MemoryCache.ts
|
|
744
|
-
var
|
|
742
|
+
var $e = class {
|
|
745
743
|
collectionCache = /* @__PURE__ */ new Map();
|
|
746
744
|
itemCache = /* @__PURE__ */ new Map();
|
|
747
745
|
config;
|
|
@@ -756,7 +754,7 @@ var st = class {
|
|
|
756
754
|
return `${e}:${t}`;
|
|
757
755
|
}
|
|
758
756
|
get freezeRecords() {
|
|
759
|
-
return this.config.freezeRecords ??
|
|
757
|
+
return this.config.freezeRecords ?? Qe();
|
|
760
758
|
}
|
|
761
759
|
expired(e) {
|
|
762
760
|
return Math.floor(Date.now() / 1e3) - e > this.config.ttl;
|
|
@@ -766,7 +764,7 @@ var st = class {
|
|
|
766
764
|
return r ? this.expired(r.lastUpdated) ? (this.collectionCache.delete(n), null) : r : null;
|
|
767
765
|
}
|
|
768
766
|
setCollection(e, t, n) {
|
|
769
|
-
if (this.freezeRecords) for (let e of n.items)
|
|
767
|
+
if (this.freezeRecords) for (let e of n.items) H(e);
|
|
770
768
|
this.collectionCache.set(this.collectionKey(e, t), n);
|
|
771
769
|
}
|
|
772
770
|
getItem(e, t) {
|
|
@@ -774,7 +772,7 @@ var st = class {
|
|
|
774
772
|
return r ? this.expired(r.lastUpdated) ? (this.itemCache.delete(n), null) : r : null;
|
|
775
773
|
}
|
|
776
774
|
setItem(e) {
|
|
777
|
-
this.freezeRecords &&
|
|
775
|
+
this.freezeRecords && H(e.record), this.itemCache.set(this.itemKey(e.record.seedUid, e.optionsKey), e);
|
|
778
776
|
}
|
|
779
777
|
clearCollection(e) {
|
|
780
778
|
for (let t of this.collectionCache.keys()) t.startsWith(`${e}\n`) && this.collectionCache.delete(t);
|
|
@@ -811,22 +809,23 @@ var st = class {
|
|
|
811
809
|
activeLocks: this.refreshLocks.size
|
|
812
810
|
};
|
|
813
811
|
}
|
|
814
|
-
},
|
|
815
|
-
function
|
|
816
|
-
|
|
812
|
+
}, et = () => null;
|
|
813
|
+
function tt(e) {
|
|
814
|
+
et = e;
|
|
817
815
|
}
|
|
818
|
-
function
|
|
816
|
+
function nt(e) {
|
|
819
817
|
let t = e;
|
|
820
818
|
return !!t && Array.isArray(t.items) && typeof t.meta == "object" && t.meta !== null && typeof t.checkedAt == "number" && Array.isArray(t.seenChangeKeys);
|
|
821
819
|
}
|
|
822
|
-
function
|
|
820
|
+
function rt(e) {
|
|
823
821
|
let t = e;
|
|
824
822
|
return !!t && !!t.record && !!t.dependencies && typeof t.checkedAt == "number" && Array.isArray(t.seenChangeKeys);
|
|
825
823
|
}
|
|
826
|
-
var
|
|
824
|
+
var U = class {
|
|
827
825
|
memoryCache;
|
|
828
826
|
persistent;
|
|
829
827
|
config;
|
|
828
|
+
collectionChecks = /* @__PURE__ */ new Map();
|
|
830
829
|
stats = {
|
|
831
830
|
hits: 0,
|
|
832
831
|
misses: 0,
|
|
@@ -834,7 +833,7 @@ var ft = class {
|
|
|
834
833
|
errors: 0
|
|
835
834
|
};
|
|
836
835
|
constructor(e, t) {
|
|
837
|
-
this.config = e, this.memoryCache = new
|
|
836
|
+
this.config = e, this.memoryCache = new $e(e), this.persistent = t === void 0 ? et(e) : t;
|
|
838
837
|
}
|
|
839
838
|
get enabled() {
|
|
840
839
|
return this.config.enabled;
|
|
@@ -848,7 +847,7 @@ var ft = class {
|
|
|
848
847
|
let n = this.memoryCache.getCollection(e, t);
|
|
849
848
|
if (n) return this.stats.hits++, n;
|
|
850
849
|
let r = await this.persistent?.getCollection(e, t) ?? null;
|
|
851
|
-
return
|
|
850
|
+
return nt(r) ? (this.memoryCache.setCollection(e, t, r), this.stats.hits++, r) : (this.stats.misses++, null);
|
|
852
851
|
} catch (t) {
|
|
853
852
|
return console.error(`Error getting query collection cache for ${e}:`, t), this.stats.errors++, null;
|
|
854
853
|
}
|
|
@@ -859,7 +858,7 @@ var ft = class {
|
|
|
859
858
|
let r = n.items.map((e) => ({
|
|
860
859
|
...e,
|
|
861
860
|
data: { ...e.data }
|
|
862
|
-
})), i =
|
|
861
|
+
})), i = Je(e, t, r.map((e) => Ye(e, t))), a = {
|
|
863
862
|
...n,
|
|
864
863
|
items: r,
|
|
865
864
|
etag: i
|
|
@@ -875,7 +874,7 @@ var ft = class {
|
|
|
875
874
|
let n = this.memoryCache.getItem(e, t);
|
|
876
875
|
if (n) return this.stats.hits++, n;
|
|
877
876
|
let r = await this.persistent?.getItem(e, t) ?? null;
|
|
878
|
-
return
|
|
877
|
+
return rt(r) ? (this.memoryCache.setItem(r), this.stats.hits++, r) : (this.stats.misses++, null);
|
|
879
878
|
} catch (t) {
|
|
880
879
|
return console.error(`Error getting query item cache for ${e}:`, t), this.stats.errors++, null;
|
|
881
880
|
}
|
|
@@ -890,7 +889,7 @@ var ft = class {
|
|
|
890
889
|
}, n = {
|
|
891
890
|
...e,
|
|
892
891
|
record: t,
|
|
893
|
-
etag:
|
|
892
|
+
etag: Ye(t, e.optionsKey)
|
|
894
893
|
};
|
|
895
894
|
return this.memoryCache.setItem(n), await this.persistent?.setItem(n), n;
|
|
896
895
|
} catch (t) {
|
|
@@ -903,11 +902,24 @@ var ft = class {
|
|
|
903
902
|
async clearItem(e, t) {
|
|
904
903
|
this.memoryCache.clearItem(e, t), await this.persistent?.clearItem(e, t);
|
|
905
904
|
}
|
|
905
|
+
markCollectionChecked(e, t) {
|
|
906
|
+
this.collectionChecks.set(e, {
|
|
907
|
+
at: Date.now(),
|
|
908
|
+
etag: t
|
|
909
|
+
});
|
|
910
|
+
}
|
|
911
|
+
async getCheckedCollection(e, t, n, r) {
|
|
912
|
+
let i = this.collectionChecks.get(e);
|
|
913
|
+
if (!i || Date.now() - i.at >= r * 1e3) return null;
|
|
914
|
+
let a = await this.getCollection(t, n);
|
|
915
|
+
return a?.etag === i.etag ? a : null;
|
|
916
|
+
}
|
|
906
917
|
async clearCollection(e) {
|
|
918
|
+
for (let t of this.collectionChecks.keys()) t.startsWith(`${e}\n`) && this.collectionChecks.delete(t);
|
|
907
919
|
this.memoryCache.clearCollection(e), await this.persistent?.clearCollection(e);
|
|
908
920
|
}
|
|
909
921
|
async clearAll() {
|
|
910
|
-
this.memoryCache.clearAll(), await this.persistent?.clearAll();
|
|
922
|
+
this.collectionChecks.clear(), this.memoryCache.clearAll(), await this.persistent?.clearAll();
|
|
911
923
|
}
|
|
912
924
|
async withRefreshLock(e, t) {
|
|
913
925
|
return this.memoryCache.withRefreshLock(e, t);
|
|
@@ -935,30 +947,30 @@ var ft = class {
|
|
|
935
947
|
errors: 0
|
|
936
948
|
};
|
|
937
949
|
}
|
|
938
|
-
},
|
|
939
|
-
function
|
|
940
|
-
return
|
|
950
|
+
}, W = null;
|
|
951
|
+
function G() {
|
|
952
|
+
return W ||= new U(V()), W;
|
|
941
953
|
}
|
|
942
|
-
function
|
|
943
|
-
|
|
954
|
+
function it() {
|
|
955
|
+
W = null;
|
|
944
956
|
}
|
|
945
|
-
function
|
|
946
|
-
return new
|
|
947
|
-
...
|
|
957
|
+
function at(e, t) {
|
|
958
|
+
return new U({
|
|
959
|
+
...V(),
|
|
948
960
|
...e
|
|
949
961
|
}, t);
|
|
950
962
|
}
|
|
951
|
-
function
|
|
963
|
+
function K() {
|
|
952
964
|
return Math.floor(Date.now() / 1e3);
|
|
953
965
|
}
|
|
954
|
-
function
|
|
966
|
+
function q(e) {
|
|
955
967
|
return e - 600;
|
|
956
968
|
}
|
|
957
|
-
function
|
|
958
|
-
return
|
|
969
|
+
function ot(e, t) {
|
|
970
|
+
return q(t) - e.checkedAt > 600;
|
|
959
971
|
}
|
|
960
|
-
var
|
|
961
|
-
async function
|
|
972
|
+
var J = (e) => `${e.id}:${e.revocationTime}`;
|
|
973
|
+
async function st(e, t, n) {
|
|
962
974
|
if (!e.listChangesSince) return null;
|
|
963
975
|
if (t.size === 0) return {
|
|
964
976
|
changed: /* @__PURE__ */ new Set(),
|
|
@@ -977,16 +989,16 @@ async function _t(e, t, n) {
|
|
|
977
989
|
ids: [...i.keys()],
|
|
978
990
|
since: n.checkedAt
|
|
979
991
|
}), s = new Set(n.seenChangeKeys), c = /* @__PURE__ */ new Set();
|
|
980
|
-
for (let e of o) if (!s.has(
|
|
992
|
+
for (let e of o) if (!s.has(J(e))) {
|
|
981
993
|
for (let t of r.get(e.refUID) ?? []) c.add(t);
|
|
982
994
|
for (let t of i.get(e.id) ?? []) c.add(t);
|
|
983
995
|
}
|
|
984
996
|
return {
|
|
985
997
|
changed: c,
|
|
986
|
-
seenChangeKeys: o.map(
|
|
998
|
+
seenChangeKeys: o.map(J)
|
|
987
999
|
};
|
|
988
1000
|
}
|
|
989
|
-
async function
|
|
1001
|
+
async function ct(e, t) {
|
|
990
1002
|
if (!e.listChangesSince) return null;
|
|
991
1003
|
let n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Map();
|
|
992
1004
|
if (t.size === 0) return {
|
|
@@ -1006,7 +1018,7 @@ async function vt(e, t) {
|
|
|
1006
1018
|
});
|
|
1007
1019
|
for (let [e, i] of t) {
|
|
1008
1020
|
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(
|
|
1021
|
+
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
1022
|
r.set(e, c);
|
|
1011
1023
|
}
|
|
1012
1024
|
return {
|
|
@@ -1016,29 +1028,29 @@ async function vt(e, t) {
|
|
|
1016
1028
|
}
|
|
1017
1029
|
//#endregion
|
|
1018
1030
|
//#region src/source/registry.ts
|
|
1019
|
-
var
|
|
1020
|
-
function
|
|
1031
|
+
var Y = null;
|
|
1032
|
+
function lt(e) {
|
|
1021
1033
|
if (e.kind !== "local") throw Error("[query] registerLocalQuerySource expects a source with kind: \"local\"");
|
|
1022
|
-
|
|
1034
|
+
Y = e;
|
|
1023
1035
|
}
|
|
1024
|
-
function
|
|
1025
|
-
|
|
1036
|
+
function ut() {
|
|
1037
|
+
Y = null;
|
|
1026
1038
|
}
|
|
1027
|
-
function
|
|
1028
|
-
return
|
|
1039
|
+
function dt() {
|
|
1040
|
+
return Y;
|
|
1029
1041
|
}
|
|
1030
|
-
function
|
|
1031
|
-
return
|
|
1042
|
+
function ft() {
|
|
1043
|
+
return Y != null;
|
|
1032
1044
|
}
|
|
1033
1045
|
//#endregion
|
|
1034
1046
|
//#region src/source/resolve.ts
|
|
1035
|
-
function
|
|
1047
|
+
function X(e = "remote") {
|
|
1036
1048
|
if (e === "remote") return {
|
|
1037
1049
|
mode: "remote",
|
|
1038
|
-
dataSource:
|
|
1050
|
+
dataSource: j(),
|
|
1039
1051
|
useQueryCache: !0
|
|
1040
1052
|
};
|
|
1041
|
-
let t =
|
|
1053
|
+
let t = dt();
|
|
1042
1054
|
if (e === "local") {
|
|
1043
1055
|
if (!t) throw Error("[query] source: \"local\" requires registerLocalQuerySource(...) (e.g. SDK DB ready)");
|
|
1044
1056
|
return {
|
|
@@ -1053,35 +1065,35 @@ function Y(e = "remote") {
|
|
|
1053
1065
|
useQueryCache: !1
|
|
1054
1066
|
} : {
|
|
1055
1067
|
mode: "auto",
|
|
1056
|
-
dataSource:
|
|
1068
|
+
dataSource: j(),
|
|
1057
1069
|
useQueryCache: !0
|
|
1058
1070
|
};
|
|
1059
1071
|
}
|
|
1060
|
-
function
|
|
1072
|
+
function Z(e) {
|
|
1061
1073
|
return e ?? "remote";
|
|
1062
1074
|
}
|
|
1063
1075
|
//#endregion
|
|
1064
1076
|
//#region src/api.ts
|
|
1065
|
-
var
|
|
1077
|
+
var Q = {
|
|
1066
1078
|
refUIDs: [],
|
|
1067
1079
|
ids: []
|
|
1068
1080
|
};
|
|
1069
|
-
function
|
|
1070
|
-
return !t || e?.cache === !1 ? !1 :
|
|
1081
|
+
function $(e, t) {
|
|
1082
|
+
return !t || e?.cache === !1 ? !1 : G().enabled;
|
|
1071
1083
|
}
|
|
1072
|
-
function
|
|
1084
|
+
function pt(e) {
|
|
1073
1085
|
return e === "data+changelog" || e === "changelog";
|
|
1074
1086
|
}
|
|
1075
|
-
function
|
|
1087
|
+
function mt(e) {
|
|
1076
1088
|
return e !== "changelog";
|
|
1077
1089
|
}
|
|
1078
|
-
async function
|
|
1079
|
-
return
|
|
1090
|
+
async function ht(e, t, n, r, i) {
|
|
1091
|
+
return L(e, await i.listSeedsBySchemaName(e, {
|
|
1080
1092
|
limit: t,
|
|
1081
1093
|
skip: n
|
|
1082
1094
|
}), r, i);
|
|
1083
1095
|
}
|
|
1084
|
-
async function
|
|
1096
|
+
async function gt(e, t, n) {
|
|
1085
1097
|
let r = await n(t);
|
|
1086
1098
|
if (e !== "auto" || t.kind !== "local") return {
|
|
1087
1099
|
assembled: r,
|
|
@@ -1093,142 +1105,157 @@ async function Et(e, t, n) {
|
|
|
1093
1105
|
dataSource: t,
|
|
1094
1106
|
useQueryCache: !1
|
|
1095
1107
|
};
|
|
1096
|
-
let i =
|
|
1108
|
+
let i = j();
|
|
1097
1109
|
return {
|
|
1098
1110
|
assembled: await n(i),
|
|
1099
1111
|
dataSource: i,
|
|
1100
1112
|
useQueryCache: !0
|
|
1101
1113
|
};
|
|
1102
1114
|
}
|
|
1103
|
-
async function
|
|
1104
|
-
await
|
|
1115
|
+
async function _t(e, t, n, r = []) {
|
|
1116
|
+
await G().writeThroughItems(e.records.map((i) => ({
|
|
1105
1117
|
record: i,
|
|
1106
1118
|
optionsKey: t,
|
|
1107
|
-
dependencies: e.dependencies.get(i.seedUid) ??
|
|
1108
|
-
checkedAt:
|
|
1119
|
+
dependencies: e.dependencies.get(i.seedUid) ?? Q,
|
|
1120
|
+
checkedAt: q(n),
|
|
1109
1121
|
seenChangeKeys: r,
|
|
1110
1122
|
lastUpdated: n
|
|
1111
1123
|
})));
|
|
1112
1124
|
}
|
|
1113
|
-
|
|
1114
|
-
let
|
|
1125
|
+
function vt(e) {
|
|
1126
|
+
let t = /* @__PURE__ */ new Map();
|
|
1127
|
+
for (let n of e.items) {
|
|
1128
|
+
let r = e.meta[n.seedUid]?.dependencies ?? Q;
|
|
1129
|
+
t.set(n.seedUid, {
|
|
1130
|
+
refUIDs: r.refUIDs,
|
|
1131
|
+
ids: r.ids.filter((e) => e !== n.seedUid)
|
|
1132
|
+
});
|
|
1133
|
+
}
|
|
1134
|
+
return t;
|
|
1135
|
+
}
|
|
1136
|
+
async function yt(e, t, n, r, i) {
|
|
1137
|
+
let a = G(), o = K(), s = await a.getCollection(e, r), c = s ? vt(s) : void 0, [l, u] = await Promise.all([i.listSeedsBySchemaName(e, {
|
|
1115
1138
|
limit: t,
|
|
1116
1139
|
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) : {
|
|
1140
|
+
}), s && c ? st(i, c, s) : void 0]), d = new Map(s?.items.map((e) => [e.seedUid, e]) ?? []), f = /* @__PURE__ */ new Set(), p = [];
|
|
1141
|
+
s && c && (u ? (f = u.changed, p = u.seenChangeKeys) : f = new Set(c.keys()));
|
|
1142
|
+
let m = l.filter((e) => !d.has(e.id) || f.has(e.id)), h = m.length > 0 ? await L(e, m, n, i) : {
|
|
1128
1143
|
records: [],
|
|
1129
1144
|
dependencies: /* @__PURE__ */ new Map()
|
|
1130
|
-
},
|
|
1131
|
-
for (let e of
|
|
1132
|
-
let t =
|
|
1133
|
-
t ? (
|
|
1134
|
-
dependencies:
|
|
1145
|
+
}, g = new Map(h.records.map((e) => [e.seedUid, e])), _ = [], v = {};
|
|
1146
|
+
for (let e of l) {
|
|
1147
|
+
let t = g.get(e.id);
|
|
1148
|
+
t ? (_.push(t), v[e.id] = {
|
|
1149
|
+
dependencies: h.dependencies.get(e.id) ?? Q,
|
|
1135
1150
|
builtAt: o
|
|
1136
|
-
}) : s && !
|
|
1137
|
-
dependencies:
|
|
1151
|
+
}) : s && !f.has(e.id) && d.has(e.id) && (_.push(d.get(e.id)), v[e.id] = s.meta[e.id] ?? {
|
|
1152
|
+
dependencies: Q,
|
|
1138
1153
|
builtAt: o
|
|
1139
1154
|
});
|
|
1140
1155
|
}
|
|
1141
|
-
let
|
|
1142
|
-
if (s &&
|
|
1143
|
-
items:
|
|
1156
|
+
let y = !!s && h.records.length === 0 && _.length === s.items.length && _.every((e, t) => e === s.items[t]);
|
|
1157
|
+
if (s && y && !ot(s, o)) return {
|
|
1158
|
+
items: _,
|
|
1144
1159
|
limit: t,
|
|
1145
1160
|
skip: 0,
|
|
1146
1161
|
etag: s.etag
|
|
1147
1162
|
};
|
|
1148
1163
|
s && a.recordRefresh();
|
|
1149
|
-
let
|
|
1150
|
-
items:
|
|
1151
|
-
meta:
|
|
1152
|
-
checkedAt:
|
|
1153
|
-
seenChangeKeys:
|
|
1164
|
+
let b = await a.setCollection(e, r, {
|
|
1165
|
+
items: _,
|
|
1166
|
+
meta: v,
|
|
1167
|
+
checkedAt: q(o),
|
|
1168
|
+
seenChangeKeys: p,
|
|
1154
1169
|
lastUpdated: s?.lastUpdated ?? o
|
|
1155
1170
|
});
|
|
1156
|
-
return await
|
|
1157
|
-
items:
|
|
1171
|
+
return await _t(h, r, o, p), {
|
|
1172
|
+
items: b ? [...b.items] : _,
|
|
1158
1173
|
limit: t,
|
|
1159
1174
|
skip: 0,
|
|
1160
|
-
etag:
|
|
1175
|
+
etag: b?.etag
|
|
1161
1176
|
};
|
|
1162
1177
|
}
|
|
1163
|
-
var
|
|
1164
|
-
function
|
|
1178
|
+
var bt = 4;
|
|
1179
|
+
function xt(e) {
|
|
1165
1180
|
let t = e.trim().toLowerCase().replace(/^0x/, "");
|
|
1166
|
-
return t.length <
|
|
1181
|
+
return t.length < bt || t.length > 64 || !/^[0-9a-f]+$/.test(t) ? null : `0x${t}`;
|
|
1167
1182
|
}
|
|
1168
|
-
async function
|
|
1169
|
-
await
|
|
1170
|
-
let i = r?.limit ?? 100, a = r?.skip ?? 0, o =
|
|
1171
|
-
if (r?.uidPrefix !== void 0 && (l =
|
|
1183
|
+
async function St(e, r) {
|
|
1184
|
+
await t();
|
|
1185
|
+
let i = r?.limit ?? 100, a = r?.skip ?? 0, o = Z(r?.source), s = X(o), c = n(r), l = null;
|
|
1186
|
+
if (r?.uidPrefix !== void 0 && (l = xt(r.uidPrefix), !l)) return {
|
|
1172
1187
|
items: [],
|
|
1173
1188
|
limit: i,
|
|
1174
1189
|
skip: a
|
|
1175
1190
|
};
|
|
1176
|
-
let u = async (
|
|
1191
|
+
let u = async (t) => l ? L(e, await t.listSeedsByUidPrefix(e, l, {
|
|
1177
1192
|
limit: i,
|
|
1178
1193
|
skip: a
|
|
1179
|
-
}), r,
|
|
1180
|
-
if (!l &&
|
|
1181
|
-
let
|
|
1182
|
-
return
|
|
1194
|
+
}), r, t) : ht(e, i, a, r, t);
|
|
1195
|
+
if (!l && $(r, s.useQueryCache) && a === 0 && s.dataSource.kind === "remote") {
|
|
1196
|
+
let t = G(), n = `${e}\n${c}\n${i}`, a = r?.maxAge ?? t.getConfig().maxAge ?? 0;
|
|
1197
|
+
return t.withRefreshLock(n, async () => {
|
|
1198
|
+
if (a > 0) {
|
|
1199
|
+
let r = await t.getCheckedCollection(n, e, c, a);
|
|
1200
|
+
if (r) return {
|
|
1201
|
+
items: [...r.items],
|
|
1202
|
+
limit: i,
|
|
1203
|
+
skip: 0,
|
|
1204
|
+
etag: r.etag
|
|
1205
|
+
};
|
|
1206
|
+
}
|
|
1207
|
+
let o = await yt(e, i, r, c, s.dataSource);
|
|
1208
|
+
return o.etag && t.markCollectionChecked(n, o.etag), o;
|
|
1209
|
+
});
|
|
1183
1210
|
}
|
|
1184
|
-
let d =
|
|
1185
|
-
return
|
|
1211
|
+
let d = K(), { assembled: f, dataSource: p, useQueryCache: m } = await gt(o, s.dataSource, (e) => u(e));
|
|
1212
|
+
return $(r, m) && p.kind === "remote" && await _t(f, c, d), {
|
|
1186
1213
|
items: f.records,
|
|
1187
1214
|
limit: i,
|
|
1188
1215
|
skip: a
|
|
1189
1216
|
};
|
|
1190
1217
|
}
|
|
1191
|
-
async function
|
|
1192
|
-
let n =
|
|
1218
|
+
async function Ct(e, t) {
|
|
1219
|
+
let n = G(), r = /* @__PURE__ */ new Map();
|
|
1193
1220
|
await Promise.all(e.map(async ({ seedUid: e, optionsKey: t }) => {
|
|
1194
1221
|
let i = await n.getItem(e, t);
|
|
1195
1222
|
i && r.set(e, i);
|
|
1196
1223
|
}));
|
|
1197
1224
|
let i = /* @__PURE__ */ new Map();
|
|
1198
1225
|
if (r.size === 0) return i;
|
|
1199
|
-
let a =
|
|
1226
|
+
let a = K(), o = /* @__PURE__ */ new Map();
|
|
1200
1227
|
for (let [e, t] of r) o.set(e, t);
|
|
1201
|
-
let s = await
|
|
1202
|
-
for (let [e, t] of r) !s || s.changed.has(e) ? await n.clearItem(e, t.optionsKey) : (
|
|
1228
|
+
let s = await ct(t, o);
|
|
1229
|
+
for (let [e, t] of r) !s || s.changed.has(e) ? await n.clearItem(e, t.optionsKey) : (ot(t, a) && await n.setItem({
|
|
1203
1230
|
...t,
|
|
1204
|
-
checkedAt:
|
|
1231
|
+
checkedAt: q(a),
|
|
1205
1232
|
seenChangeKeys: s.seenChangeKeys.get(e) ?? []
|
|
1206
1233
|
}), i.set(e, t.record));
|
|
1207
1234
|
return i;
|
|
1208
1235
|
}
|
|
1209
|
-
async function
|
|
1210
|
-
return (await
|
|
1236
|
+
async function wt(e, t, n) {
|
|
1237
|
+
return (await Ct([{
|
|
1211
1238
|
seedUid: e,
|
|
1212
1239
|
optionsKey: t
|
|
1213
1240
|
}], n)).get(e) ?? null;
|
|
1214
1241
|
}
|
|
1215
|
-
function
|
|
1242
|
+
function Tt(e) {
|
|
1216
1243
|
if (e?.versionUid !== void 0 || e?.asOf !== void 0) return {
|
|
1217
1244
|
versionUid: e.versionUid,
|
|
1218
1245
|
asOf: e.asOf
|
|
1219
1246
|
};
|
|
1220
1247
|
}
|
|
1221
|
-
async function
|
|
1222
|
-
if (await
|
|
1223
|
-
let i =
|
|
1224
|
-
if (
|
|
1225
|
-
let e = await
|
|
1248
|
+
async function Et(e, r) {
|
|
1249
|
+
if (await t(), !e || typeof e != "string" || e.trim() === "") return null;
|
|
1250
|
+
let i = e.trim(), a = r?.include ?? "data", o = Z(r?.source), s = X(o), c = n(r), l = s.dataSource, u = s.useQueryCache;
|
|
1251
|
+
if ($(r, u) && l.kind === "remote") {
|
|
1252
|
+
let e = await wt(i, c, l);
|
|
1226
1253
|
if (e) return e;
|
|
1227
1254
|
}
|
|
1228
|
-
let d = (e) => Promise.all([e.getSeedByUid(i), e.getVersionsForSeeds([i], { includeRevoked: !0 })]), f =
|
|
1255
|
+
let d = (e) => Promise.all([e.getSeedByUid(i), e.getVersionsForSeeds([i], { includeRevoked: !0 })]), f = K(), [p, m] = await d(l);
|
|
1229
1256
|
if (!p && o === "auto" && l.kind === "local") {
|
|
1230
|
-
if (l =
|
|
1231
|
-
let e = await
|
|
1257
|
+
if (l = j(), u = !0, $(r, u)) {
|
|
1258
|
+
let e = await wt(i, c, l);
|
|
1232
1259
|
if (e) return e;
|
|
1233
1260
|
}
|
|
1234
1261
|
[p, m] = await d(l);
|
|
@@ -1239,18 +1266,18 @@ async function Pt(t, r) {
|
|
|
1239
1266
|
let g = null, _ = {
|
|
1240
1267
|
refUIDs: [i],
|
|
1241
1268
|
ids: [i]
|
|
1242
|
-
}, v =
|
|
1243
|
-
let e = await
|
|
1269
|
+
}, v = Tt(r), y = async () => {
|
|
1270
|
+
let e = await R([p], r, l, {
|
|
1244
1271
|
schemaName: h,
|
|
1245
1272
|
versions: m,
|
|
1246
1273
|
pins: v && /* @__PURE__ */ new Map([[i, v]])
|
|
1247
1274
|
}), t = e.records[0];
|
|
1248
1275
|
return t && (_ = e.dependencies.get(t.seedUid) ?? _), t ?? null;
|
|
1249
1276
|
};
|
|
1250
|
-
if (!
|
|
1277
|
+
if (!pt(a)) g = await y();
|
|
1251
1278
|
else {
|
|
1252
|
-
let { latestVersionUid: e, changelog: t } = await
|
|
1253
|
-
if (
|
|
1279
|
+
let { latestVersionUid: e, changelog: t } = await Ke(i, r, l);
|
|
1280
|
+
if (mt(a)) {
|
|
1254
1281
|
let e = await y();
|
|
1255
1282
|
g = e ? {
|
|
1256
1283
|
...e,
|
|
@@ -1271,12 +1298,12 @@ async function Pt(t, r) {
|
|
|
1271
1298
|
ids: _.ids
|
|
1272
1299
|
};
|
|
1273
1300
|
}
|
|
1274
|
-
if (g &&
|
|
1275
|
-
let e = await
|
|
1301
|
+
if (g && $(r, u) && l.kind === "remote") {
|
|
1302
|
+
let e = await G().setItem({
|
|
1276
1303
|
record: g,
|
|
1277
1304
|
optionsKey: c,
|
|
1278
1305
|
dependencies: _,
|
|
1279
|
-
checkedAt:
|
|
1306
|
+
checkedAt: q(f),
|
|
1280
1307
|
seenChangeKeys: [],
|
|
1281
1308
|
lastUpdated: f
|
|
1282
1309
|
});
|
|
@@ -1284,28 +1311,28 @@ async function Pt(t, r) {
|
|
|
1284
1311
|
}
|
|
1285
1312
|
return g;
|
|
1286
1313
|
}
|
|
1287
|
-
async function
|
|
1288
|
-
await
|
|
1314
|
+
async function Dt(e, r) {
|
|
1315
|
+
await t();
|
|
1289
1316
|
let i = /* @__PURE__ */ new Map();
|
|
1290
|
-
for (let
|
|
1291
|
-
if (typeof
|
|
1292
|
-
let
|
|
1293
|
-
i.has(
|
|
1317
|
+
for (let t of e) {
|
|
1318
|
+
if (typeof t != "string" || t.trim() === "") continue;
|
|
1319
|
+
let e = t.trim().toLowerCase();
|
|
1320
|
+
i.has(e) || i.set(e, t.trim());
|
|
1294
1321
|
}
|
|
1295
1322
|
let a = [...i.keys()];
|
|
1296
1323
|
if (a.length === 0) return /* @__PURE__ */ new Map();
|
|
1297
1324
|
let o = /* @__PURE__ */ new Map();
|
|
1298
1325
|
for (let [e, t] of r?.pins ?? []) {
|
|
1299
|
-
let n =
|
|
1326
|
+
let n = Tt(t);
|
|
1300
1327
|
n && o.set(e.trim().toLowerCase(), n);
|
|
1301
1328
|
}
|
|
1302
1329
|
let s = (e) => n({
|
|
1303
1330
|
...r,
|
|
1304
1331
|
...o.get(e)
|
|
1305
|
-
}), c =
|
|
1306
|
-
let i =
|
|
1332
|
+
}), c = Z(r?.source), l = X(c), u = /* @__PURE__ */ new Map(), d = async (e, t, n) => {
|
|
1333
|
+
let i = $(r, t) && e.kind === "remote", a = n;
|
|
1307
1334
|
if (i) {
|
|
1308
|
-
let t = await
|
|
1335
|
+
let t = await Ct(n.map((e) => ({
|
|
1309
1336
|
seedUid: e,
|
|
1310
1337
|
optionsKey: s(e)
|
|
1311
1338
|
})), e);
|
|
@@ -1313,21 +1340,21 @@ async function Ft(t, r) {
|
|
|
1313
1340
|
a = n.filter((e) => !t.has(e));
|
|
1314
1341
|
}
|
|
1315
1342
|
if (a.length === 0) return [];
|
|
1316
|
-
let c =
|
|
1343
|
+
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 R(a.map((e) => f.get(e)).filter((e) => !!e?.schema?.schemaNames?.[0]?.name), r, e, {
|
|
1317
1344
|
versions: d,
|
|
1318
1345
|
pins: o
|
|
1319
1346
|
});
|
|
1320
1347
|
for (let e of m.records) {
|
|
1321
1348
|
let t = e;
|
|
1322
1349
|
if (i) {
|
|
1323
|
-
let n = await
|
|
1350
|
+
let n = await G().setItem({
|
|
1324
1351
|
record: e,
|
|
1325
1352
|
optionsKey: s(e.seedUid.toLowerCase()),
|
|
1326
1353
|
dependencies: m.dependencies.get(e.seedUid) ?? {
|
|
1327
1354
|
refUIDs: [e.seedUid],
|
|
1328
1355
|
ids: [e.seedUid]
|
|
1329
1356
|
},
|
|
1330
|
-
checkedAt:
|
|
1357
|
+
checkedAt: q(c),
|
|
1331
1358
|
seenChangeKeys: [],
|
|
1332
1359
|
lastUpdated: c
|
|
1333
1360
|
});
|
|
@@ -1337,7 +1364,7 @@ async function Ft(t, r) {
|
|
|
1337
1364
|
}
|
|
1338
1365
|
return p;
|
|
1339
1366
|
}, f = await d(l.dataSource, l.useQueryCache, a);
|
|
1340
|
-
f.length > 0 && c === "auto" && l.dataSource.kind === "local" && await d(
|
|
1367
|
+
f.length > 0 && c === "auto" && l.dataSource.kind === "local" && await d(j(), !0, f);
|
|
1341
1368
|
let p = /* @__PURE__ */ new Map();
|
|
1342
1369
|
for (let [e, t] of i) {
|
|
1343
1370
|
let n = u.get(e);
|
|
@@ -1345,12 +1372,12 @@ async function Ft(t, r) {
|
|
|
1345
1372
|
}
|
|
1346
1373
|
return p;
|
|
1347
1374
|
}
|
|
1348
|
-
async function
|
|
1349
|
-
await
|
|
1350
|
-
let o =
|
|
1351
|
-
return
|
|
1375
|
+
async function Ot(e, r, i, a) {
|
|
1376
|
+
await t();
|
|
1377
|
+
let o = Z(a?.source), s = X(o), c = async (t) => L(e, await t.listSeedsBySchemaNameForMonth(e, r, i), a, t), l = K(), { assembled: u, dataSource: d, useQueryCache: f } = await gt(o, s.dataSource, c);
|
|
1378
|
+
return $(a, f) && d.kind === "remote" && await _t(u, n(a), l), u.records;
|
|
1352
1379
|
}
|
|
1353
1380
|
//#endregion
|
|
1354
|
-
export {
|
|
1381
|
+
export { we as A, oe as B, We as C, j as D, De as E, de as F, ie as H, w as I, ue as L, ve as M, se as N, Te as O, T as P, E as R, B as S, Be as T, ae as U, S as V, x as W, V as _, Ot as a, He as b, ut as c, lt as d, at as f, tt as g, U as h, St as i, he as j, A as k, dt as l, it as m, Dt as n, Z as o, G as p, xt as r, X as s, Et as t, ft as u, Ke as v, Ue as w, z as x, Ge as y, fe as z };
|
|
1355
1382
|
|
|
1356
|
-
//# sourceMappingURL=src-
|
|
1383
|
+
//# sourceMappingURL=src-C4engEq9.js.map
|