1 | /*
|
2 |
|
3 | miniwrite
|
4 |
|
5 | https://github.com/Bartvds/miniwrite
|
6 |
|
7 | Copyright (c) 2013 Bart van der Schoor
|
8 |
|
9 | Permission is hereby granted, free of charge, to any person
|
10 | obtaining a copy of this software and associated documentation
|
11 | files (the "Software"), to deal in the Software without
|
12 | restriction, including without limitation the rights to use,
|
13 | copy, modify, merge, publish, distribute, sublicense, and/or sell
|
14 | copies of the Software, and to permit persons to whom the
|
15 | Software is furnished to do so, subject to the following
|
16 | conditions:
|
17 |
|
18 | The above copyright notice and this permission notice shall be
|
19 | included in all copies or substantial portions of the Software.
|
20 |
|
21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
22 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
23 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
24 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
25 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
26 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
27 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
28 | OTHER DEALINGS IN THE SOFTWARE.
|
29 | */
|
30 |
|
31 | // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
32 |
|
33 | //TODO decide how to support monkey patch/mixin
|
34 | //TODO freeze some props
|
35 |
|
36 | // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
37 |
|
38 | /*jshint -W003*/
|
39 |
|
40 | (function () {
|
41 | ;
|
42 |
|
43 | var core = require('./core');
|
44 |
|
45 | // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
46 |
|
47 | // node.js / browser console.log
|
48 | function log(patch) {
|
49 | var mw = (patch || core.base());
|
50 | mw.enabled = true;
|
51 | // let's be gentle
|
52 | if (console) {
|
53 | mw.writeln = function (str) {
|
54 | if (mw.enabled) {
|
55 | console.log(String(str));
|
56 | }
|
57 | };
|
58 | }
|
59 | else {
|
60 | mw.writeln = function (/*str*/) {
|
61 | // ignore?
|
62 | };
|
63 | }
|
64 | if (!patch) {
|
65 | mw.toString = function () {
|
66 | return '<miniwrite-log>';
|
67 | };
|
68 | }
|
69 | return mw;
|
70 | }
|
71 |
|
72 | // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
73 |
|
74 | // grunt lazy
|
75 | function grunt(gruntInst, verbose, patch) {
|
76 | var mw = (patch || core.base());
|
77 | mw.enabled = true;
|
78 | if (verbose) {
|
79 | mw.writeln = function (line) {
|
80 | if (mw.enabled) {
|
81 | gruntInst.verbose.writeln(line);
|
82 | }
|
83 | };
|
84 | }
|
85 | else {
|
86 | mw.writeln = function (line) {
|
87 | if (mw.enabled) {
|
88 | gruntInst.log.writeln(line);
|
89 | }
|
90 | };
|
91 | }
|
92 | if (!patch) {
|
93 | mw.toString = function () {
|
94 | return '<miniwrite-grunt>';
|
95 | };
|
96 | }
|
97 | return mw;
|
98 | }
|
99 |
|
100 | // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
101 |
|
102 | // assemble exports
|
103 | var logio = {
|
104 | log: log,
|
105 | grunt: grunt
|
106 | };
|
107 |
|
108 | module.exports = logio;
|
109 |
|
110 | }).call();
|