summaryrefslogtreecommitdiffstats
path: root/node_modules/scss-tokenizer/lib/input.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/scss-tokenizer/lib/input.js')
-rw-r--r--node_modules/scss-tokenizer/lib/input.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/node_modules/scss-tokenizer/lib/input.js b/node_modules/scss-tokenizer/lib/input.js
new file mode 100644
index 0000000..ffbc009
--- /dev/null
+++ b/node_modules/scss-tokenizer/lib/input.js
@@ -0,0 +1,57 @@
+'use strict';
+
+exports.__esModule = true;
+
+var _previousMap = require('./previous-map');
+
+var _previousMap2 = _interopRequireDefault(_previousMap);
+
+var _path = require('path');
+
+var _path2 = _interopRequireDefault(_path);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+var sequence = 0;
+
+var Input = function () {
+ function Input(css) {
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+
+ _classCallCheck(this, Input);
+
+ this.css = css.toString();
+
+ if (this.css[0] === '\uFEFF' || this.css[0] === '\uFFFE') {
+ this.css = this.css.slice(1);
+ }
+
+ if (opts.from) this.file = _path2.default.resolve(opts.from);
+
+ var map = new _previousMap2.default(this.css, opts, this.id);
+ if (map.text) {
+ this.map = map;
+ var file = map.consumer().file;
+ if (!this.file && file) this.file = this.mapResolve(file);
+ }
+
+ if (this.file) {
+ this.from = this.file;
+ } else {
+ sequence += 1;
+ this.id = '<input css ' + sequence + '>';
+ this.from = this.id;
+ }
+ if (this.map) this.map.file = this.from;
+ }
+
+ Input.prototype.mapResolve = function mapResolve(file) {
+ return _path2.default.resolve(this.map.consumer().sourceRoot || '.', file);
+ };
+
+ return Input;
+}();
+
+exports.default = Input; \ No newline at end of file