Skip to content

Commit b9c3204

Browse files
author
Philipp Alferov
committed
Add dependencies as services-wrappers
1 parent 20b0bd3 commit b9c3204

13 files changed

+153
-89
lines changed

.eslintrc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ rules:
2525
func-style: [2, "declaration"]
2626
guard-for-in: 2
2727
key-spacing: [2, { beforeColon: false, afterColon: true }]
28-
new-cap: 2
28+
new-cap: [2, {"capIsNewExceptions": ["SaveAs"]}]
2929
new-parens: 2
3030
no-alert: 2
3131
no-array-constructor: 2
@@ -89,3 +89,5 @@ rules:
8989
strict: [2, "global"]
9090
wrap-iife: 2
9191
yoda: [2, "never"]
92+
globals:
93+
angular: true

dist/angular-file-saver.js

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515

1616
module.exports = angular.module('ngFileSaver', []);
1717

18-
({"angular-file-saver.service":require("./angular-file-saver.service.js"),"blob-polyfill.service":require("./blob-polyfill.service.js"),"file-saver-polyfill.service":require("./file-saver-polyfill.service.js")});
18+
({"angular-file-saver.service":require("./angular-file-saver.service.js"),"blob.service":require("./blob.service.js"),"file-saver.service":require("./file-saver.service.js")});
1919

20-
},{"./angular-file-saver.service.js":2,"./blob-polyfill.service.js":3,"./file-saver-polyfill.service.js":4}],2:[function(require,module,exports){
20+
},{"./angular-file-saver.service.js":2,"./blob.service.js":3,"./file-saver.service.js":4}],2:[function(require,module,exports){
2121
'use strict';
2222

2323
var ngFileSaver = require('./angular-file-saver.module.js');
@@ -42,11 +42,9 @@ function isUndefined(obj) {
4242
return typeof obj === 'undefined';
4343
}
4444

45-
function FileSaver($window) {
46-
var saveAs = $window.saveAs;
47-
var Blob = $window.Blob;
48-
49-
if (isUndefined(saveAs)) {
45+
function FileSaver($window, Blob, SaveAs) {
46+
console.log(Blob, SaveAs);
47+
if (isUndefined(FileSaver)) {
5048
handleErrors('saveAs is not supported. Please include saveAs polyfill');
5149
}
5250

@@ -60,7 +58,7 @@ function FileSaver($window) {
6058

6159
function save(blob, filename) {
6260
try {
63-
saveAs(blob, filename);
61+
SaveAs(blob, filename);
6462
} catch(err) {
6563
handleErrors(err.message);
6664
}
@@ -105,7 +103,29 @@ ngFileSaver
105103
.factory('FileSaver', ['$window', FileSaver]);
106104

107105
},{"./angular-file-saver.module.js":1}],3:[function(require,module,exports){
106+
'use strict';
107+
108+
var ngFileSaver = require('./angular-file-saver.module.js');
109+
110+
111+
function Blob($window) {
112+
return $window.Blob;
113+
}
114+
115+
ngFileSaver
116+
.factory('Blob', ['$window', Blob]);
117+
118+
},{"./angular-file-saver.module.js":1}],4:[function(require,module,exports){
119+
'use strict';
120+
121+
var ngFileSaver = require('./angular-file-saver.module.js');
122+
123+
124+
function SaveAs($window) {
125+
return $window.saveAs;
126+
}
127+
128+
ngFileSaver
129+
.factory('SaveAs', ['$window', SaveAs]);
108130

109-
},{}],4:[function(require,module,exports){
110-
arguments[4][3][0].apply(exports,arguments)
111-
},{"dup":3}]},{},[1]);
131+
},{"./angular-file-saver.module.js":1}]},{},[1]);

dist/angular-file-saver.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/dist/examples.js

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -28996,43 +28996,21 @@ module.exports = angular;
2899628996

2899728997
module.exports = angular.module('ngFileSaver', []);
2899828998

28999-
({"angular-file-saver.service":require("./angular-file-saver.service.js"),"blob-polyfill.service":require("./blob-polyfill.service.js"),"file-saver-polyfill.service":require("./file-saver-polyfill.service.js")});
28999+
({"angular-file-saver.service":require("./angular-file-saver.service.js"),"blob.service":require("./blob.service.js"),"file-saver.service":require("./file-saver.service.js")});
2900029000

