@uniformdev/next-app-router 20.72.3-alpha.2 → 20.72.3-alpha.23
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/dist/cache.js +67 -20
- package/dist/cache.mjs +67 -20
- package/dist/component.js +64 -27
- package/dist/component.mjs +50 -13
- package/dist/handler.js +157 -153
- package/dist/handler.mjs +157 -153
- package/dist/index.d.mts +7 -2
- package/dist/index.d.ts +7 -2
- package/dist/index.esm.js +195 -54
- package/dist/index.js +196 -54
- package/dist/index.mjs +195 -54
- package/dist/middleware.js +172 -160
- package/dist/middleware.mjs +172 -160
- package/package.json +8 -8
package/dist/index.js
CHANGED
|
@@ -408,6 +408,7 @@ __export(index_exports, {
|
|
|
408
408
|
expireMiddlewareCacheTag: () => expireMiddlewareCacheTag,
|
|
409
409
|
findRouteMatch: () => findRouteMatch,
|
|
410
410
|
getCanvasClient: () => getCanvasClient,
|
|
411
|
+
getCompositionDeliveryClient: () => getCompositionDeliveryClient,
|
|
411
412
|
getManifest: () => getManifest,
|
|
412
413
|
getManifestClient: () => getManifestClient,
|
|
413
414
|
getProjectMapClient: () => getProjectMapClient,
|
|
@@ -435,6 +436,7 @@ var __accessCheck2 = (obj, member, msg) => member.has(obj) || __typeError2("Cann
|
|
|
435
436
|
var __privateGet2 = (obj, member, getter) => (__accessCheck2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
436
437
|
var __privateAdd2 = (obj, member, value) => member.has(obj) ? __typeError2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
437
438
|
var defaultLimitPolicy = (0, import_p_limit.default)(6);
|
|
439
|
+
var UNIFORM_BEARER_TOKEN_NOT_VALID_OR_EXPIRED_MESSAGE = "Bearer token not valid or expired";
|
|
438
440
|
var ApiClientError = class _ApiClientError extends Error {
|
|
439
441
|
constructor(errorMessage, fetchMethod, fetchUri, statusCode, statusText, requestId) {
|
|
440
442
|
super(
|
|
@@ -450,6 +452,12 @@ var ApiClientError = class _ApiClientError extends Error {
|
|
|
450
452
|
Object.setPrototypeOf(this, _ApiClientError.prototype);
|
|
451
453
|
}
|
|
452
454
|
};
|
|
455
|
+
var BearerTokenNotValidOrExpiredError = class _BearerTokenNotValidOrExpiredError extends ApiClientError {
|
|
456
|
+
constructor(errorMessage, fetchMethod, fetchUri, statusCode, statusText, requestId) {
|
|
457
|
+
super(errorMessage, fetchMethod, fetchUri, statusCode, statusText, requestId);
|
|
458
|
+
Object.setPrototypeOf(this, _BearerTokenNotValidOrExpiredError.prototype);
|
|
459
|
+
}
|
|
460
|
+
};
|
|
453
461
|
var ApiClient = class _ApiClient {
|
|
454
462
|
constructor(options) {
|
|
455
463
|
__publicField2(this, "options");
|
|
@@ -483,7 +491,7 @@ var ApiClient = class _ApiClient {
|
|
|
483
491
|
}
|
|
484
492
|
async apiClientWithResponse(fetchUri, options) {
|
|
485
493
|
return this.options.limitPolicy(async () => {
|
|
486
|
-
var _a;
|
|
494
|
+
var _a, _b;
|
|
487
495
|
const coreHeaders = this.options.apiKey ? {
|
|
488
496
|
"x-api-key": this.options.apiKey
|
|
489
497
|
} : {
|
|
@@ -519,9 +527,19 @@ var ApiClient = class _ApiClient {
|
|
|
519
527
|
} catch (e) {
|
|
520
528
|
message = `General error`;
|
|
521
529
|
}
|
|
530
|
+
if (apiResponse.status === 401 && message === UNIFORM_BEARER_TOKEN_NOT_VALID_OR_EXPIRED_MESSAGE) {
|
|
531
|
+
throw new BearerTokenNotValidOrExpiredError(
|
|
532
|
+
message,
|
|
533
|
+
(_a = options == null ? void 0 : options.method) != null ? _a : "GET",
|
|
534
|
+
fetchUri.toString(),
|
|
535
|
+
apiResponse.status,
|
|
536
|
+
apiResponse.statusText,
|
|
537
|
+
_ApiClient.getRequestId(apiResponse)
|
|
538
|
+
);
|
|
539
|
+
}
|
|
522
540
|
throw new ApiClientError(
|
|
523
541
|
message,
|
|
524
|
-
(
|
|
542
|
+
(_b = options == null ? void 0 : options.method) != null ? _b : "GET",
|
|
525
543
|
fetchUri.toString(),
|
|
526
544
|
apiResponse.status,
|
|
527
545
|
apiResponse.statusText,
|
|
@@ -1225,6 +1243,16 @@ function createLimitPolicy({
|
|
|
1225
1243
|
return currentFunc();
|
|
1226
1244
|
};
|
|
1227
1245
|
}
|
|
1246
|
+
var ContentClientBase = class extends ApiClient {
|
|
1247
|
+
constructor(options, defaultBypassCache) {
|
|
1248
|
+
var _a, _b;
|
|
1249
|
+
super({
|
|
1250
|
+
...options,
|
|
1251
|
+
limitPolicy: (_a = options.limitPolicy) != null ? _a : createLimitPolicy({}),
|
|
1252
|
+
bypassCache: (_b = options.bypassCache) != null ? _b : defaultBypassCache
|
|
1253
|
+
});
|
|
1254
|
+
}
|
|
1255
|
+
};
|
|
1228
1256
|
var SELECT_QUERY_PREFIX = "select.";
|
|
1229
1257
|
function appendCsv(out, key, values) {
|
|
1230
1258
|
if (values === void 0) {
|
|
@@ -1269,7 +1297,105 @@ function projectionToQuery(spec) {
|
|
|
1269
1297
|
}
|
|
1270
1298
|
return out;
|
|
1271
1299
|
}
|
|
1272
|
-
var
|
|
1300
|
+
var CANVAS_PERSONALIZE_TYPE = "$personalization";
|
|
1301
|
+
var CANVAS_TEST_TYPE = "$test";
|
|
1302
|
+
var CANVAS_BLOCK_PARAM_TYPE = "$block";
|
|
1303
|
+
var CANVAS_PERSONALIZE_SLOT = "pz";
|
|
1304
|
+
var CANVAS_TEST_SLOT = "test";
|
|
1305
|
+
var CANVAS_DRAFT_STATE = 0;
|
|
1306
|
+
var CANVAS_PUBLISHED_STATE = 64;
|
|
1307
|
+
var CANVAS_EDITOR_STATE = 63;
|
|
1308
|
+
var CANVAS_PERSONALIZATION_PARAM = "$pzCrit";
|
|
1309
|
+
var CANVAS_TEST_VARIANT_PARAM = "$tstVrnt";
|
|
1310
|
+
var CANVAS_ENRICHMENT_TAG_PARAM = "$enr";
|
|
1311
|
+
var CANVAS_INTERNAL_PARAM_PREFIX = "$internal_";
|
|
1312
|
+
var CANVAS_COMPONENT_DISPLAY_NAME_PARAM = `${CANVAS_INTERNAL_PARAM_PREFIX}displayName`;
|
|
1313
|
+
var CANVAS_HYPOTHESIS_PARAM = `${CANVAS_INTERNAL_PARAM_PREFIX}hypothesis`;
|
|
1314
|
+
var CANVAS_CONTEXTUAL_EDITING_PARAM = "$contextualEditing";
|
|
1315
|
+
var IN_CONTEXT_EDITOR_QUERY_STRING_PARAM = "is_incontext_editing_mode";
|
|
1316
|
+
var PLACEHOLDER_ID = "placeholder";
|
|
1317
|
+
var EDGE_MAX_CACHE_TTL = 24 * 60 * 60;
|
|
1318
|
+
function resolveCompositionSelector(args) {
|
|
1319
|
+
if ("compositionId" in args) {
|
|
1320
|
+
const { compositionId, editionId, versionId, ...readOptions } = args;
|
|
1321
|
+
return {
|
|
1322
|
+
readOptions,
|
|
1323
|
+
// raw mode matches on composition OR edition id via the compositionId param
|
|
1324
|
+
compositionId: editionId != null ? editionId : compositionId,
|
|
1325
|
+
versionId,
|
|
1326
|
+
hasCompositionId: true,
|
|
1327
|
+
pinnedEdition: editionId !== void 0
|
|
1328
|
+
};
|
|
1329
|
+
}
|
|
1330
|
+
return { readOptions: args, hasCompositionId: false, pinnedEdition: false };
|
|
1331
|
+
}
|
|
1332
|
+
var DEFAULT_EDGE_API_HOST = "https://uniform.global";
|
|
1333
|
+
var DeliveryClientBase = class extends ContentClientBase {
|
|
1334
|
+
constructor(options) {
|
|
1335
|
+
var _a;
|
|
1336
|
+
super(
|
|
1337
|
+
options,
|
|
1338
|
+
/* defaultBypassCache */
|
|
1339
|
+
false
|
|
1340
|
+
);
|
|
1341
|
+
this.edgeApiHost = (_a = options.edgeApiHost) != null ? _a : DEFAULT_EDGE_API_HOST;
|
|
1342
|
+
this.edgeRequestInit = options.disableSWR ? { headers: { "x-disable-swr": "true" } } : void 0;
|
|
1343
|
+
}
|
|
1344
|
+
/** Coerces the `diagnostics` option into the shape the edge endpoints accept. */
|
|
1345
|
+
coerceDiagnostics(diagnostics) {
|
|
1346
|
+
return typeof diagnostics === "boolean" ? diagnostics : diagnostics === "no-data" ? "no-data" : void 0;
|
|
1347
|
+
}
|
|
1348
|
+
};
|
|
1349
|
+
var EDGE_SINGLE_URL = "/api/v1/composition";
|
|
1350
|
+
var EDGE_LIST_URL = "/api/v1/compositions";
|
|
1351
|
+
var CompositionDeliveryClient = class extends DeliveryClientBase {
|
|
1352
|
+
constructor(options) {
|
|
1353
|
+
super(options);
|
|
1354
|
+
}
|
|
1355
|
+
/** Fetches exactly one composition (throws `ApiClientError(404)` if absent). */
|
|
1356
|
+
get(args) {
|
|
1357
|
+
var _a;
|
|
1358
|
+
const { diagnostics, select, ...rest } = args;
|
|
1359
|
+
const { readOptions, compositionId, versionId, pinnedEdition } = resolveCompositionSelector(rest);
|
|
1360
|
+
const url = this.createUrl(
|
|
1361
|
+
EDGE_SINGLE_URL,
|
|
1362
|
+
{
|
|
1363
|
+
...readOptions,
|
|
1364
|
+
...projectionToQuery(select),
|
|
1365
|
+
// A pinned edition is folded into compositionId (raw matches edition or
|
|
1366
|
+
// composition id); there is no editionId query param on this endpoint.
|
|
1367
|
+
compositionId,
|
|
1368
|
+
versionId,
|
|
1369
|
+
projectId: this.options.projectId,
|
|
1370
|
+
state: (_a = args.state) != null ? _a : CANVAS_PUBLISHED_STATE,
|
|
1371
|
+
// editionId pins a specific edition for preview; otherwise locale-best.
|
|
1372
|
+
editions: pinnedEdition ? "raw" : "auto",
|
|
1373
|
+
diagnostics: this.coerceDiagnostics(diagnostics)
|
|
1374
|
+
},
|
|
1375
|
+
this.edgeApiHost
|
|
1376
|
+
);
|
|
1377
|
+
return this.apiClient(url, this.edgeRequestInit);
|
|
1378
|
+
}
|
|
1379
|
+
/** Fetches a list of compositions, optionally filtered. */
|
|
1380
|
+
list(args = {}) {
|
|
1381
|
+
var _a;
|
|
1382
|
+
const { diagnostics, filters, select, ...rest } = args;
|
|
1383
|
+
const url = this.createUrl(
|
|
1384
|
+
EDGE_LIST_URL,
|
|
1385
|
+
{
|
|
1386
|
+
...rest,
|
|
1387
|
+
...rewriteFiltersForApi(filters),
|
|
1388
|
+
...projectionToQuery(select),
|
|
1389
|
+
projectId: this.options.projectId,
|
|
1390
|
+
state: (_a = args.state) != null ? _a : CANVAS_PUBLISHED_STATE,
|
|
1391
|
+
diagnostics: this.coerceDiagnostics(diagnostics)
|
|
1392
|
+
},
|
|
1393
|
+
this.edgeApiHost
|
|
1394
|
+
);
|
|
1395
|
+
return this.apiClient(url, this.edgeRequestInit);
|
|
1396
|
+
}
|
|
1397
|
+
};
|
|
1398
|
+
var CANVAS_URL2 = "/api/v1/canvas";
|
|
1273
1399
|
var CanvasClient = class extends ApiClient {
|
|
1274
1400
|
constructor(options) {
|
|
1275
1401
|
var _a;
|
|
@@ -1287,7 +1413,7 @@ var CanvasClient = class extends ApiClient {
|
|
|
1287
1413
|
const rewrittenFilters = rewriteFiltersForApi(filters);
|
|
1288
1414
|
const rewrittenSelect = projectionToQuery(select);
|
|
1289
1415
|
if (!resolveData) {
|
|
1290
|
-
const fetchUri = this.createUrl(
|
|
1416
|
+
const fetchUri = this.createUrl(CANVAS_URL2, {
|
|
1291
1417
|
...originParams,
|
|
1292
1418
|
projectId,
|
|
1293
1419
|
...rewrittenFilters,
|
|
@@ -1335,7 +1461,7 @@ var CanvasClient = class extends ApiClient {
|
|
|
1335
1461
|
}) {
|
|
1336
1462
|
const { projectId } = this.options;
|
|
1337
1463
|
if (skipDataResolution) {
|
|
1338
|
-
return this.apiClient(this.createUrl(
|
|
1464
|
+
return this.apiClient(this.createUrl(CANVAS_URL2, { ...params, projectId }));
|
|
1339
1465
|
}
|
|
1340
1466
|
const edgeParams = {
|
|
1341
1467
|
...params,
|
|
@@ -1347,7 +1473,7 @@ var CanvasClient = class extends ApiClient {
|
|
|
1347
1473
|
}
|
|
1348
1474
|
/** Updates or creates a Canvas component definition */
|
|
1349
1475
|
async updateComposition(body, options) {
|
|
1350
|
-
const fetchUri = this.createUrl(
|
|
1476
|
+
const fetchUri = this.createUrl(CANVAS_URL2);
|
|
1351
1477
|
const headers = {};
|
|
1352
1478
|
if (options == null ? void 0 : options.ifUnmodifiedSince) {
|
|
1353
1479
|
headers["x-if-unmodified-since"] = options.ifUnmodifiedSince;
|
|
@@ -1362,7 +1488,7 @@ var CanvasClient = class extends ApiClient {
|
|
|
1362
1488
|
}
|
|
1363
1489
|
/** Deletes a Canvas component definition */
|
|
1364
1490
|
async removeComposition(body) {
|
|
1365
|
-
const fetchUri = this.createUrl(
|
|
1491
|
+
const fetchUri = this.createUrl(CANVAS_URL2);
|
|
1366
1492
|
const { projectId } = this.options;
|
|
1367
1493
|
await this.apiClient(fetchUri, {
|
|
1368
1494
|
method: "DELETE",
|
|
@@ -1501,14 +1627,18 @@ var _DataTypeClient = class _DataTypeClient2 extends ApiClient {
|
|
|
1501
1627
|
constructor(options) {
|
|
1502
1628
|
super(options);
|
|
1503
1629
|
}
|
|
1504
|
-
/** Fetches
|
|
1505
|
-
async
|
|
1630
|
+
/** Fetches a list of DataTypes for a project */
|
|
1631
|
+
async list(options) {
|
|
1506
1632
|
const { projectId } = this.options;
|
|
1507
1633
|
const fetchUri = this.createUrl(__privateGet3(_DataTypeClient2, _url8), { ...options, projectId });
|
|
1508
1634
|
return await this.apiClient(fetchUri);
|
|
1509
1635
|
}
|
|
1636
|
+
/** @deprecated Use {@link list} instead. */
|
|
1637
|
+
async get(options) {
|
|
1638
|
+
return this.list(options);
|
|
1639
|
+
}
|
|
1510
1640
|
/** Updates or creates (based on id) a DataType */
|
|
1511
|
-
async
|
|
1641
|
+
async save(body) {
|
|
1512
1642
|
const fetchUri = this.createUrl(__privateGet3(_DataTypeClient2, _url8));
|
|
1513
1643
|
await this.apiClient(fetchUri, {
|
|
1514
1644
|
method: "PUT",
|
|
@@ -1516,6 +1646,10 @@ var _DataTypeClient = class _DataTypeClient2 extends ApiClient {
|
|
|
1516
1646
|
expectNoContent: true
|
|
1517
1647
|
});
|
|
1518
1648
|
}
|
|
1649
|
+
/** @deprecated Use {@link save} instead. */
|
|
1650
|
+
async upsert(body) {
|
|
1651
|
+
return this.save(body);
|
|
1652
|
+
}
|
|
1519
1653
|
/** Deletes a DataType */
|
|
1520
1654
|
async remove(body) {
|
|
1521
1655
|
const fetchUri = this.createUrl(__privateGet3(_DataTypeClient2, _url8));
|
|
@@ -1553,24 +1687,6 @@ function getComponentPath(ancestorsAndSelf) {
|
|
|
1553
1687
|
}
|
|
1554
1688
|
return `.${path.join(".")}`;
|
|
1555
1689
|
}
|
|
1556
|
-
var CANVAS_PERSONALIZE_TYPE = "$personalization";
|
|
1557
|
-
var CANVAS_TEST_TYPE = "$test";
|
|
1558
|
-
var CANVAS_BLOCK_PARAM_TYPE = "$block";
|
|
1559
|
-
var CANVAS_PERSONALIZE_SLOT = "pz";
|
|
1560
|
-
var CANVAS_TEST_SLOT = "test";
|
|
1561
|
-
var CANVAS_DRAFT_STATE = 0;
|
|
1562
|
-
var CANVAS_PUBLISHED_STATE = 64;
|
|
1563
|
-
var CANVAS_EDITOR_STATE = 63;
|
|
1564
|
-
var CANVAS_PERSONALIZATION_PARAM = "$pzCrit";
|
|
1565
|
-
var CANVAS_TEST_VARIANT_PARAM = "$tstVrnt";
|
|
1566
|
-
var CANVAS_ENRICHMENT_TAG_PARAM = "$enr";
|
|
1567
|
-
var CANVAS_INTERNAL_PARAM_PREFIX = "$internal_";
|
|
1568
|
-
var CANVAS_COMPONENT_DISPLAY_NAME_PARAM = `${CANVAS_INTERNAL_PARAM_PREFIX}displayName`;
|
|
1569
|
-
var CANVAS_HYPOTHESIS_PARAM = `${CANVAS_INTERNAL_PARAM_PREFIX}hypothesis`;
|
|
1570
|
-
var CANVAS_CONTEXTUAL_EDITING_PARAM = "$contextualEditing";
|
|
1571
|
-
var IN_CONTEXT_EDITOR_QUERY_STRING_PARAM = "is_incontext_editing_mode";
|
|
1572
|
-
var PLACEHOLDER_ID = "placeholder";
|
|
1573
|
-
var EDGE_MAX_CACHE_TTL = 24 * 60 * 60;
|
|
1574
1690
|
function isRootEntryReference(root) {
|
|
1575
1691
|
return root.type === "root" && isEntryData(root.node);
|
|
1576
1692
|
}
|
|
@@ -1590,9 +1706,9 @@ function parseVariableExpression(serialized, onToken) {
|
|
|
1590
1706
|
let bufferStartIndex = 0;
|
|
1591
1707
|
let bufferEndIndex = 0;
|
|
1592
1708
|
let tokenCount = 0;
|
|
1593
|
-
const handleToken = (token, type) => {
|
|
1709
|
+
const handleToken = (token, type, offset) => {
|
|
1594
1710
|
tokenCount++;
|
|
1595
|
-
return onToken == null ? void 0 : onToken(token, type);
|
|
1711
|
+
return onToken == null ? void 0 : onToken(token, type, offset);
|
|
1596
1712
|
};
|
|
1597
1713
|
let state = "text";
|
|
1598
1714
|
for (let index = 0; index < serialized.length; index++) {
|
|
@@ -1603,7 +1719,7 @@ function parseVariableExpression(serialized, onToken) {
|
|
|
1603
1719
|
if (char === variablePrefix[0] && serialized[index + 1] === variablePrefix[1]) {
|
|
1604
1720
|
if (serialized[index - 1] === escapeCharacter) {
|
|
1605
1721
|
bufferEndIndex -= escapeCharacter.length;
|
|
1606
|
-
if (handleToken(serialized.substring(bufferStartIndex, bufferEndIndex), "text") === false) {
|
|
1722
|
+
if (handleToken(serialized.substring(bufferStartIndex, bufferEndIndex), "text", bufferStartIndex) === false) {
|
|
1607
1723
|
return tokenCount;
|
|
1608
1724
|
}
|
|
1609
1725
|
bufferStartIndex = index;
|
|
@@ -1612,12 +1728,12 @@ function parseVariableExpression(serialized, onToken) {
|
|
|
1612
1728
|
}
|
|
1613
1729
|
if (state === "variable") {
|
|
1614
1730
|
const textStart = bufferStartIndex - variablePrefix.length;
|
|
1615
|
-
if (handleToken(serialized.substring(textStart, bufferEndIndex), "text") === false) {
|
|
1731
|
+
if (handleToken(serialized.substring(textStart, bufferEndIndex), "text", textStart) === false) {
|
|
1616
1732
|
return tokenCount;
|
|
1617
1733
|
}
|
|
1618
1734
|
bufferStartIndex = bufferEndIndex;
|
|
1619
1735
|
} else if (bufferEndIndex > bufferStartIndex) {
|
|
1620
|
-
if (handleToken(serialized.substring(bufferStartIndex, bufferEndIndex), "text") === false) {
|
|
1736
|
+
if (handleToken(serialized.substring(bufferStartIndex, bufferEndIndex), "text", bufferStartIndex) === false) {
|
|
1621
1737
|
return tokenCount;
|
|
1622
1738
|
}
|
|
1623
1739
|
bufferStartIndex = bufferEndIndex;
|
|
@@ -1635,7 +1751,7 @@ function parseVariableExpression(serialized, onToken) {
|
|
|
1635
1751
|
state = "text";
|
|
1636
1752
|
if (bufferEndIndex > bufferStartIndex) {
|
|
1637
1753
|
const unescapedVariableName = serialized.substring(bufferStartIndex, bufferEndIndex).replace(/\\([${}])/g, "$1");
|
|
1638
|
-
if (handleToken(unescapedVariableName, "variable") === false) {
|
|
1754
|
+
if (handleToken(unescapedVariableName, "variable", bufferStartIndex) === false) {
|
|
1639
1755
|
return tokenCount;
|
|
1640
1756
|
}
|
|
1641
1757
|
bufferStartIndex = bufferEndIndex + variableSuffix.length;
|
|
@@ -1649,7 +1765,7 @@ function parseVariableExpression(serialized, onToken) {
|
|
|
1649
1765
|
bufferStartIndex -= variablePrefix.length;
|
|
1650
1766
|
}
|
|
1651
1767
|
if (bufferStartIndex < serialized.length) {
|
|
1652
|
-
handleToken(serialized.substring(bufferStartIndex), state);
|
|
1768
|
+
handleToken(serialized.substring(bufferStartIndex), state, bufferStartIndex);
|
|
1653
1769
|
}
|
|
1654
1770
|
return tokenCount;
|
|
1655
1771
|
}
|
|
@@ -2027,20 +2143,28 @@ var _ProjectClient = class _ProjectClient2 extends ApiClient {
|
|
|
2027
2143
|
* When teamId is provided, returns a single team with its projects.
|
|
2028
2144
|
* When omitted, returns all accessible teams and their projects.
|
|
2029
2145
|
*/
|
|
2030
|
-
async
|
|
2146
|
+
async list(options) {
|
|
2031
2147
|
const fetchUri = this.createUrl(__privateGet3(_ProjectClient2, _projectsUrl), options ? { ...options } : {});
|
|
2032
2148
|
return await this.apiClient(fetchUri);
|
|
2033
2149
|
}
|
|
2150
|
+
/** @deprecated Use {@link list} instead. */
|
|
2151
|
+
async getProjects(options) {
|
|
2152
|
+
return this.list(options);
|
|
2153
|
+
}
|
|
2034
2154
|
/** Updates or creates (based on id) a Project */
|
|
2035
|
-
async
|
|
2155
|
+
async save(body) {
|
|
2036
2156
|
const fetchUri = this.createUrl(__privateGet3(_ProjectClient2, _url22));
|
|
2037
2157
|
return await this.apiClient(fetchUri, {
|
|
2038
2158
|
method: "PUT",
|
|
2039
2159
|
body: JSON.stringify({ ...body })
|
|
2040
2160
|
});
|
|
2041
2161
|
}
|
|
2162
|
+
/** @deprecated Use {@link save} instead. */
|
|
2163
|
+
async upsert(body) {
|
|
2164
|
+
return this.save(body);
|
|
2165
|
+
}
|
|
2042
2166
|
/** Deletes a Project */
|
|
2043
|
-
async
|
|
2167
|
+
async remove(body) {
|
|
2044
2168
|
const fetchUri = this.createUrl(__privateGet3(_ProjectClient2, _url22));
|
|
2045
2169
|
await this.apiClient(fetchUri, {
|
|
2046
2170
|
method: "DELETE",
|
|
@@ -2048,6 +2172,10 @@ var _ProjectClient = class _ProjectClient2 extends ApiClient {
|
|
|
2048
2172
|
expectNoContent: true
|
|
2049
2173
|
});
|
|
2050
2174
|
}
|
|
2175
|
+
/** @deprecated Use {@link remove} instead. */
|
|
2176
|
+
async delete(body) {
|
|
2177
|
+
return this.remove(body);
|
|
2178
|
+
}
|
|
2051
2179
|
};
|
|
2052
2180
|
_url22 = /* @__PURE__ */ new WeakMap();
|
|
2053
2181
|
_projectsUrl = /* @__PURE__ */ new WeakMap();
|
|
@@ -2063,8 +2191,14 @@ var RouteClient = class extends ApiClient {
|
|
|
2063
2191
|
super(options);
|
|
2064
2192
|
this.edgeApiHost = (_a = options.edgeApiHost) != null ? _a : "https://uniform.global";
|
|
2065
2193
|
}
|
|
2066
|
-
/**
|
|
2067
|
-
|
|
2194
|
+
/**
|
|
2195
|
+
* Resolves a route to a composition, redirect, or not-found result.
|
|
2196
|
+
*
|
|
2197
|
+
* An optional `select` projection applies to the resolved composition when
|
|
2198
|
+
* the route matches one; redirect / notFound responses pass through
|
|
2199
|
+
* untouched.
|
|
2200
|
+
*/
|
|
2201
|
+
async get(options) {
|
|
2068
2202
|
const { projectId } = this.options;
|
|
2069
2203
|
const { select, ...rest } = options != null ? options : {};
|
|
2070
2204
|
const rewrittenSelect = projectionToQuery(select);
|
|
@@ -2074,6 +2208,10 @@ var RouteClient = class extends ApiClient {
|
|
|
2074
2208
|
this.options.disableSWR ? { headers: { "x-disable-swr": "true" } } : void 0
|
|
2075
2209
|
);
|
|
2076
2210
|
}
|
|
2211
|
+
/** @deprecated use {@link RouteClient.get} instead (renamed). */
|
|
2212
|
+
async getRoute(options) {
|
|
2213
|
+
return this.get(options);
|
|
2214
|
+
}
|
|
2077
2215
|
};
|
|
2078
2216
|
var getDataSourceVariantFromRouteGetParams = (params, defaultPreviewState) => {
|
|
2079
2217
|
var _a, _b;
|
|
@@ -2380,9 +2518,9 @@ function createLimitPolicy2({
|
|
|
2380
2518
|
}
|
|
2381
2519
|
|
|
2382
2520
|
// src/clients/canvas.ts
|
|
2383
|
-
var
|
|
2521
|
+
var buildCanvasClientOptions = (options) => {
|
|
2384
2522
|
const cache2 = resolveCanvasCache(options);
|
|
2385
|
-
return
|
|
2523
|
+
return {
|
|
2386
2524
|
projectId: env.getProjectId(),
|
|
2387
2525
|
apiHost: env.getApiHost(),
|
|
2388
2526
|
apiKey: env.getApiKey(),
|
|
@@ -2430,7 +2568,13 @@ var getCanvasClient = (options) => {
|
|
|
2430
2568
|
}
|
|
2431
2569
|
});
|
|
2432
2570
|
}
|
|
2433
|
-
}
|
|
2571
|
+
};
|
|
2572
|
+
};
|
|
2573
|
+
var getCanvasClient = (options) => {
|
|
2574
|
+
return new CanvasClient(buildCanvasClientOptions(options));
|
|
2575
|
+
};
|
|
2576
|
+
var getCompositionDeliveryClient = (options) => {
|
|
2577
|
+
return new CompositionDeliveryClient(buildCanvasClientOptions(options));
|
|
2434
2578
|
};
|
|
2435
2579
|
|
|
2436
2580
|
// src/clients/manifest.ts
|
|
@@ -2739,18 +2883,15 @@ var _Route = class _Route2 {
|
|
|
2739
2883
|
*/
|
|
2740
2884
|
static splitFragment(path) {
|
|
2741
2885
|
let fragmentIndex = -1;
|
|
2742
|
-
|
|
2743
|
-
parseVariableExpression(path, (token, type) => {
|
|
2886
|
+
parseVariableExpression(path, (token, type, offset) => {
|
|
2744
2887
|
if (type === "variable") {
|
|
2745
|
-
length += createVariableReference(token).length;
|
|
2746
2888
|
return;
|
|
2747
2889
|
}
|
|
2748
2890
|
const hashOffset = token.indexOf("#");
|
|
2749
2891
|
if (hashOffset === -1) {
|
|
2750
|
-
length += token.length;
|
|
2751
2892
|
return;
|
|
2752
2893
|
}
|
|
2753
|
-
fragmentIndex =
|
|
2894
|
+
fragmentIndex = offset + hashOffset;
|
|
2754
2895
|
return false;
|
|
2755
2896
|
});
|
|
2756
2897
|
if (fragmentIndex === -1) {
|
|
@@ -3467,14 +3608,14 @@ var import_react7 = __toESM(require("react"));
|
|
|
3467
3608
|
var import_next_app_router_shared5 = require("@uniformdev/next-app-router-shared");
|
|
3468
3609
|
var resolvePlaygroundRoute = async ({ code }) => {
|
|
3469
3610
|
const pageState = (0, import_next_app_router_shared5.deserializeEvaluationResult)({ input: code });
|
|
3470
|
-
const canvasClient =
|
|
3611
|
+
const canvasClient = getCompositionDeliveryClient({
|
|
3471
3612
|
cache: {
|
|
3472
3613
|
type: "no-cache"
|
|
3473
3614
|
}
|
|
3474
3615
|
});
|
|
3475
3616
|
let composition = void 0;
|
|
3476
3617
|
try {
|
|
3477
|
-
composition = await canvasClient.
|
|
3618
|
+
composition = await canvasClient.get({
|
|
3478
3619
|
compositionId: pageState.routePath,
|
|
3479
3620
|
state: pageState.compositionState,
|
|
3480
3621
|
withComponentIDs: true
|
|
@@ -3620,7 +3761,7 @@ var createUniformPlaygroundStaticParams = async (options) => {
|
|
|
3620
3761
|
const routeClient = getRouteClient({
|
|
3621
3762
|
state
|
|
3622
3763
|
});
|
|
3623
|
-
route = await routeClient.
|
|
3764
|
+
route = await routeClient.get({
|
|
3624
3765
|
path: firstPath,
|
|
3625
3766
|
withComponentIDs: true,
|
|
3626
3767
|
state: CANVAS_DRAFT_STATE
|
|
@@ -3673,7 +3814,7 @@ async function processRoutePath({
|
|
|
3673
3814
|
});
|
|
3674
3815
|
const rewrittenPath = await (rewrite == null ? void 0 : rewrite({ path }));
|
|
3675
3816
|
const resolvedPath = (_a = rewrittenPath == null ? void 0 : rewrittenPath.path) != null ? _a : path;
|
|
3676
|
-
const route = await routeClient.
|
|
3817
|
+
const route = await routeClient.get({
|
|
3677
3818
|
path: resolvedPath,
|
|
3678
3819
|
withComponentIDs: true,
|
|
3679
3820
|
state: CANVAS_PUBLISHED_STATE
|
|
@@ -3926,14 +4067,14 @@ var DefaultDataClient = class {
|
|
|
3926
4067
|
if (oldCachedRoute) {
|
|
3927
4068
|
(0, import_functions.waitUntil)(
|
|
3928
4069
|
(async () => {
|
|
3929
|
-
const result2 = await routeClient.
|
|
4070
|
+
const result2 = await routeClient.get(route);
|
|
3930
4071
|
await cacheNewRoute(result2);
|
|
3931
4072
|
})()
|
|
3932
4073
|
);
|
|
3933
4074
|
return oldCachedRoute;
|
|
3934
4075
|
}
|
|
3935
4076
|
}
|
|
3936
|
-
const result = await routeClient.
|
|
4077
|
+
const result = await routeClient.get(route);
|
|
3937
4078
|
(0, import_functions.waitUntil)(
|
|
3938
4079
|
(async () => {
|
|
3939
4080
|
await Promise.all([
|
|
@@ -4203,6 +4344,7 @@ var createCompositionCache = () => {
|
|
|
4203
4344
|
expireMiddlewareCacheTag,
|
|
4204
4345
|
findRouteMatch,
|
|
4205
4346
|
getCanvasClient,
|
|
4347
|
+
getCompositionDeliveryClient,
|
|
4206
4348
|
getManifest,
|
|
4207
4349
|
getManifestClient,
|
|
4208
4350
|
getProjectMapClient,
|