PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/metro-source-map/src/Consumer
Просмотр файла: SectionsConsumer.js
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
exports.default = void 0;
var _AbstractConsumer = _interopRequireDefault(require("./AbstractConsumer"));
var _constants = require("./constants");
var _createConsumer = _interopRequireDefault(require("./createConsumer"));
var _positionMath = require("./positionMath");
var _search = require("./search");
var _ob = require("ob1");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : { default: e };
}
class SectionsConsumer extends _AbstractConsumer.default {
constructor(sourceMap) {
super(sourceMap);
this._consumers = sourceMap.sections.map((section, index) => {
const generatedOffset = {
lines: (0, _ob.add0)(section.offset.line),
columns: (0, _ob.add0)(section.offset.column),
};
const consumer = (0, _createConsumer.default)(section.map);
return [generatedOffset, consumer];
});
}
originalPositionFor(generatedPosition) {
const [generatedOffset, consumer] =
this._consumerForPosition(generatedPosition) || [];
if (!consumer) {
return {
..._constants.EMPTY_POSITION,
};
}
return consumer.originalPositionFor(
(0, _positionMath.subtractOffsetFromPosition)(
generatedPosition,
generatedOffset,
),
);
}
*generatedMappings() {
for (const [generatedOffset, consumer] of this._consumers) {
let first = true;
for (const mapping of consumer.generatedMappings()) {
if (
first &&
((0, _ob.get1)(mapping.generatedLine) > 1 ||
(0, _ob.get0)(mapping.generatedColumn) > 0)
) {
yield {
generatedLine: _constants.FIRST_LINE,
generatedColumn: _constants.FIRST_COLUMN,
source: null,
name: null,
originalLine: null,
originalColumn: null,
};
}
first = false;
yield {
...mapping,
generatedLine: (0, _ob.add)(
mapping.generatedLine,
generatedOffset.lines,
),
generatedColumn: (0, _ob.add)(
mapping.generatedColumn,
generatedOffset.columns,
),
};
}
}
}
_consumerForPosition(generatedPosition) {
const { line, column } = generatedPosition;
if (line == null || column == null) {
return null;
}
const index = (0, _search.greatestLowerBound)(
this._consumers,
generatedPosition,
(position, [offset]) => {
const line0 = (0, _ob.sub1)(line);
const column0 = column;
if (line0 === offset.lines) {
return (0, _ob.get0)((0, _ob.sub)(column0, offset.columns));
}
return (0, _ob.get0)((0, _ob.sub)(line0, offset.lines));
},
);
return index != null ? this._consumers[index] : null;
}
sourceContentFor(source, nullOnMissing) {
for (const [_, consumer] of this._consumers) {
const content = consumer.sourceContentFor(source, nullOnMissing);
if (content != null) {
return content;
}
}
return null;
}
}
exports.default = SectionsConsumer;
Выполнить команду
Для локальной разработки. Не используйте в интернете!