UNPKG

printmaker

Version:

Generate PDF documents and from JavaScript objects

34 lines 1.84 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { parseBinaryData } from './binary-data.js'; import { asObject, check, getFrom, optional, pickDefined, required } from './types.js'; export function parseImages(input) { var _a; const obj = (_a = check(input, 'images', optional(asObject))) !== null && _a !== void 0 ? _a : {}; return Object.entries(obj).map(([name, imageDef]) => { const data = check(imageDef, `images['${name}']`, required(parseImage)); return { name, data }; }); } function parseImage(input) { return getFrom(asObject(input), 'data', required(parseBinaryData)); } export function embedImages(imageDefs, doc) { return __awaiter(this, void 0, void 0, function* () { return yield Promise.all(imageDefs.map((def) => __awaiter(this, void 0, void 0, function* () { const pdfImage = yield doc.embedJpg(def.data).catch((error) => { var _a; throw new Error(`Could not embed image "${def.name}": ${(_a = error.message) !== null && _a !== void 0 ? _a : error}`); }); return pickDefined({ name: def.name, pdfImage }); }))); }); } //# sourceMappingURL=images.js.map