29001-
},{"./angular-file-saver.service.js":6,"./blob-polyfill.service.js":7,"./file-saver-polyfill.service.js":8}],6:[function(require,module,exports){
29001+
},{"./angular-file-saver.service.js":6,"./blob.service.js":7,"./file-saver.service.js":8}],6:[function(require,module,exports){
2900229002
'use strict';
2900329003

2900429004
var ngFileSaver = require('./angular-file-saver.module.js');
2900529005

29006-
function handleErrors(msg) {
29007-
throw new Error(msg);
29008-
}
29009-
29010-
function isArray(obj) {
29011-
return Object.prototype.toString.call(obj) === '[object Array]';
29012-
}
29013-
29014-
function isObject(obj) {
29015-
return obj !== null && typeof obj === 'object';
29016-
}
29017-
29018-
function isString(obj) {
29019-
return typeof obj === 'string' || obj instanceof String;
29020-
}
29006+
function FileSaver(Blob, SaveAs, FileSaverUtils) {
2902129007

29022-
function isUndefined(obj) {
29023-
return typeof obj === 'undefined';
29024-
}
29025-
29026-
function FileSaver($window) {
29027-
var saveAs = $window.saveAs;
29028-
var Blob = $window.Blob;
29029-
29030-
if (isUndefined(saveAs)) {
29031-
handleErrors('saveAs is not supported. Please include saveAs polyfill');
29008+
if (FileSaverUtils.isUndefined(FileSaver)) {
29009+
FileSaverUtils.handleErrors('saveAs is not supported. Please include saveAs polyfill');
2903229010
}
2903329011

29034-
if (isUndefined(Blob)) {
29035-
handleErrors('Blob is not supported. Please include blob polyfill');
29012+
if (FileSaverUtils.isUndefined(Blob)) {
29013+
FileSaverUtils.handleErrors('Blob is not supported. Please include blob polyfill');
2903629014
}
2903729015

2903829016
function isBlobInstance(obj) {
@@ -29041,9 +29019,9 @@ function FileSaver($window) {
2904129019

2904229020
function save(blob, filename) {
2904329021
try {
29044-
saveAs(blob, filename);
29022+
SaveAs(blob, filename);
2904529023
} catch(err) {
29046-
handleErrors(err.message);
29024+
FileSaverUtils.handleErrors(err.message);
2904729025
}
2904829026
}
2904929027

@@ -29064,12 +29042,12 @@ function FileSaver($window) {
2906429042
var filename = config.filename;
2906529043
var options = config.options;
2906629044

29067-
if (!isArray(data) && !isBlobInstance(data)) {
29068-
handleErrors('Data argument should be represented as an array or Blob instance');
29045+
if (!FileSaverUtils.isArray(data) && !isBlobInstance(data)) {
29046+
FileSaverUtils.handleErrors('Data argument should be represented as an array or Blob instance');
2906929047
}
2907029048

29071-
if (!isString(filename)) {
29072-
handleErrors('Filename argument should be a string');
29049+
if (!FileSaverUtils.isString(filename)) {
29050+
FileSaverUtils.handleErrors('Filename argument should be a string');
2907329051
}
2907429052

2907529053
if (isBlobInstance(data)) {
@@ -29083,10 +29061,30 @@ function FileSaver($window) {
2908329061
}
2908429062

2908529063
ngFileSaver
29086-
.factory('FileSaver', ['$window', FileSaver]);
29064+
.factory('FileSaver', ['Blob', 'SaveAs', 'FileSaverUtils', FileSaver]);
2908729065

2908829066
},{"./angular-file-saver.module.js":5}],7:[function(require,module,exports){
29067+
'use strict';
29068+
29069+
var ngFileSaver = require('./angular-file-saver.module.js');
29070+
29071+
function Blob($window) {
29072+
return $window.Blob;
29073+
}
29074+
29075+
ngFileSaver
29076+
.factory('Blob', ['$window', Blob]);
29077+
29078+
},{"./angular-file-saver.module.js":5}],8:[function(require,module,exports){
29079+
'use strict';
29080+
29081+
var ngFileSaver = require('./angular-file-saver.module.js');
29082+
29083+
function SaveAs($window) {
29084+
return $window.saveAs;
29085+
}
29086+
29087+
ngFileSaver
29088+
.factory('SaveAs', ['$window', SaveAs]);
2908929089

29090-
},{}],8:[function(require,module,exports){
29091-
arguments[4][7][0].apply(exports,arguments)
29092-
},{"dup":7}]},{},[1]);
29090+
},{"./angular-file-saver.module.js":5}]},{},[1]);

docs/dist/examples.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/angular-file-saver.service.js

Lines changed: 13 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,15 @@
11
'use strict';
22

3-
var ngFileSaver = require('./angular-file-saver.module.js');
3+
var ngFileSaver = require('./angular-file-saver.module');
44

5-
function handleErrors(msg) {
6-
throw new Error(msg);
7-
}
8-
9-
function isArray(obj) {
10-
return Object.prototype.toString.call(obj) === '[object Array]';
11-
}
12-
13-
function isObject(obj) {
14-
return obj !== null && typeof obj === 'object';
15-
}
16-
17-
function isString(obj) {
18-
return typeof obj === 'string' || obj instanceof String;
19-
}
20-
21-
function isUndefined(obj) {
22-
return typeof obj === 'undefined';
23-
}
24-
25-
function FileSaver($window) {
26-
var saveAs = $window.saveAs;
27-
var Blob = $window.Blob;
5+
function FileSaver(Blob, SaveAs, FileSaverUtils) {
286

29-
if (isUndefined(saveAs)) {
30-
handleErrors('saveAs is not supported. Please include saveAs polyfill');
7+
if (FileSaverUtils.isUndefined(FileSaver)) {
8+
FileSaverUtils.handleErrors('saveAs is not supported. Please include saveAs polyfill');
319
}
3210

33-
if (isUndefined(Blob)) {
34-
handleErrors('Blob is not supported. Please include blob polyfill');
11+
if (FileSaverUtils.isUndefined(Blob)) {
12+
FileSaverUtils.handleErrors('Blob is not supported. Please include blob polyfill');
3513
}
3614

3715
function isBlobInstance(obj) {
@@ -40,9 +18,9 @@ function FileSaver($window) {
4018

4119
function save(blob, filename) {
4220
try {
43-
saveAs(blob, filename);
21+
SaveAs(blob, filename);
4422
} catch(err) {
45-
handleErrors(err.message);
23+
FileSaverUtils.handleErrors(err.message);
4624
}
4725
}
4826

@@ -63,12 +41,12 @@ function FileSaver($window) {
6341
var filename = config.filename;
6442
var options = config.options;
6543

66-
if (!isArray(data) && !isBlobInstance(data)) {
67-
handleErrors('Data argument should be represented as an array or Blob instance');
44+
if (!FileSaverUtils.isArray(data) && !isBlobInstance(data)) {
45+
FileSaverUtils.handleErrors('Data argument should be represented as an array or Blob instance');
6846
}
6947

70-
if (!isString(filename)) {
71-
handleErrors('Filename argument should be a string');
48+
if (!FileSaverUtils.isString(filename)) {
49+
FileSaverUtils.handleErrors('Filename argument should be a string');
7250
}
7351

7452
if (isBlobInstance(data)) {
@@ -82,4 +60,4 @@ function FileSaver($window) {
8260
}
8361

8462
ngFileSaver
85-
.factory('FileSaver', ['$window', FileSaver]);
63+
.factory('FileSaver', ['Blob', 'SaveAs', 'FileSaverUtils', FileSaver]);

src/blob-polyfill.service.js

Whitespace-only changes.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
'use strict';
2+
3+
var ngFileSaver = require('../angular-file-saver.module');
4+
5+
function Blob($window) {
6+
return $window.Blob;
7+
}
8+
9+
ngFileSaver
10+
.factory('Blob', ['$window', Blob]);

src/dependencies/blob.service.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
'use strict';
2+
3+
var ngFileSaver = require('../angular-file-saver.module');
4+
5+
function Blob($window) {
6+
return $window.Blob;
7+
}
8+
9+
ngFileSaver
10+
.factory('Blob', ['$window', Blob]);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
'use strict';
2+
3+
var ngFileSaver = require('../angular-file-saver.module');
4+
5+
function SaveAs($window) {
6+
return $window.saveAs;
7+
}
8+
9+
ngFileSaver
10+
.factory('SaveAs', ['$window', SaveAs]);

0 commit comments

Comments
 (0)