From 236a3c7f7252c35805e53d439405331ceaf50696 Mon Sep 17 00:00:00 2001 From: Timothy Farrell Date: Thu, 20 Apr 2017 21:38:21 -0500 Subject: [PATCH] Dynamically load some seldom-used modules. --- packages/gallery/src/app.js | 4 ++-- packages/gallery/src/context/generateThumbnails.js | 2 +- packages/gallery/src/contextLoaders/generateThumbnails.js | 4 ++++ packages/gallery/src/data/image.js | 4 ++-- 4 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 packages/gallery/src/contextLoaders/generateThumbnails.js diff --git a/packages/gallery/src/app.js b/packages/gallery/src/app.js index 179b738..64c4b08 100644 --- a/packages/gallery/src/app.js +++ b/packages/gallery/src/app.js @@ -2,13 +2,13 @@ import * as image from './data/image.js'; import * as index from './data/indexType.js'; import { getDatabase } from './services/db.js'; import * as imageTag from './context/manageImageTags.js'; - -import './context/generateThumbnails.js'; +import generateThumbnails from './contextLoaders/generateThumbnails.js'; window.__DEV__ = true; window.db = getDatabase(); image.imported.subscribe(refresh); +image.imported.subscribe(generateThumbnails); const header = document.querySelector('h1'); const container = document.querySelector('#app'); const displaySelector = document.querySelector('#display'); diff --git a/packages/gallery/src/context/generateThumbnails.js b/packages/gallery/src/context/generateThumbnails.js index 6d30269..de503de 100644 --- a/packages/gallery/src/context/generateThumbnails.js +++ b/packages/gallery/src/context/generateThumbnails.js @@ -69,4 +69,4 @@ export async function generateThumbnailForImage(id) { return resizedBlob; } -imported.subscribe(generateThumbnailForImage); +export const invoke = generateThumbnailForImage; diff --git a/packages/gallery/src/contextLoaders/generateThumbnails.js b/packages/gallery/src/contextLoaders/generateThumbnails.js new file mode 100644 index 0000000..9aa753f --- /dev/null +++ b/packages/gallery/src/contextLoaders/generateThumbnails.js @@ -0,0 +1,4 @@ +export default async function(...args) { + const module = await import('../context/generateThumbnails'); + module.invoke(...args); +} diff --git a/packages/gallery/src/data/image.js b/packages/gallery/src/data/image.js index 17759ba..a37eac0 100644 --- a/packages/gallery/src/data/image.js +++ b/packages/gallery/src/data/image.js @@ -1,5 +1,3 @@ -import ExifParser from 'exif-parser'; - import { getDatabase, generateAttachmentUrl } from '../services/db.js'; import { log, error } from '../services/console.js'; import { sha256 } from '../utils/crypto.js'; @@ -104,6 +102,8 @@ const processImportables = backgroundTask(async function _processImportables() { return; } + const ExifParser = await import('exif-parser'); + const doc = result.rows[0].doc; const buffer = await blobToArrayBuffer(doc._attachments.image.data); const digest = await sha256(buffer);