common_cadline_libraries (CRM hardlock/db/users classes; upstream cadline_web/cadcommonlib), maintenance/ (ARCHLine.XP license backend; upstream cadline_web/maintenance), maintenance2/. Vetted live files (byte-truth); upstream repos in PROVENANCE.md. NOTE: could be git submodules — kept as live files for byte-fidelity. Signed-off-by: LÁZÁR Imre <imre@illusion.hu> Assisted-by: claude-code@claude-opus-4-8
121 lines
5.7 KiB
JavaScript
121 lines
5.7 KiB
JavaScript
/*!
|
|
|
|
JSZipUtils - A collection of cross-browser utilities to go along with JSZip.
|
|
<http://stuk.github.io/jszip-utils>
|
|
|
|
(c) 2014 Stuart Knightley, David Duponchel
|
|
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown.
|
|
|
|
*/
|
|
!function (e) { "object" == typeof exports ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : "undefined" != typeof window ? window.JSZipUtils = e() : "undefined" != typeof global ? global.JSZipUtils = e() : "undefined" != typeof self && (self.JSZipUtils = e()) }(function () {
|
|
var define, module, exports; return (function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { var a = typeof require == "function" && require; if (!u && a) return a(o, !0); if (i) return i(o, !0); throw new Error("Cannot find module '" + o + "'") } var f = n[o] = { exports: {} }; t[o][0].call(f.exports, function (e) { var n = t[o][1][e]; return s(n ? n : e) }, f, f.exports, e, t, n, r) } return n[o].exports } var i = typeof require == "function" && require; for (var o = 0; o < r.length; o++)s(r[o]); return s })({
|
|
1: [function (require, module, exports) {
|
|
'use strict';
|
|
|
|
var JSZipUtils = {};
|
|
// just use the responseText with xhr1, response with xhr2.
|
|
// The transformation doesn't throw away high-order byte (with responseText)
|
|
// because JSZip handles that case. If not used with JSZip, you may need to
|
|
// do it, see https://developer.mozilla.org/En/Using_XMLHttpRequest#Handling_binary_data
|
|
JSZipUtils._getBinaryFromXHR = function (xhr) {
|
|
// for xhr.responseText, the 0xFF mask is applied by JSZip
|
|
return xhr.response || xhr.responseText;
|
|
};
|
|
|
|
// taken from jQuery
|
|
function createStandardXHR() {
|
|
try {
|
|
return new window.XMLHttpRequest();
|
|
} catch (e) { }
|
|
}
|
|
|
|
function createActiveXHR() {
|
|
try {
|
|
return new window.ActiveXObject("Microsoft.XMLHTTP");
|
|
} catch (e) { }
|
|
}
|
|
|
|
// Create the request object
|
|
var createXHR = window.ActiveXObject ?
|
|
/* Microsoft failed to properly
|
|
* implement the XMLHttpRequest in IE7 (can't request local files),
|
|
* so we use the ActiveXObject when it is available
|
|
* Additionally XMLHttpRequest can be disabled in IE7/IE8 so
|
|
* we need a fallback.
|
|
*/
|
|
function () {
|
|
return createStandardXHR() || createActiveXHR();
|
|
} :
|
|
// For all other browsers, use the standard XMLHttpRequest object
|
|
createStandardXHR;
|
|
|
|
|
|
|
|
JSZipUtils.getBinaryContent = function (path, callback) {
|
|
/*
|
|
* Here is the tricky part : getting the data.
|
|
* In firefox/chrome/opera/... setting the mimeType to 'text/plain; charset=x-user-defined'
|
|
* is enough, the result is in the standard xhr.responseText.
|
|
* cf https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest#Receiving_binary_data_in_older_browsers
|
|
* In IE <= 9, we must use (the IE only) attribute responseBody
|
|
* (for binary data, its content is different from responseText).
|
|
* In IE 10, the 'charset=x-user-defined' trick doesn't work, only the
|
|
* responseType will work :
|
|
* http://msdn.microsoft.com/en-us/library/ie/hh673569%28v=vs.85%29.aspx#Binary_Object_upload_and_download
|
|
*
|
|
* I'd like to use jQuery to avoid this XHR madness, but it doesn't support
|
|
* the responseType attribute : http://bugs.jquery.com/ticket/11461
|
|
*/
|
|
try {
|
|
|
|
var xhr = createXHR();
|
|
|
|
xhr.open('GET', path, true);
|
|
|
|
// recent browsers
|
|
if ("responseType" in xhr) {
|
|
xhr.responseType = "arraybuffer";
|
|
}
|
|
|
|
// older browser
|
|
if (xhr.overrideMimeType) {
|
|
xhr.overrideMimeType("text/plain; charset=x-user-defined");
|
|
}
|
|
|
|
xhr.onreadystatechange = function (evt) {
|
|
var file, err;
|
|
// use `xhr` and not `this`... thanks IE
|
|
if (xhr.readyState === 4) {
|
|
if (xhr.status === 200 || xhr.status === 0) {
|
|
file = null;
|
|
err = null;
|
|
try {
|
|
file = JSZipUtils._getBinaryFromXHR(xhr);
|
|
} catch (e) {
|
|
err = new Error(e);
|
|
}
|
|
callback(err, file);
|
|
} else {
|
|
callback(new Error("Ajax error for " + path + " : " + this.status + " " + this.statusText), null);
|
|
}
|
|
}
|
|
};
|
|
|
|
xhr.send();
|
|
|
|
} catch (e) {
|
|
callback(new Error(e), null);
|
|
}
|
|
};
|
|
|
|
// export
|
|
module.exports = JSZipUtils;
|
|
|
|
// enforcing Stuk's coding style
|
|
// vim: set shiftwidth=4 softtabstop=4:
|
|
|
|
}, {}]
|
|
}, {}, [1])
|
|
(1)
|
|
});
|
|
; |