53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
/// <reference types="node" />
|
|
import File = require("vinyl");
|
|
|
|
/**
|
|
* Represents options for `gulp-replace`.
|
|
*/
|
|
interface Options {
|
|
/**
|
|
* A value indicating whether binary files should be skipped.
|
|
*/
|
|
skipBinary?: boolean
|
|
}
|
|
|
|
/**
|
|
* The context of the replacer-function.
|
|
*/
|
|
interface ReplacerContext {
|
|
/**
|
|
* The file being processed.
|
|
*/
|
|
file: File
|
|
}
|
|
|
|
/**
|
|
* Represents a method for replacing contents of a vinyl-file.
|
|
*/
|
|
type Replacer = (this: ReplacerContext, match: string, ...args: any[]) => string;
|
|
|
|
/**
|
|
* Searches and replaces a portion of text using a `string` or a `RegExp`.
|
|
*
|
|
* @param search The `string` or `RegExp` to search for.
|
|
*
|
|
* @param replacement The replacement string or a function for generating a replacement.
|
|
*
|
|
* If `replacement` is a function, it will be called once for each match and will be passed the string
|
|
* that is to be replaced. The value of `this.file` will be equal to the vinyl instance for the file
|
|
* being processed.
|
|
*
|
|
* Read more at [`String.prototype.replace()` at MDN web docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter").
|
|
*
|
|
* @param options `options.skipBinary` will be equal to `true` by default.
|
|
*
|
|
* Skip binary files. This option is `true` by default. If
|
|
* you want to replace content in binary files, you must explicitly set it to `false`.
|
|
*/
|
|
declare function replace(
|
|
search: string | RegExp,
|
|
replacement: string | Replacer,
|
|
options?: Options
|
|
): NodeJS.ReadWriteStream;
|
|
|
|
export = replace;
|