An open API service indexing awesome lists of open source software.

https://github.com/simplyhexagonal/multi-replace

Functions to easily perform various replace operations on a Javascript/Typescript string
https://github.com/simplyhexagonal/multi-replace

Last synced: about 1 year ago
JSON representation

Functions to easily perform various replace operations on a Javascript/Typescript string

Awesome Lists containing this project

README

          

# Multi Replace
![Tests](https://github.com/simplyhexagonal/multi-replace/workflows/tests/badge.svg)
[![Try multi-replace on RunKit](https://badge.runkitcdn.com/@simplyhexagonal/multi-replace.svg)](https://npm.runkit.com/@simplyhexagonal/multi-replace)

On a single call, perform multiple replace operations on a Javascript/Typescript string.

## Open source notice

This project is open to updates by its users, I ensure that PRs are relevant to the community.
In other words, if you find a bug or want a new feature, please help us by becoming one of the
[contributors](#contributors-) ✌️ ! See the [contributing section](#contributing).

## Like this module? ❤

Please consider:

- [Buying me a coffee](https://www.buymeacoffee.com/jeanlescure) ☕
- Supporting me on [Patreon](https://www.patreon.com/jeanlescure) 🏆
- Starring this repo on [Github](https://github.com/simplyhexagonal/multi-replace) 🌟

## Usage

Import `multiReplace`:

```tsx
// Node
const { multiReplace } = require('@simplyhexagonal/multi-replace');

// ES6/Typescript
import { multiReplace } from '@simplyhexagonal/multi-replace';

// Browser

const { multiReplace } = MultiReplace;

```

Define one or more replace patterns:

```ts
const firstReplacePattern = ['Greetings', async () => 'hello'];
const secondReplacePattern = [/stranger/g, 'friend'];

// A replace pattern is an array where the first item is the "matcher"
// and the second item is the "replacement".

// A matcher can be either a string or a regular expression.
// A replacement can be either a string or a function.
```

Use `multiReplace` to perform the replacements over your content:

```ts
const content = 'Greetings stranger, I am also a stranger';

const result = await multiReplace(
content,
[
firstReplacePattern,
secondReplacePattern,
],
);

console.log(result);
// Hello friend, I am also a friend
```

## Synchronous usage

If you need to perform replacements synchronously simply use `multiReplaceSync`:

```tsx
// Node
const { multiReplaceSync } = require('@simplyhexagonal/multi-replace');

// ES6/Typescript
import { multiReplaceSync } from '@simplyhexagonal/multi-replace';

// Browser

const { multiReplaceSync } = MultiReplace;

```

## Contributing

Yes, thank you! This plugin is community-driven, most of its features are from different authors.
Please update the tests and don't forget to add your name to the `package.json` file.

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Jean Lescure

🚧 💻 📓 ⚠️ 💡 📖

## License

Copyright (c) 2021-Present [MultiReplace Contributors](https://github.com/simplyhexagonal/multi-replace/#contributors-).

Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).