UNPKG

5.33 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
8
9var filenameWithoutLoaders = exports.filenameWithoutLoaders = function filenameWithoutLoaders() {
10 var filename = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
11
12 var index = filename.lastIndexOf('!');
13
14 return index < 0 ? filename : filename.substr(index + 1);
15};
16
17var filenameHasLoaders = exports.filenameHasLoaders = function filenameHasLoaders(filename) {
18 var actualFilename = _get__('filenameWithoutLoaders')(filename);
19
20 return actualFilename !== filename;
21};
22
23var filenameHasSchema = exports.filenameHasSchema = function filenameHasSchema(filename) {
24 return (/^[\w]+\:/.test(filename)
25 );
26};
27
28var isFilenameAbsolute = exports.isFilenameAbsolute = function isFilenameAbsolute(filename) {
29 var actualFilename = _get__('filenameWithoutLoaders')(filename);
30
31 if (actualFilename.indexOf('/') === 0) {
32 return true;
33 }
34
35 return false;
36};
37
38var makeUrl = exports.makeUrl = function makeUrl(filename, scheme, line, column) {
39 var actualFilename = _get__('filenameWithoutLoaders')(filename);
40
41 if (_get__('filenameHasSchema')(filename)) {
42 return actualFilename;
43 }
44
45 var url = 'file://' + actualFilename;
46
47 if (scheme) {
48 url = scheme + '://open?url=' + url;
49
50 if (line && actualFilename === filename) {
51 url = url + '&line=' + line;
52
53 if (column) {
54 url = url + '&column=' + column;
55 }
56 }
57 }
58
59 return url;
60};
61
62var makeLinkText = exports.makeLinkText = function makeLinkText(filename, line, column) {
63 var text = _get__('filenameWithoutLoaders')(filename);
64
65 if (line && text === filename) {
66 text = text + ':' + line;
67
68 if (column) {
69 text = text + ':' + column;
70 }
71 }
72
73 return text;
74};
75
76var _RewiredData__ = Object.create(null);
77
78var INTENTIONAL_UNDEFINED = '__INTENTIONAL_UNDEFINED__';
79var _RewireAPI__ = {};
80
81(function () {
82 function addPropertyToAPIObject(name, value) {
83 Object.defineProperty(_RewireAPI__, name, {
84 value: value,
85 enumerable: false,
86 configurable: true
87 });
88 }
89
90 addPropertyToAPIObject('__get__', _get__);
91 addPropertyToAPIObject('__GetDependency__', _get__);
92 addPropertyToAPIObject('__Rewire__', _set__);
93 addPropertyToAPIObject('__set__', _set__);
94 addPropertyToAPIObject('__reset__', _reset__);
95 addPropertyToAPIObject('__ResetDependency__', _reset__);
96 addPropertyToAPIObject('__with__', _with__);
97})();
98
99function _get__(variableName) {
100 if (_RewiredData__ === undefined || _RewiredData__[variableName] === undefined) {
101 return _get_original__(variableName);
102 } else {
103 var value = _RewiredData__[variableName];
104
105 if (value === INTENTIONAL_UNDEFINED) {
106 return undefined;
107 } else {
108 return value;
109 }
110 }
111}
112
113function _get_original__(variableName) {
114 switch (variableName) {
115 case 'filenameWithoutLoaders':
116 return filenameWithoutLoaders;
117
118 case 'filenameHasSchema':
119 return filenameHasSchema;
120 }
121
122 return undefined;
123}
124
125function _assign__(variableName, value) {
126 if (_RewiredData__ === undefined || _RewiredData__[variableName] === undefined) {
127 return _set_original__(variableName, value);
128 } else {
129 return _RewiredData__[variableName] = value;
130 }
131}
132
133function _set_original__(variableName, _value) {
134 switch (variableName) {}
135
136 return undefined;
137}
138
139function _update_operation__(operation, variableName, prefix) {
140 var oldValue = _get__(variableName);
141
142 var newValue = operation === '++' ? oldValue + 1 : oldValue - 1;
143
144 _assign__(variableName, newValue);
145
146 return prefix ? newValue : oldValue;
147}
148
149function _set__(variableName, value) {
150 if ((typeof variableName === 'undefined' ? 'undefined' : _typeof(variableName)) === 'object') {
151 Object.keys(variableName).forEach(function (name) {
152 _RewiredData__[name] = variableName[name];
153 });
154 } else {
155 if (value === undefined) {
156 _RewiredData__[variableName] = INTENTIONAL_UNDEFINED;
157 } else {
158 _RewiredData__[variableName] = value;
159 }
160
161 return function () {
162 _reset__(variableName);
163 };
164 }
165}
166
167function _reset__(variableName) {
168 delete _RewiredData__[variableName];
169}
170
171function _with__(object) {
172 var rewiredVariableNames = Object.keys(object);
173 var previousValues = {};
174
175 function reset() {
176 rewiredVariableNames.forEach(function (variableName) {
177 _RewiredData__[variableName] = previousValues[variableName];
178 });
179 }
180
181 return function (callback) {
182 rewiredVariableNames.forEach(function (variableName) {
183 previousValues[variableName] = _RewiredData__[variableName];
184 _RewiredData__[variableName] = object[variableName];
185 });
186 var result = callback();
187
188 if (!!result && typeof result.then == 'function') {
189 result.then(reset).catch(reset);
190 } else {
191 reset();
192 }
193
194 return result;
195 };
196}
197
198exports.__get__ = _get__;
199exports.__GetDependency__ = _get__;
200exports.__Rewire__ = _set__;
201exports.__set__ = _set__;
202exports.__ResetDependency__ = _reset__;
203exports.__RewireAPI__ = _RewireAPI__;
204exports.default = _RewireAPI__;
\No newline at end of file