@objectstack/rest 8.0.0 → 9.0.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/dist/index.cjs +12 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -254,6 +254,9 @@ var RouteGroupBuilder = class {
|
|
|
254
254
|
var import_meta = {};
|
|
255
255
|
var logError = (...args) => globalThis.console?.error(...args);
|
|
256
256
|
var TRANSLATABLE_META_TYPES = /* @__PURE__ */ new Set(["view", "action", "object", "app", "dashboard"]);
|
|
257
|
+
function isMetaEnvelope(value) {
|
|
258
|
+
return !!value && typeof value === "object" && typeof value.type === "string" && typeof value.name === "string" && value.item != null && typeof value.item === "object" && !Array.isArray(value.item);
|
|
259
|
+
}
|
|
257
260
|
function mapDataError(error, object) {
|
|
258
261
|
if (error?.code === "CONCURRENT_UPDATE" || error?.name === "ConcurrentUpdateError") {
|
|
259
262
|
return {
|
|
@@ -937,21 +940,28 @@ var RestServer = class {
|
|
|
937
940
|
const locale = this.extractLocale(req, i18n);
|
|
938
941
|
if (!locale) return item;
|
|
939
942
|
const { translateMetadataDocument } = await import("@objectstack/spec/system");
|
|
943
|
+
if (isMetaEnvelope(item)) {
|
|
944
|
+
return { ...item, item: translateMetadataDocument(type, item.item, bundle, { locale }) };
|
|
945
|
+
}
|
|
940
946
|
return translateMetadataDocument(type, item, bundle, { locale });
|
|
941
947
|
}
|
|
942
948
|
/**
|
|
943
949
|
* Translate a list of metadata documents using `translateMetaItem`.
|
|
944
950
|
*/
|
|
945
951
|
async translateMetaItems(req, type, environmentId, items) {
|
|
946
|
-
if (!Array.isArray(items)) return items;
|
|
947
952
|
if (!TRANSLATABLE_META_TYPES.has(type)) return items;
|
|
953
|
+
const arr = Array.isArray(items) ? items : items && typeof items === "object" && Array.isArray(items.items) ? items.items : null;
|
|
954
|
+
if (!arr) return items;
|
|
948
955
|
const i18n = await this.resolveI18nService(environmentId, req);
|
|
949
956
|
const bundle = this.buildTranslationBundle(i18n);
|
|
950
957
|
if (!bundle) return items;
|
|
951
958
|
const locale = this.extractLocale(req, i18n);
|
|
952
959
|
if (!locale) return items;
|
|
953
960
|
const { translateMetadataDocument } = await import("@objectstack/spec/system");
|
|
954
|
-
|
|
961
|
+
const translated = arr.map(
|
|
962
|
+
(item) => isMetaEnvelope(item) ? { ...item, item: translateMetadataDocument(type, item.item, bundle, { locale }) } : translateMetadataDocument(type, item, bundle, { locale })
|
|
963
|
+
);
|
|
964
|
+
return Array.isArray(items) ? translated : { ...items, items: translated };
|
|
955
965
|
}
|
|
956
966
|
/**
|
|
957
967
|
* Translate the `entries` payload returned by `getMetaTypes()` — applies
|