1 | function HappyFakeLoaderContext(initialValues) {
|
2 | var loader = {};
|
3 |
|
4 |
|
5 | loader._compiler = null;
|
6 |
|
7 |
|
8 | loader._remoteLoaderId = null;
|
9 |
|
10 | loader.version = 1;
|
11 | loader.webpack = false;
|
12 | loader.request = null;
|
13 | loader.query = null;
|
14 |
|
15 | loader.context = null;
|
16 | loader.resource = null;
|
17 | loader.resourcePath = null;
|
18 | loader.resourceQuery = null;
|
19 |
|
20 | loader.data = {};
|
21 | loader.loaders = [{}];
|
22 | loader.loaderIndex = 0;
|
23 |
|
24 | loader.options = null;
|
25 | loader.result = null;
|
26 |
|
27 | loader.sourceMap = false;
|
28 | loader.fs = null;
|
29 |
|
30 |
|
31 | loader.cacheable = function() {};
|
32 | loader.callback = null;
|
33 | loader.async = null;
|
34 |
|
35 | loader.exec = NotSupported('this.exec()');
|
36 |
|
37 | loader.emitWarning = function(message) {
|
38 | loader._compiler._sendMessage('emitWarning', {
|
39 | remoteLoaderId: loader._remoteLoaderId,
|
40 | message: message
|
41 | });
|
42 | };
|
43 |
|
44 | loader.emitError = function(message) {
|
45 | loader._compiler._sendMessage('emitError', {
|
46 | remoteLoaderId: loader._remoteLoaderId,
|
47 | message: message
|
48 | });
|
49 | };
|
50 |
|
51 | loader.resolve = function(context, resource, done) {
|
52 | loader._compiler.resolve(context, resource, done);
|
53 | };
|
54 |
|
55 | loader.resolveSync = NotSupported('this.resolveSync()');
|
56 |
|
57 | loader.addDependency = function(file) {
|
58 | loader._compiler._sendMessage('addDependency', {
|
59 | remoteLoaderId: loader._remoteLoaderId,
|
60 | file: file
|
61 | });
|
62 | };
|
63 |
|
64 | loader.addContextDependency = function(file) {
|
65 | loader._compiler._sendMessage('addContextDependency', {
|
66 | remoteLoaderId: loader._remoteLoaderId,
|
67 | file: file
|
68 | });
|
69 | };
|
70 |
|
71 | loader.clearDependencies = function() {
|
72 | loader._compiler._sendMessage('clearDependencies', {
|
73 | remoteLoaderId: loader._remoteLoaderId
|
74 | });
|
75 | };
|
76 |
|
77 | loader.emitFile = function(name, contents, sourceMap) {
|
78 | loader._compiler._sendMessage('emitFile', {
|
79 | remoteLoaderId: loader._remoteLoaderId,
|
80 | name: name,
|
81 | contents: contents,
|
82 | sourceMap: JSON.stringify(sourceMap || {})
|
83 | });
|
84 | };
|
85 |
|
86 |
|
87 | loader.dependency = loader.addDependency;
|
88 |
|
89 | Object.keys(initialValues || {}).forEach(function(key) {
|
90 | if (!loader.hasOwnProperty(key)) {
|
91 | console.warn('Unrecognized fake loader context attribute "%s".', key);
|
92 | }
|
93 |
|
94 | loader[key] = initialValues[key];
|
95 | });
|
96 |
|
97 | return loader;
|
98 | }
|
99 |
|
100 | function NotSupported(fnName) {
|
101 | return function() {
|
102 | throw new Error('HappyPack: ' + fnName + ' is not supported for happy loaders.');
|
103 | }
|
104 | }
|
105 | module.exports = HappyFakeLoaderContext; |
\ | No newline at end of file |