@becklyn/contentful-adapter
Version:
[](https://github.com/Becklyn-Studios/contentful-adapter/actions/workflows/ci.yml)
36 lines (35 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeAssetData = void 0;
const api_1 = require("../contentful/api");
const util_1 = require("./util");
const normalizeAssetData = async (data, service) => {
var _a, _b, _c;
if (!data || !data.sys) {
return null;
}
if (!data.fields) {
// load missing data
data = await (0, api_1.findOneAsset)(data.sys.id, service.client);
}
if (!data || !data.fields || !data.fields.file) {
return null;
}
const fileFieldData = (0, util_1.getValueOfField)(data.fields.file, service.locale);
if (!fileFieldData) {
return null;
}
const asset = {
contentType: (_a = fileFieldData.contentType) !== null && _a !== void 0 ? _a : "",
url: (_b = fileFieldData.url) !== null && _b !== void 0 ? _b : "",
title: (0, util_1.getValueOfField)((_c = data.fields.title) !== null && _c !== void 0 ? _c : "", service.locale),
id: data.sys.id,
};
if (fileFieldData.details && fileFieldData.details.image) {
const imageOptions = fileFieldData.details.image;
asset.width = imageOptions.width;
asset.height = imageOptions.height;
}
return asset;
};
exports.normalizeAssetData = normalizeAssetData;