diff --git a/src/compiler/preprocess/decode_sourcemap.js b/src/compiler/preprocess/decode_sourcemap.js index cb0987f013..8c9c5380ca 100644 --- a/src/compiler/preprocess/decode_sourcemap.js +++ b/src/compiler/preprocess/decode_sourcemap.js @@ -1,4 +1,5 @@ import { decode as decode_mappings } from '@jridgewell/sourcemap-codec'; + /** * Import decoded sourcemap from mozilla/source-map/SourceMapGenerator * Forked from source-map/lib/source-map-generator.js @@ -67,7 +68,7 @@ function decoded_sourcemap_from_generator(generator) { } /** - * @param {Processed} processed + * @param {import('./public.js').Processed} processed */ export function decode_map(processed) { let decoded_map = typeof processed.map === 'string' ? JSON.parse(processed.map) : processed.map; diff --git a/src/compiler/preprocess/private.d.ts b/src/compiler/preprocess/private.d.ts index dde1784df8..5d8c5ed44e 100644 --- a/src/compiler/preprocess/private.d.ts +++ b/src/compiler/preprocess/private.d.ts @@ -1,5 +1,6 @@ import { DecodedSourceMap } from '@ampproject/remapping'; import { Location } from 'locate-character'; +import { MappedCode } from '../utils/mapped_code.js'; export interface Source { source: string; @@ -13,3 +14,9 @@ export interface SourceUpdate { map?: DecodedSourceMap; dependencies?: string[]; } + +export interface Replacement { + offset: number; + length: number; + replacement: MappedCode; +} diff --git a/src/compiler/preprocess/replace_in_code.js b/src/compiler/preprocess/replace_in_code.js index c5f65f4afd..1439878870 100644 --- a/src/compiler/preprocess/replace_in_code.js +++ b/src/compiler/preprocess/replace_in_code.js @@ -1,10 +1,10 @@ -import { MappedCode } from '../utils/mapped_code'; +import { MappedCode } from '../utils/mapped_code.js'; /** * @param {string} code_slice * @param {number} offset - * @param {Source} - * @returns {Source} + * @param {import('./private.js').Source} opts + * @returns {import('./private.js').Source} */ export function slice_source(code_slice, offset, { file_basename, filename, get_location }) { return { @@ -22,7 +22,7 @@ export function slice_source(code_slice, offset, { file_basename, filename, get_ */ function calculate_replacements(re, get_replacement, source) { /** - * @type {Array>} + * @type {Array>} */ const replacements = []; source.replace(re, (...match) => { @@ -39,8 +39,8 @@ function calculate_replacements(re, get_replacement, source) { } /** - * @param {Replacement[]} replacements - * @param {Source} source + * @param {import('./private.js').Replacement[]} replacements + * @param {import('./private.js').Source} source * @returns {MappedCode} */ function perform_replacements(replacements, source) { @@ -62,16 +62,10 @@ function perform_replacements(replacements, source) { /** * @param {RegExp} regex * @param {(...match: any[]) => Promise} get_replacement - * @param {Source} location + * @param {import('./private.js').Source} location * @returns {Promise} */ export async function replace_in_code(regex, get_replacement, location) { const replacements = await calculate_replacements(regex, get_replacement, location.source); return perform_replacements(replacements, location); } - -/** @typedef {Object} Replacement - * @property {number} offset - * @property {number} length - * @property {MappedCode} replacement - */