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
- Host: GitHub
- URL: https://github.com/simplyhexagonal/multi-replace
- Owner: simplyhexagonal
- Created: 2021-09-21T19:59:13.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2023-09-23T20:37:29.000Z (almost 3 years ago)
- Last Synced: 2025-04-27T04:01:47.787Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@simplyhexagonal/multi-replace
- Size: 171 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Multi Replace

[](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)):
## 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).