summaryrefslogtreecommitdiff
path: root/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js')
-rw-r--r--node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js129
1 files changed, 129 insertions, 0 deletions
diff --git a/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js b/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js
new file mode 100644
index 00000000..f45c639c
--- /dev/null
+++ b/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js
@@ -0,0 +1,129 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+
+"use strict";
+
+const createMappingsSerializer = require("./createMappingsSerializer");
+
+exports.getSourceAndMap = (inputSource, options) => {
+ let code = "";
+ let mappings = "";
+ let sources = [];
+ let sourcesContent = [];
+ let names = [];
+ const addMapping = createMappingsSerializer(options);
+ const { source } = inputSource.streamChunks(
+ Object.assign({}, options, { finalSource: true }),
+ (
+ chunk,
+ generatedLine,
+ generatedColumn,
+ sourceIndex,
+ originalLine,
+ originalColumn,
+ nameIndex
+ ) => {
+ if (chunk !== undefined) code += chunk;
+ mappings += addMapping(
+ generatedLine,
+ generatedColumn,
+ sourceIndex,
+ originalLine,
+ originalColumn,
+ nameIndex
+ );
+ },
+ (sourceIndex, source, sourceContent) => {
+ while (sources.length < sourceIndex) {
+ sources.push(null);
+ }
+ sources[sourceIndex] = source;
+ if (sourceContent !== undefined) {
+ while (sourcesContent.length < sourceIndex) {
+ sourcesContent.push(null);
+ }
+ sourcesContent[sourceIndex] = sourceContent;
+ }
+ },
+ (nameIndex, name) => {
+ while (names.length < nameIndex) {
+ names.push(null);
+ }
+ names[nameIndex] = name;
+ }
+ );
+ return {
+ source: source !== undefined ? source : code,
+ map:
+ mappings.length > 0
+ ? {
+ version: 3,
+ file: "x",
+ mappings,
+ sources,
+ sourcesContent:
+ sourcesContent.length > 0 ? sourcesContent : undefined,
+ names
+ }
+ : null
+ };
+};
+
+exports.getMap = (source, options) => {
+ let mappings = "";
+ let sources = [];
+ let sourcesContent = [];
+ let names = [];
+ const addMapping = createMappingsSerializer(options);
+ source.streamChunks(
+ Object.assign({}, options, { source: false, finalSource: true }),
+ (
+ chunk,
+ generatedLine,
+ generatedColumn,
+ sourceIndex,
+ originalLine,
+ originalColumn,
+ nameIndex
+ ) => {
+ mappings += addMapping(
+ generatedLine,
+ generatedColumn,
+ sourceIndex,
+ originalLine,
+ originalColumn,
+ nameIndex
+ );
+ },
+ (sourceIndex, source, sourceContent) => {
+ while (sources.length < sourceIndex) {
+ sources.push(null);
+ }
+ sources[sourceIndex] = source;
+ if (sourceContent !== undefined) {
+ while (sourcesContent.length < sourceIndex) {
+ sourcesContent.push(null);
+ }
+ sourcesContent[sourceIndex] = sourceContent;
+ }
+ },
+ (nameIndex, name) => {
+ while (names.length < nameIndex) {
+ names.push(null);
+ }
+ names[nameIndex] = name;
+ }
+ );
+ return mappings.length > 0
+ ? {
+ version: 3,
+ file: "x",
+ mappings,
+ sources,
+ sourcesContent: sourcesContent.length > 0 ? sourcesContent : undefined,
+ names
+ }
+ : null;
+};