1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | 'use strict'
|
9 |
|
10 | const argx = require('argx')
|
11 | const co = require('co')
|
12 | const furLogger = require('fur-logger')
|
13 | const BannerGenerator = require('./generators/banner_generator')
|
14 | const FaviconGenerator = require('./generators/favicon_generator')
|
15 |
|
16 | let noMoreCallbackError = () => new Error('Callback is no longer supported. Use promise interface instead.')
|
17 |
|
18 |
|
19 | function Fur (config) {
|
20 | const s = this;
|
21 | Object.assign(s, config)
|
22 | }
|
23 |
|
24 | Fur.prototype = {
|
25 | |
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 | banner (filename, options) {
|
32 | let args = argx(arguments)
|
33 | if (args.pop('function')) {
|
34 | throw noMoreCallbackError()
|
35 | }
|
36 | filename = args.shift('string')
|
37 | options = args.pop('object') || {}
|
38 |
|
39 | let logger = furLogger(options.verbose)
|
40 | let generator = new BannerGenerator({
|
41 | width: options.width,
|
42 | height: options.height,
|
43 | shape: options.shape,
|
44 | color: options.color,
|
45 | font: options.font,
|
46 | text: options.text,
|
47 | format: options.format,
|
48 | fontSize: options.fontSize
|
49 | })
|
50 | return co(function * () {
|
51 | yield generator.generate(filename)
|
52 | logger.logImageGenerated(filename)
|
53 | })
|
54 | },
|
55 | |
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 | favicon (filename, options) {
|
62 | let args = argx(arguments)
|
63 | if (args.pop('function')) {
|
64 | throw noMoreCallbackError()
|
65 | }
|
66 | filename = args.shift('string')
|
67 | options = args.pop('object') || {}
|
68 |
|
69 | let logger = furLogger(options.verbose)
|
70 | let generator = new FaviconGenerator({
|
71 | size: options.size,
|
72 | shape: options.shape,
|
73 | color: options.color,
|
74 | font: options.font,
|
75 | text: options.text,
|
76 | format: options.format,
|
77 | fontSize: options.fontSize
|
78 | })
|
79 | return co(function * () {
|
80 | yield generator.generate(filename)
|
81 | logger.logImageGenerated(filename)
|
82 | })
|
83 | }
|
84 | }
|
85 |
|
86 | module.exports = Fur
|