|
12 | 12 | * http://stackoverflow.com/q/4998908 |
13 | 13 | */ |
14 | 14 |
|
15 | | -/* global atob, Blob, define */ |
| 15 | +/* global define, Uint8Array, ArrayBuffer, module */ |
16 | 16 |
|
17 | | -;(function (window) { |
| 17 | +;(function(window) { |
18 | 18 | 'use strict' |
19 | 19 |
|
20 | | - var CanvasPrototype = window.HTMLCanvasElement && |
21 | | - window.HTMLCanvasElement.prototype |
22 | | - var hasBlobConstructor = window.Blob && (function () { |
23 | | - try { |
24 | | - return Boolean(new Blob()) |
25 | | - } catch (e) { |
26 | | - return false |
27 | | - } |
28 | | - }()) |
29 | | - var hasArrayBufferViewSupport = hasBlobConstructor && window.Uint8Array && |
30 | | - (function () { |
| 20 | + var CanvasPrototype = |
| 21 | + window.HTMLCanvasElement && window.HTMLCanvasElement.prototype |
| 22 | + var hasBlobConstructor = |
| 23 | + window.Blob && |
| 24 | + (function() { |
| 25 | + try { |
| 26 | + return Boolean(new Blob()) |
| 27 | + } catch (e) { |
| 28 | + return false |
| 29 | + } |
| 30 | + })() |
| 31 | + var hasArrayBufferViewSupport = |
| 32 | + hasBlobConstructor && |
| 33 | + window.Uint8Array && |
| 34 | + (function() { |
31 | 35 | try { |
32 | 36 | return new Blob([new Uint8Array(100)]).size === 100 |
33 | 37 | } catch (e) { |
34 | 38 | return false |
35 | 39 | } |
36 | | - }()) |
37 | | - var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || |
38 | | - window.MozBlobBuilder || window.MSBlobBuilder |
| 40 | + })() |
| 41 | + var BlobBuilder = |
| 42 | + window.BlobBuilder || |
| 43 | + window.WebKitBlobBuilder || |
| 44 | + window.MozBlobBuilder || |
| 45 | + window.MSBlobBuilder |
39 | 46 | var dataURIPattern = /^data:((.*?)(;charset=.*?)?)(;base64)?,/ |
40 | | - var dataURLtoBlob = (hasBlobConstructor || BlobBuilder) && window.atob && |
41 | | - window.ArrayBuffer && window.Uint8Array && |
42 | | - function (dataURI) { |
| 47 | + var dataURLtoBlob = |
| 48 | + (hasBlobConstructor || BlobBuilder) && |
| 49 | + window.atob && |
| 50 | + window.ArrayBuffer && |
| 51 | + window.Uint8Array && |
| 52 | + function(dataURI) { |
43 | 53 | var matches, |
44 | 54 | mediaType, |
45 | 55 | isBase64, |
|
75 | 85 | } |
76 | 86 | // Write the ArrayBuffer (or ArrayBufferView) to a blob: |
77 | 87 | if (hasBlobConstructor) { |
78 | | - return new Blob( |
79 | | - [hasArrayBufferViewSupport ? intArray : arrayBuffer], |
80 | | - {type: mediaType} |
81 | | - ) |
| 88 | + return new Blob([hasArrayBufferViewSupport ? intArray : arrayBuffer], { |
| 89 | + type: mediaType |
| 90 | + }) |
82 | 91 | } |
83 | 92 | bb = new BlobBuilder() |
84 | 93 | bb.append(arrayBuffer) |
85 | 94 | return bb.getBlob(mediaType) |
86 | 95 | } |
87 | 96 | if (window.HTMLCanvasElement && !CanvasPrototype.toBlob) { |
88 | 97 | if (CanvasPrototype.mozGetAsFile) { |
89 | | - CanvasPrototype.toBlob = function (callback, type, quality) { |
| 98 | + CanvasPrototype.toBlob = function(callback, type, quality) { |
90 | 99 | var self = this |
91 | | - setTimeout(function () { |
| 100 | + setTimeout(function() { |
92 | 101 | if (quality && CanvasPrototype.toDataURL && dataURLtoBlob) { |
93 | 102 | callback(dataURLtoBlob(self.toDataURL(type, quality))) |
94 | 103 | } else { |
|
97 | 106 | }) |
98 | 107 | } |
99 | 108 | } else if (CanvasPrototype.toDataURL && dataURLtoBlob) { |
100 | | - CanvasPrototype.toBlob = function (callback, type, quality) { |
| 109 | + CanvasPrototype.toBlob = function(callback, type, quality) { |
101 | 110 | var self = this |
102 | | - setTimeout(function () { |
| 111 | + setTimeout(function() { |
103 | 112 | callback(dataURLtoBlob(self.toDataURL(type, quality))) |
104 | 113 | }) |
105 | 114 | } |
106 | 115 | } |
107 | 116 | } |
108 | 117 | if (typeof define === 'function' && define.amd) { |
109 | | - define(function () { |
| 118 | + define(function() { |
110 | 119 | return dataURLtoBlob |
111 | 120 | }) |
112 | 121 | } else if (typeof module === 'object' && module.exports) { |
113 | 122 | module.exports = dataURLtoBlob |
114 | 123 | } else { |
115 | 124 | window.dataURLtoBlob = dataURLtoBlob |
116 | 125 | } |
117 | | -}(window)) |
| 126 | +})(window) |
0 commit comments