38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
"use strict";
|
|
exports.base64 = true;
|
|
exports.array = true;
|
|
exports.string = true;
|
|
exports.arraybuffer =
|
|
typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined";
|
|
// contains true if PizZip can read/generate nodejs Buffer, false otherwise.
|
|
// Browserify will provide a Buffer implementation for browsers, which is
|
|
// an augmented Uint8Array (i.e., can be used as either Buffer or U8).
|
|
exports.nodebuffer = typeof Buffer !== "undefined";
|
|
// contains true if PizZip can read/generate Uint8Array, false otherwise.
|
|
exports.uint8array = typeof Uint8Array !== "undefined";
|
|
|
|
if (typeof ArrayBuffer === "undefined") {
|
|
exports.blob = false;
|
|
} else {
|
|
const buffer = new ArrayBuffer(0);
|
|
try {
|
|
exports.blob =
|
|
new Blob([buffer], {
|
|
type: "application/zip",
|
|
}).size === 0;
|
|
} catch (e) {
|
|
try {
|
|
const Builder =
|
|
window.BlobBuilder ||
|
|
window.WebKitBlobBuilder ||
|
|
window.MozBlobBuilder ||
|
|
window.MSBlobBuilder;
|
|
const builder = new Builder();
|
|
builder.append(buffer);
|
|
exports.blob = builder.getBlob("application/zip").size === 0;
|
|
} catch (e) {
|
|
exports.blob = false;
|
|
}
|
|
}
|
|
}
|