@relyio/sdk 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -0
- package/dist/chunk-7BZW6XYJ.cjs +433 -0
- package/dist/chunk-CQHEG7QA.js +411 -0
- package/dist/{chunk-PCFTJLEP.js → chunk-DIZY6CKM.js} +2 -2
- package/dist/{chunk-X4KSS7PP.cjs → chunk-GHYB6IZK.cjs} +2 -2
- package/dist/{chunk-DBBZVZOS.js → chunk-NIUOPIIB.js} +413 -552
- package/dist/{chunk-GUPV2M3X.cjs → chunk-RLLZUFDB.cjs} +450 -585
- package/dist/client/index.cjs +4 -3
- package/dist/client/index.d.cts +3 -4
- package/dist/client/index.d.ts +3 -4
- package/dist/client/index.js +2 -1
- package/dist/{define-content-type-DOrZb_a_.d.ts → define-content-type-CAWSlgn0.d.ts} +579 -81
- package/dist/{define-content-type-BUZeWtpk.d.cts → define-content-type-LkI0rS2W.d.cts} +579 -81
- package/dist/{define-schema-5aHmsA8j.d.ts → define-schema-Dxu3RoHV.d.ts} +1 -1
- package/dist/{define-schema-nCfZeboB.d.cts → define-schema-wlsJOrnY.d.cts} +1 -1
- package/dist/{index-DOhFQbv7.d.ts → index-BH8JksfG.d.ts} +472 -179
- package/dist/{index-B97ZDj44.d.ts → index-CGtYxUuh.d.ts} +1 -1
- package/dist/{index-C-pcllqY.d.cts → index-CcHmRALk.d.cts} +1 -1
- package/dist/{index-DgVV5Nj7.d.cts → index-D80MXUkf.d.cts} +472 -179
- package/dist/index.cjs +96 -71
- package/dist/index.d.cts +26 -16
- package/dist/index.d.ts +26 -16
- package/dist/index.js +4 -3
- package/dist/markdown/index.cjs +10 -2
- package/dist/markdown/index.d.cts +12 -3
- package/dist/markdown/index.d.ts +12 -3
- package/dist/markdown/index.js +10 -2
- package/dist/preview/index.cjs +29 -0
- package/dist/preview/index.d.cts +117 -0
- package/dist/preview/index.d.ts +117 -0
- package/dist/preview/index.js +4 -0
- package/dist/rich-text/index.d.cts +2 -2
- package/dist/rich-text/index.d.ts +2 -2
- package/dist/schema/index.cjs +33 -33
- package/dist/schema/index.d.cts +3 -3
- package/dist/schema/index.d.ts +3 -3
- package/dist/schema/index.js +1 -1
- package/dist/types/index.d.cts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +10 -4
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
import { __name } from './chunk-XQ4QHWZE.js';
|
|
2
|
+
|
|
3
|
+
/* RelyIO SDK - Built with ❤️ by the RelyIO Team */
|
|
4
|
+
|
|
5
|
+
// ../../platform/api-contract/dist/chunk-46347LG2.js
|
|
6
|
+
function defineRoute(route) {
|
|
7
|
+
if (route.kind === "raw" && route.standardShape === void 0) {
|
|
8
|
+
throw new Error("kind 'raw' requires a named StandardShape");
|
|
9
|
+
}
|
|
10
|
+
if (route.kind === "raw" && route.success === 302 && !route.headers.some((header) => header.name === "Location")) {
|
|
11
|
+
throw new Error("a raw route declaring success 302 must declare its 'Location' header");
|
|
12
|
+
}
|
|
13
|
+
if (route.kind === "stream" && route.stream === void 0) {
|
|
14
|
+
throw new Error("kind 'stream' requires a StreamDeclaration");
|
|
15
|
+
}
|
|
16
|
+
if (route.kind === "collection" && route.page === void 0) {
|
|
17
|
+
throw new Error("kind 'collection' requires a page dialect");
|
|
18
|
+
}
|
|
19
|
+
if (route.queues === true) {
|
|
20
|
+
if (route.kind !== "object" && route.kind !== "empty") {
|
|
21
|
+
throw new Error(
|
|
22
|
+
`kind '${route.kind}' cannot declare \`queues\`: only an object or empty route answers 202 beside its own status`
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
if (route.kind === "object" && route.success === 202) {
|
|
26
|
+
throw new Error("a route whose own status is 202 cannot also declare `queues`");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if ((route.kind === "object" || route.kind === "collection") && route.negotiated !== void 0) {
|
|
30
|
+
refuseMismatchedAlternate(route, route.negotiated["text/event-stream"]);
|
|
31
|
+
}
|
|
32
|
+
return route;
|
|
33
|
+
}
|
|
34
|
+
__name(defineRoute, "defineRoute");
|
|
35
|
+
function refuseMismatchedAlternate(route, stream) {
|
|
36
|
+
if (stream.kind !== "stream") {
|
|
37
|
+
throw new Error("a negotiated 'text/event-stream' alternate must be kind 'stream'");
|
|
38
|
+
}
|
|
39
|
+
if (stream.stream.mediaType !== "text/event-stream") {
|
|
40
|
+
throw new Error(
|
|
41
|
+
`a negotiated 'text/event-stream' alternate declares media type "${stream.stream.mediaType}"`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
const own = [...new Set(route.codes)].sort();
|
|
45
|
+
const alternate = [...new Set(stream.codes)].sort();
|
|
46
|
+
if (own.length !== alternate.length || own.some((code, index) => code !== alternate[index])) {
|
|
47
|
+
throw new Error(
|
|
48
|
+
`a negotiated alternate refuses with [${alternate.join(", ")}] while its route refuses with [${own.join(", ")}]; one route refuses with one set of codes on every transport`
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
__name(refuseMismatchedAlternate, "refuseMismatchedAlternate");
|
|
53
|
+
|
|
54
|
+
// ../../platform/api-contract/dist/index.js
|
|
55
|
+
var HEADER_RETRY_AFTER = { name: "Retry-After" };
|
|
56
|
+
var HEADER_IF_MATCH = {
|
|
57
|
+
name: "If-Match",
|
|
58
|
+
in: "request",
|
|
59
|
+
required: false
|
|
60
|
+
};
|
|
61
|
+
function entityTag(parts) {
|
|
62
|
+
return `"${parts.entryUid}:${parts.locale}:${parts.version}:${parts.sharedVersion}"`;
|
|
63
|
+
}
|
|
64
|
+
__name(entityTag, "entityTag");
|
|
65
|
+
var HEADER_IDEMPOTENCY_KEY = {
|
|
66
|
+
name: "Idempotency-Key",
|
|
67
|
+
in: "request",
|
|
68
|
+
required: false
|
|
69
|
+
};
|
|
70
|
+
var FRESH_PARAMETER = "_fresh";
|
|
71
|
+
var K = new Uint32Array([
|
|
72
|
+
1116352408,
|
|
73
|
+
1899447441,
|
|
74
|
+
3049323471,
|
|
75
|
+
3921009573,
|
|
76
|
+
961987163,
|
|
77
|
+
1508970993,
|
|
78
|
+
2453635748,
|
|
79
|
+
2870763221,
|
|
80
|
+
3624381080,
|
|
81
|
+
310598401,
|
|
82
|
+
607225278,
|
|
83
|
+
1426881987,
|
|
84
|
+
1925078388,
|
|
85
|
+
2162078206,
|
|
86
|
+
2614888103,
|
|
87
|
+
3248222580,
|
|
88
|
+
3835390401,
|
|
89
|
+
4022224774,
|
|
90
|
+
264347078,
|
|
91
|
+
604807628,
|
|
92
|
+
770255983,
|
|
93
|
+
1249150122,
|
|
94
|
+
1555081692,
|
|
95
|
+
1996064986,
|
|
96
|
+
2554220882,
|
|
97
|
+
2821834349,
|
|
98
|
+
2952996808,
|
|
99
|
+
3210313671,
|
|
100
|
+
3336571891,
|
|
101
|
+
3584528711,
|
|
102
|
+
113926993,
|
|
103
|
+
338241895,
|
|
104
|
+
666307205,
|
|
105
|
+
773529912,
|
|
106
|
+
1294757372,
|
|
107
|
+
1396182291,
|
|
108
|
+
1695183700,
|
|
109
|
+
1986661051,
|
|
110
|
+
2177026350,
|
|
111
|
+
2456956037,
|
|
112
|
+
2730485921,
|
|
113
|
+
2820302411,
|
|
114
|
+
3259730800,
|
|
115
|
+
3345764771,
|
|
116
|
+
3516065817,
|
|
117
|
+
3600352804,
|
|
118
|
+
4094571909,
|
|
119
|
+
275423344,
|
|
120
|
+
430227734,
|
|
121
|
+
506948616,
|
|
122
|
+
659060556,
|
|
123
|
+
883997877,
|
|
124
|
+
958139571,
|
|
125
|
+
1322822218,
|
|
126
|
+
1537002063,
|
|
127
|
+
1747873779,
|
|
128
|
+
1955562222,
|
|
129
|
+
2024104815,
|
|
130
|
+
2227730452,
|
|
131
|
+
2361852424,
|
|
132
|
+
2428436474,
|
|
133
|
+
2756734187,
|
|
134
|
+
3204031479,
|
|
135
|
+
3329325298
|
|
136
|
+
]);
|
|
137
|
+
var rotr = /* @__PURE__ */ __name((value, bits) => value >>> bits | value << 32 - bits, "rotr");
|
|
138
|
+
function sha256Hex(text) {
|
|
139
|
+
const bytes = new globalThis.TextEncoder().encode(text);
|
|
140
|
+
const blocks = Math.ceil((bytes.length + 9) / 64);
|
|
141
|
+
const padded = new Uint8Array(blocks * 64);
|
|
142
|
+
padded.set(bytes);
|
|
143
|
+
padded[bytes.length] = 128;
|
|
144
|
+
const view = new DataView(padded.buffer);
|
|
145
|
+
const bits = bytes.length * 8;
|
|
146
|
+
view.setUint32(padded.length - 8, Math.floor(bits / 4294967296));
|
|
147
|
+
view.setUint32(padded.length - 4, bits >>> 0);
|
|
148
|
+
const hash = new Uint32Array([
|
|
149
|
+
1779033703,
|
|
150
|
+
3144134277,
|
|
151
|
+
1013904242,
|
|
152
|
+
2773480762,
|
|
153
|
+
1359893119,
|
|
154
|
+
2600822924,
|
|
155
|
+
528734635,
|
|
156
|
+
1541459225
|
|
157
|
+
]);
|
|
158
|
+
const w = new Uint32Array(64);
|
|
159
|
+
for (let block = 0; block < blocks; block++) {
|
|
160
|
+
for (let i = 0; i < 16; i++) w[i] = view.getUint32(block * 64 + i * 4);
|
|
161
|
+
for (let i = 16; i < 64; i++) {
|
|
162
|
+
const w15 = w[i - 15];
|
|
163
|
+
const w2 = w[i - 2];
|
|
164
|
+
const s0 = rotr(w15, 7) ^ rotr(w15, 18) ^ w15 >>> 3;
|
|
165
|
+
const s1 = rotr(w2, 17) ^ rotr(w2, 19) ^ w2 >>> 10;
|
|
166
|
+
w[i] = w[i - 16] + s0 + w[i - 7] + s1 >>> 0;
|
|
167
|
+
}
|
|
168
|
+
let a = hash[0];
|
|
169
|
+
let b = hash[1];
|
|
170
|
+
let c = hash[2];
|
|
171
|
+
let d = hash[3];
|
|
172
|
+
let e = hash[4];
|
|
173
|
+
let f = hash[5];
|
|
174
|
+
let g = hash[6];
|
|
175
|
+
let h = hash[7];
|
|
176
|
+
for (let i = 0; i < 64; i++) {
|
|
177
|
+
const s1 = rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25);
|
|
178
|
+
const choice = e & f ^ ~e & g;
|
|
179
|
+
const t1 = h + s1 + choice + K[i] + w[i] >>> 0;
|
|
180
|
+
const s0 = rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22);
|
|
181
|
+
const majority = a & b ^ a & c ^ b & c;
|
|
182
|
+
const t2 = s0 + majority >>> 0;
|
|
183
|
+
h = g;
|
|
184
|
+
g = f;
|
|
185
|
+
f = e;
|
|
186
|
+
e = d + t1 >>> 0;
|
|
187
|
+
d = c;
|
|
188
|
+
c = b;
|
|
189
|
+
b = a;
|
|
190
|
+
a = t1 + t2 >>> 0;
|
|
191
|
+
}
|
|
192
|
+
hash[0] = hash[0] + a;
|
|
193
|
+
hash[1] = hash[1] + b;
|
|
194
|
+
hash[2] = hash[2] + c;
|
|
195
|
+
hash[3] = hash[3] + d;
|
|
196
|
+
hash[4] = hash[4] + e;
|
|
197
|
+
hash[5] = hash[5] + f;
|
|
198
|
+
hash[6] = hash[6] + g;
|
|
199
|
+
hash[7] = hash[7] + h;
|
|
200
|
+
}
|
|
201
|
+
return Array.from(hash, (word) => word.toString(16).padStart(8, "0")).join("");
|
|
202
|
+
}
|
|
203
|
+
__name(sha256Hex, "sha256Hex");
|
|
204
|
+
var PREVIEW_DATASET_PREFIX = "preview/";
|
|
205
|
+
var READABLE_MAX = 40;
|
|
206
|
+
var HASH_DIGITS = 8;
|
|
207
|
+
function previewDatasetSlug(branch) {
|
|
208
|
+
const name = branch.startsWith("refs/heads/") ? branch.slice("refs/heads/".length) : branch;
|
|
209
|
+
if (name === "") {
|
|
210
|
+
throw new TypeError(`previewDatasetSlug: ${JSON.stringify(branch)} names no Git branch`);
|
|
211
|
+
}
|
|
212
|
+
const readable = name.toLowerCase().replaceAll(/[^a-z0-9]+/g, "-").replaceAll(/^-+|-+$/g, "").slice(0, READABLE_MAX).replace(/-+$/, "");
|
|
213
|
+
const hash = sha256Hex(name).slice(0, HASH_DIGITS);
|
|
214
|
+
return `${PREVIEW_DATASET_PREFIX}${readable === "" ? "" : `${readable}-`}${hash}`;
|
|
215
|
+
}
|
|
216
|
+
__name(previewDatasetSlug, "previewDatasetSlug");
|
|
217
|
+
var VISITOR_LIVE_PATH = "/visitor/changes";
|
|
218
|
+
var VISITOR_QUERY = {
|
|
219
|
+
/** The publishable key. */
|
|
220
|
+
key: "key",
|
|
221
|
+
/** A dataset id or name the key reaches; absent, the key's default dataset. */
|
|
222
|
+
dataset: "dataset",
|
|
223
|
+
/** The cursor to continue from; absent, the socket starts now. */
|
|
224
|
+
since: "since",
|
|
225
|
+
/** Comma-separated content types to keep; absent keeps every type. */
|
|
226
|
+
types: "types",
|
|
227
|
+
/** Comma-separated entry ids to keep; absent keeps every entry. */
|
|
228
|
+
ids: "ids",
|
|
229
|
+
/** The poll's client id. Required on a poll, and not read on a socket. */
|
|
230
|
+
client: "client"
|
|
231
|
+
};
|
|
232
|
+
var VISITOR_CURSOR = /^[\w.~-]{1,256}$/;
|
|
233
|
+
var VISITOR_POLL_INTERVAL_MS = 15e3;
|
|
234
|
+
var VISITOR_KEEPALIVE = { request: "ping", response: "pong" };
|
|
235
|
+
var VISITOR_FRAMES = {
|
|
236
|
+
opened: "feed.opened",
|
|
237
|
+
changes: "feed.changes",
|
|
238
|
+
resync: "feed.resync"
|
|
239
|
+
};
|
|
240
|
+
defineRoute({
|
|
241
|
+
kind: "object",
|
|
242
|
+
headers: [HEADER_RETRY_AFTER],
|
|
243
|
+
codes: [
|
|
244
|
+
"REQUEST_INVALID",
|
|
245
|
+
"MISSING_API_KEY",
|
|
246
|
+
"INVALID_API_KEY",
|
|
247
|
+
"ACCESS_DENIED",
|
|
248
|
+
"METHOD_NOT_ALLOWED",
|
|
249
|
+
"SERVICE_INDETERMINATE",
|
|
250
|
+
"USAGE_QUOTA_EXCEEDED",
|
|
251
|
+
"RATE_LIMIT_EXCEEDED"
|
|
252
|
+
]
|
|
253
|
+
});
|
|
254
|
+
var VISITOR_CLOSE_CODES = {
|
|
255
|
+
/** A query the door cannot read: a malformed `since`, filter, `dataset` or `client`. */
|
|
256
|
+
requestInvalid: 4400,
|
|
257
|
+
/** No publishable key, or one that is unknown, revoked, expired, a secret key or a preview key. */
|
|
258
|
+
keyRefused: 4401,
|
|
259
|
+
/** The page's `Origin` is absent, or not on the key's allowed origins. */
|
|
260
|
+
originRefused: 4403,
|
|
261
|
+
/** `dataset` names nothing the key reaches. */
|
|
262
|
+
datasetRefused: 4404,
|
|
263
|
+
/** The key's scope, the project's counter or the feed could not be reached just now. */
|
|
264
|
+
unavailable: 1013,
|
|
265
|
+
/**
|
|
266
|
+
* The project holds as many visitor connections as its plan allows — Starter's 100 — or its
|
|
267
|
+
* Organization is suspended. As HTTP's 402: more needs a bigger plan, or visitors leaving.
|
|
268
|
+
*/
|
|
269
|
+
allowanceReached: 4402,
|
|
270
|
+
/** This client's address holds as many connections to the project as one address may. */
|
|
271
|
+
addressLimitReached: 4429,
|
|
272
|
+
/** The project is at its per-project safety ceiling — Pro's 50,000 — whatever it would pay for. */
|
|
273
|
+
ceilingReached: 4503
|
|
274
|
+
};
|
|
275
|
+
var VISITOR_CLOSE_RETRY = {
|
|
276
|
+
4400: "stop",
|
|
277
|
+
4401: "stop",
|
|
278
|
+
4403: "stop",
|
|
279
|
+
4404: "stop",
|
|
280
|
+
1013: "retry",
|
|
281
|
+
4402: "back-off",
|
|
282
|
+
4429: "back-off",
|
|
283
|
+
4503: "back-off"
|
|
284
|
+
};
|
|
285
|
+
var VISITOR_POLL_RETRY = {
|
|
286
|
+
REQUEST_INVALID: "stop",
|
|
287
|
+
MISSING_API_KEY: "stop",
|
|
288
|
+
INVALID_API_KEY: "stop",
|
|
289
|
+
ACCESS_DENIED: "stop",
|
|
290
|
+
METHOD_NOT_ALLOWED: "stop",
|
|
291
|
+
SERVICE_INDETERMINATE: "retry",
|
|
292
|
+
USAGE_QUOTA_EXCEEDED: "back-off",
|
|
293
|
+
RATE_LIMIT_EXCEEDED: "back-off"
|
|
294
|
+
};
|
|
295
|
+
var VISITOR_ADMISSION_RETRY_AFTER_SECONDS = 60;
|
|
296
|
+
function parseVisitorFrame(text) {
|
|
297
|
+
let value;
|
|
298
|
+
try {
|
|
299
|
+
value = JSON.parse(text);
|
|
300
|
+
} catch {
|
|
301
|
+
return null;
|
|
302
|
+
}
|
|
303
|
+
if (!isRecord2(value) || !isCursor(value.cursor)) return null;
|
|
304
|
+
switch (value.type) {
|
|
305
|
+
case VISITOR_FRAMES.opened: {
|
|
306
|
+
return hasOnly(value, ["type", "cursor"]) ? { type: VISITOR_FRAMES.opened, cursor: value.cursor } : null;
|
|
307
|
+
}
|
|
308
|
+
case VISITOR_FRAMES.changes: {
|
|
309
|
+
const changes = hasOnly(value, ["type", "changes", "cursor"]) ? readVisitorChanges(value.changes) : null;
|
|
310
|
+
return changes === null ? null : { type: VISITOR_FRAMES.changes, changes, cursor: value.cursor };
|
|
311
|
+
}
|
|
312
|
+
case VISITOR_FRAMES.resync: {
|
|
313
|
+
return hasOnly(value, ["type", "reason", "cursor"]) && isResyncReason(value.reason) ? { type: VISITOR_FRAMES.resync, reason: value.reason, cursor: value.cursor } : null;
|
|
314
|
+
}
|
|
315
|
+
default: {
|
|
316
|
+
return null;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
__name(parseVisitorFrame, "parseVisitorFrame");
|
|
321
|
+
function readVisitorPollAnswer(value) {
|
|
322
|
+
if (!isRecord2(value) || !isCursor(value.cursor)) return null;
|
|
323
|
+
if (value.kind === "resync") {
|
|
324
|
+
return hasOnly(value, ["kind", "reason", "cursor"]) && isResyncReason(value.reason) ? { kind: "resync", reason: value.reason, cursor: value.cursor } : null;
|
|
325
|
+
}
|
|
326
|
+
if (value.kind !== "changes" || !hasOnly(value, ["kind", "changes", "cursor"])) return null;
|
|
327
|
+
const changes = readVisitorChanges(value.changes);
|
|
328
|
+
return changes === null ? null : { kind: "changes", changes, cursor: value.cursor };
|
|
329
|
+
}
|
|
330
|
+
__name(readVisitorPollAnswer, "readVisitorPollAnswer");
|
|
331
|
+
var CHANGE_KINDS = /* @__PURE__ */ new Set([
|
|
332
|
+
"published",
|
|
333
|
+
"updated",
|
|
334
|
+
"unpublished",
|
|
335
|
+
"deleted"
|
|
336
|
+
]);
|
|
337
|
+
var RESYNC_REASONS = /* @__PURE__ */ new Set([
|
|
338
|
+
"retention",
|
|
339
|
+
"dataset-replaced",
|
|
340
|
+
"ahead-of-head",
|
|
341
|
+
"foreign-cursor",
|
|
342
|
+
"too-far-behind"
|
|
343
|
+
]);
|
|
344
|
+
function isResyncReason(value) {
|
|
345
|
+
return typeof value === "string" && RESYNC_REASONS.has(value);
|
|
346
|
+
}
|
|
347
|
+
__name(isResyncReason, "isResyncReason");
|
|
348
|
+
function readVisitorChanges(value) {
|
|
349
|
+
if (!Array.isArray(value)) return null;
|
|
350
|
+
const changes = [];
|
|
351
|
+
for (const item of value) {
|
|
352
|
+
if (!isRecord2(item) || !hasOnly(item, ["entryId", "contentType", "locale", "kind"])) return null;
|
|
353
|
+
const { entryId, contentType, locale, kind } = item;
|
|
354
|
+
if (!isNonEmptyString2(entryId) || !isNonEmptyString2(contentType)) return null;
|
|
355
|
+
if (locale !== null && typeof locale !== "string") return null;
|
|
356
|
+
if (typeof kind !== "string" || !CHANGE_KINDS.has(kind)) return null;
|
|
357
|
+
changes.push({ entryId, contentType, locale, kind });
|
|
358
|
+
}
|
|
359
|
+
return changes;
|
|
360
|
+
}
|
|
361
|
+
__name(readVisitorChanges, "readVisitorChanges");
|
|
362
|
+
function isCursor(value) {
|
|
363
|
+
return typeof value === "string" && VISITOR_CURSOR.test(value);
|
|
364
|
+
}
|
|
365
|
+
__name(isCursor, "isCursor");
|
|
366
|
+
function isRecord2(value) {
|
|
367
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
368
|
+
}
|
|
369
|
+
__name(isRecord2, "isRecord2");
|
|
370
|
+
function isNonEmptyString2(value) {
|
|
371
|
+
return typeof value === "string" && value.length > 0;
|
|
372
|
+
}
|
|
373
|
+
__name(isNonEmptyString2, "isNonEmptyString2");
|
|
374
|
+
function hasOnly(value, keys) {
|
|
375
|
+
const present = Object.keys(value);
|
|
376
|
+
return present.length === keys.length && present.every((key) => keys.includes(key));
|
|
377
|
+
}
|
|
378
|
+
__name(hasOnly, "hasOnly");
|
|
379
|
+
|
|
380
|
+
// src/preview/index.ts
|
|
381
|
+
var UNKNOWN_PREVIEW_RECHECK_MS = 6e4;
|
|
382
|
+
var NOT_PREVIEW = Object.freeze({ state: "not-preview" });
|
|
383
|
+
function previewAtRequest(env) {
|
|
384
|
+
return vercel(env) ?? NOT_PREVIEW;
|
|
385
|
+
}
|
|
386
|
+
__name(previewAtRequest, "previewAtRequest");
|
|
387
|
+
function previewAtBuild(env) {
|
|
388
|
+
const fromVercel = vercel(env);
|
|
389
|
+
if (fromVercel !== void 0) return fromVercel;
|
|
390
|
+
if (env.CONTEXT !== void 0) {
|
|
391
|
+
if (env.CONTEXT !== "deploy-preview") return NOT_PREVIEW;
|
|
392
|
+
return hasValue(env.HEAD) ? { state: "preview", host: "netlify", branch: env.HEAD } : { state: "no-branch", host: "netlify" };
|
|
393
|
+
}
|
|
394
|
+
if (env.CF_PAGES !== void 0) return { state: "undecidable", host: "cloudflare-pages" };
|
|
395
|
+
return NOT_PREVIEW;
|
|
396
|
+
}
|
|
397
|
+
__name(previewAtBuild, "previewAtBuild");
|
|
398
|
+
function vercel(env) {
|
|
399
|
+
if (env.VERCEL_ENV === void 0) return void 0;
|
|
400
|
+
if (env.VERCEL_ENV !== "preview") return NOT_PREVIEW;
|
|
401
|
+
return hasValue(env.VERCEL_GIT_COMMIT_REF) ? { state: "preview", host: "vercel", branch: env.VERCEL_GIT_COMMIT_REF } : { state: "no-branch", host: "vercel" };
|
|
402
|
+
}
|
|
403
|
+
__name(vercel, "vercel");
|
|
404
|
+
function hasValue(value) {
|
|
405
|
+
return value !== void 0 && value !== "";
|
|
406
|
+
}
|
|
407
|
+
__name(hasValue, "hasValue");
|
|
408
|
+
|
|
409
|
+
export { FRESH_PARAMETER, HEADER_IDEMPOTENCY_KEY, HEADER_IF_MATCH, HEADER_RETRY_AFTER, PREVIEW_DATASET_PREFIX, UNKNOWN_PREVIEW_RECHECK_MS, VISITOR_ADMISSION_RETRY_AFTER_SECONDS, VISITOR_CLOSE_CODES, VISITOR_CLOSE_RETRY, VISITOR_FRAMES, VISITOR_KEEPALIVE, VISITOR_LIVE_PATH, VISITOR_POLL_INTERVAL_MS, VISITOR_POLL_RETRY, VISITOR_QUERY, entityTag, parseVisitorFrame, previewAtBuild, previewAtRequest, previewDatasetSlug, readVisitorPollAnswer };
|
|
410
|
+
//# sourceMappingURL=chunk-CQHEG7QA.js.map
|
|
411
|
+
//# sourceMappingURL=chunk-CQHEG7QA.js.map
|
|
@@ -946,5 +946,5 @@ __name(json, "json");
|
|
|
946
946
|
var fields = fields_exports;
|
|
947
947
|
|
|
948
948
|
export { BUILT_IN_ROLES, BUILT_IN_ROLE_ACTIONS, ROLE_ACTIONS, buildFallbackChain, defineAssetType, defineContentType, defineContentTypeWorkflow, defineLocale, defineQuery, defineRole, defineSchema, defineSettingsGroup, defineSingleton, defineView, defineWorkflow, defineWorkflowStage, fields, fieldset, findDefaultLocale, findWorkflowStage, getActiveLocales, getBuiltInRoleActions, getFirstWorkflowStage, getLocaleCodes, getNextWorkflowStage, getWorkflowStageIds, isBuiltInRole, isFinalWorkflowStage, isLocaleDefinition, isRoleDefinition, isWorkflowDefinition, isWorkflowStageDefinition };
|
|
949
|
-
//# sourceMappingURL=chunk-
|
|
950
|
-
//# sourceMappingURL=chunk-
|
|
949
|
+
//# sourceMappingURL=chunk-DIZY6CKM.js.map
|
|
950
|
+
//# sourceMappingURL=chunk-DIZY6CKM.js.map
|
|
@@ -979,5 +979,5 @@ exports.isLocaleDefinition = isLocaleDefinition;
|
|
|
979
979
|
exports.isRoleDefinition = isRoleDefinition;
|
|
980
980
|
exports.isWorkflowDefinition = isWorkflowDefinition;
|
|
981
981
|
exports.isWorkflowStageDefinition = isWorkflowStageDefinition;
|
|
982
|
-
//# sourceMappingURL=chunk-
|
|
983
|
-
//# sourceMappingURL=chunk-
|
|
982
|
+
//# sourceMappingURL=chunk-GHYB6IZK.cjs.map
|
|
983
|
+
//# sourceMappingURL=chunk-GHYB6IZK.cjs.map
|