UNPKG

@eid-easy/eideasy-browser-js

Version:

Official eID Easy javascript helper library for web browsers

28 lines (24 loc) 976 B
import JSZip from 'jszip'; import createManifestFileEntries from './createManifestFileEntries'; /** * * @param {Object[]} files * @param {string} files[].name * @param {string|ArrayBuffer|Uint8Array|Buffer|Blob} files[].content * @returns {Function} JSZip */ const createAsiceContainer = function createAsiceContainer(files = []) { const zip = new JSZip(); zip.file('mimetype', 'application/vnd.etsi.asic-e+zip'); zip.file('META-INF/manifest.xml', `<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"> <manifest:file-entry manifest:full-path="/" manifest:media-type="application/vnd.etsi.asic-e+zip"/> ${createManifestFileEntries(files)} </manifest:manifest>`); for (let i = 0; i < files.length; i += 1) { const f = files[i]; zip.file(f.name, f.content); } return zip; }; export default createAsiceContainer;