UNPKG

webpack-sources

Version:

Source code handling classes for webpack

61 lines (60 loc) • 1.55 kB
export = createMappingsSerializer; /** * @param {{ columns?: boolean }=} options options * @returns {MappingsSerializer} mappings serializer */ declare function createMappingsSerializer( options?: | { columns?: boolean; } | undefined, ): MappingsSerializer; declare namespace createMappingsSerializer { export { createMappingsWriter, MappingsSerializer, MappingsWriter }; } /** * @param {{ columns?: boolean }=} options options * @returns {MappingsWriter} push-based mappings writer */ declare function createMappingsWriter( options?: | { columns?: boolean; } | undefined, ): MappingsWriter; type MappingsSerializer = ( generatedLine: number, generatedColumn: number, sourceIndex: number, originalLine: number, originalColumn: number, nameIndex: number, ) => string; /** * A push-based serializer: `add()` appends one mapping to an internal * byte buffer, `finish()` materialises the whole `mappings` string in a * single allocation. Compared to the string-returning * {@link MappingsSerializer} this avoids every per-mapping intermediate * string (each VLQ digit concatenation) plus the caller-side * `mappings += str` cons chain — together the dominant allocation site * of `map()` / `sourceAndMap()`. */ type MappingsWriter = { /** * append one mapping */ add: ( generatedLine: number, generatedColumn: number, sourceIndex: number, originalLine: number, originalColumn: number, nameIndex: number, ) => void; /** * materialise the mappings string */ finish: () => string; };