diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-08-30 17:21:18 +0800 |
| commit | efbc2ffe6a1ee5ec38a4396305561d6515d0943e (patch) | |
| tree | 2b4c94f18f2c792dfda813050755d5c0273fae22 /node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js | |
| parent | 43acceb75957c880a5ba5a31aae221394a36d5f6 (diff) | |
node fixes, updates
Diffstat (limited to 'node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js')
| -rw-r--r-- | node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js | 129 |
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; +}; |
