UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

57 lines (56 loc) 5.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _isImage = /*#__PURE__*/ _interop_require_default(require("../../uploads/isImage")); const _Config = require("../components/utilities/Config"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i'); const base64Pattern = new RegExp(/^data:image\/[a-z]+;base64,/); const useThumbnail = (collection, doc)=>{ const { upload: { adminThumbnail, staticURL } } = collection; const { filename, mimeType, sizes, url } = doc; const { serverURL } = (0, _Config.useConfig)(); let pathURL = `${serverURL}${staticURL || ''}`; if (absoluteURLPattern.test(staticURL)) { pathURL = staticURL; } if (typeof adminThumbnail === 'function') { const thumbnailURL = adminThumbnail({ doc }); if (!thumbnailURL) return false; if (absoluteURLPattern.test(thumbnailURL) || base64Pattern.test(thumbnailURL)) { return thumbnailURL; } return `${pathURL}/${thumbnailURL}`; } if ((0, _isImage.default)(mimeType)) { if (typeof adminThumbnail === 'undefined' && url) { return url; } if (sizes?.[adminThumbnail]?.url) { return sizes[adminThumbnail].url; } if (sizes?.[adminThumbnail]?.filename) { return `${pathURL}/${sizes[adminThumbnail].filename}`; } if (url) { return url; } return `${pathURL}/${filename}`; } return false; }; const _default = useThumbnail; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZG1pbi9ob29rcy91c2VUaHVtYm5haWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgaXNJbWFnZSBmcm9tICcuLi8uLi91cGxvYWRzL2lzSW1hZ2UnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL3V0aWxpdGllcy9Db25maWcnXG5cbmNvbnN0IGFic29sdXRlVVJMUGF0dGVybiA9IG5ldyBSZWdFeHAoJ14oPzpbYS16XSs6KT8vLycsICdpJylcbmNvbnN0IGJhc2U2NFBhdHRlcm4gPSBuZXcgUmVnRXhwKC9eZGF0YTppbWFnZVxcL1thLXpdKztiYXNlNjQsLylcblxuY29uc3QgdXNlVGh1bWJuYWlsID0gKFxuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuKTogZmFsc2UgfCBzdHJpbmcgPT4ge1xuICBjb25zdCB7XG4gICAgdXBsb2FkOiB7IGFkbWluVGh1bWJuYWlsLCBzdGF0aWNVUkwgfSxcbiAgfSA9IGNvbGxlY3Rpb25cblxuICBjb25zdCB7IGZpbGVuYW1lLCBtaW1lVHlwZSwgc2l6ZXMsIHVybCB9ID0gZG9jXG5cbiAgY29uc3QgeyBzZXJ2ZXJVUkwgfSA9IHVzZUNvbmZpZygpXG4gIGxldCBwYXRoVVJMID0gYCR7c2VydmVyVVJMfSR7c3RhdGljVVJMIHx8ICcnfWBcblxuICBpZiAoYWJzb2x1dGVVUkxQYXR0ZXJuLnRlc3Qoc3RhdGljVVJMKSkge1xuICAgIHBhdGhVUkwgPSBzdGF0aWNVUkxcbiAgfVxuXG4gIGlmICh0eXBlb2YgYWRtaW5UaHVtYm5haWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjb25zdCB0aHVtYm5haWxVUkwgPSBhZG1pblRodW1ibmFpbCh7IGRvYyB9KVxuXG4gICAgaWYgKCF0aHVtYm5haWxVUkwpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGFic29sdXRlVVJMUGF0dGVybi50ZXN0KHRodW1ibmFpbFVSTCkgfHwgYmFzZTY0UGF0dGVybi50ZXN0KHRodW1ibmFpbFVSTCkpIHtcbiAgICAgIHJldHVybiB0aHVtYm5haWxVUkxcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7cGF0aFVSTH0vJHt0aHVtYm5haWxVUkx9YFxuICB9XG5cbiAgaWYgKGlzSW1hZ2UobWltZVR5cGUgYXMgc3RyaW5nKSkge1xuICAgIGlmICh0eXBlb2YgYWRtaW5UaHVtYm5haWwgPT09ICd1bmRlZmluZWQnICYmIHVybCkge1xuICAgICAgcmV0dXJuIHVybCBhcyBzdHJpbmdcbiAgICB9XG5cbiAgICBpZiAoc2l6ZXM/LlthZG1pblRodW1ibmFpbF0/LnVybCkge1xuICAgICAgcmV0dXJuIHNpemVzW2FkbWluVGh1bWJuYWlsXS51cmxcbiAgICB9XG5cbiAgICBpZiAoc2l6ZXM/LlthZG1pblRodW1ibmFpbF0/LmZpbGVuYW1lKSB7XG4gICAgICByZXR1cm4gYCR7cGF0aFVSTH0vJHtzaXplc1thZG1pblRodW1ibmFpbF0uZmlsZW5hbWV9YFxuICAgIH1cblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHJldHVybiB1cmwgYXMgc3RyaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3BhdGhVUkx9LyR7ZmlsZW5hbWV9YFxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVRodW1ibmFpbFxuIl0sIm5hbWVzIjpbImFic29sdXRlVVJMUGF0dGVybiIsIlJlZ0V4cCIsImJhc2U2NFBhdHRlcm4iLCJ1c2VUaHVtYm5haWwiLCJjb2xsZWN0aW9uIiwiZG9jIiwidXBsb2FkIiwiYWRtaW5UaHVtYm5haWwiLCJzdGF0aWNVUkwiLCJmaWxlbmFtZSIsIm1pbWVUeXBlIiwic2l6ZXMiLCJ1cmwiLCJzZXJ2ZXJVUkwiLCJ1c2VDb25maWciLCJwYXRoVVJMIiwidGVzdCIsInRodW1ibmFpbFVSTCIsImlzSW1hZ2UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBNERBOzs7ZUFBQTs7O2dFQTFEb0I7d0JBQ007Ozs7OztBQUUxQixNQUFNQSxxQkFBcUIsSUFBSUMsT0FBTyxtQkFBbUI7QUFDekQsTUFBTUMsZ0JBQWdCLElBQUlELE9BQU87QUFFakMsTUFBTUUsZUFBZSxDQUNuQkMsWUFDQUM7SUFFQSxNQUFNLEVBQ0pDLFFBQVEsRUFBRUMsY0FBYyxFQUFFQyxTQUFTLEVBQUUsRUFDdEMsR0FBR0o7SUFFSixNQUFNLEVBQUVLLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLEdBQUcsRUFBRSxHQUFHUDtJQUUzQyxNQUFNLEVBQUVRLFNBQVMsRUFBRSxHQUFHQyxJQUFBQSxpQkFBUztJQUMvQixJQUFJQyxVQUFVLENBQUMsRUFBRUYsVUFBVSxFQUFFTCxhQUFhLEdBQUcsQ0FBQztJQUU5QyxJQUFJUixtQkFBbUJnQixJQUFJLENBQUNSLFlBQVk7UUFDdENPLFVBQVVQO0lBQ1o7SUFFQSxJQUFJLE9BQU9ELG1CQUFtQixZQUFZO1FBQ3hDLE1BQU1VLGVBQWVWLGVBQWU7WUFBRUY7UUFBSTtRQUUxQyxJQUFJLENBQUNZLGNBQWMsT0FBTztRQUUxQixJQUFJakIsbUJBQW1CZ0IsSUFBSSxDQUFDQyxpQkFBaUJmLGNBQWNjLElBQUksQ0FBQ0MsZUFBZTtZQUM3RSxPQUFPQTtRQUNUO1FBRUEsT0FBTyxDQUFDLEVBQUVGLFFBQVEsQ0FBQyxFQUFFRSxhQUFhLENBQUM7SUFDckM7SUFFQSxJQUFJQyxJQUFBQSxnQkFBTyxFQUFDUixXQUFxQjtRQUMvQixJQUFJLE9BQU9ILG1CQUFtQixlQUFlSyxLQUFLO1lBQ2hELE9BQU9BO1FBQ1Q7UUFFQSxJQUFJRCxPQUFPLENBQUNKLGVBQWUsRUFBRUssS0FBSztZQUNoQyxPQUFPRCxLQUFLLENBQUNKLGVBQWUsQ0FBQ0ssR0FBRztRQUNsQztRQUVBLElBQUlELE9BQU8sQ0FBQ0osZUFBZSxFQUFFRSxVQUFVO1lBQ3JDLE9BQU8sQ0FBQyxFQUFFTSxRQUFRLENBQUMsRUFBRUosS0FBSyxDQUFDSixlQUFlLENBQUNFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZEO1FBRUEsSUFBSUcsS0FBSztZQUNQLE9BQU9BO1FBQ1Q7UUFFQSxPQUFPLENBQUMsRUFBRUcsUUFBUSxDQUFDLEVBQUVOLFNBQVMsQ0FBQztJQUNqQztJQUVBLE9BQU87QUFDVDtNQUVBLFdBQWVOIn0=