rregex 1.10.9 → 1.10.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,8 +5,6 @@ A dependency-free WebAssembly build of [Rust Regex](https://docs.rs/regex/latest
5
5
  ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/2fd/rregex/release.yml?branch=master) ![GitHub Release](https://img.shields.io/github/v/release/2fd/rregex) ![NPM Version](https://img.shields.io/npm/v/rregex)
6
6
  [![JSR](https://jsr.io/badges/@rregex/rregex)](https://jsr.io/@rregex/rregex)
7
7
 
8
- > Note: this project is not intended to be used in production jet
9
-
10
8
  - [Why Rust Regex](#why-rust-regex)
11
9
  - [Install](#install)
12
10
  - [Supported Runtimes](#supported-runtimes)
@@ -16,6 +14,7 @@ A dependency-free WebAssembly build of [Rust Regex](https://docs.rs/regex/latest
16
14
  - [`Match`](https://tsdocs.dev/docs/rregex/latest/types/Match.html)
17
15
  - [`Captures`](https://tsdocs.dev/docs/rregex/latest/types/Captures.html)
18
16
  - [`escape`](https://tsdocs.dev/docs/rregex/latest/functions/escape.html)
17
+ - [Benchmarks](#benchmarks)
19
18
  - [Known Issues](#known-issues)
20
19
 
21
20
  ## Why Rust Regex
@@ -57,6 +56,20 @@ This package includes builds for multiple runtimes
57
56
  | Browser | TODO | |
58
57
  | Standalone | TODO | |
59
58
 
59
+ ## Benchmarks
60
+
61
+ In general terms `rregex` is at least 1 order of magnitud slower than the native `RegExp` object, but still have a good performance. **Unless you required some of the features that `rregex` provides, you should always consider using the native `RegExp` object**
62
+
63
+ [![Simple IP](./img/rregex-vs-native_-simple-ip.png)](https://jsbenchmark.com/#eyJjYXNlcyI6W3siaWQiOiJlZl9VbGJvYThpRGNYeGM3VUl4YnMiLCJjb2RlIjoiREFUQS5tYXRjaCgnKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0pXFxcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0pJykiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiUmVnRXhwOiBJUCJ9LHsiaWQiOiI0QkxuZmtPd0p4ZTZhQ0NSVmpIOVUiLCJjb2RlIjoibmV3IHJyZWdleC5SUmVnZXgoXCIoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0_WzAtOV1bMC05XSlcXFxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0_WzAtOV1bMC05XSlcIikuZmluZChEQVRBKSIsImRlcGVuZGVuY2llcyI6W10sIm5hbWUiOiJSUmVnZXg6IElQIn1dLCJjb25maWciOnsibmFtZSI6IlJSZWdleCB2cyBOYXRpdmU6IElQIiwicGFyYWxsZWwiOnRydWUsImdsb2JhbFRlc3RDb25maWciOnsiZGVwZW5kZW5jaWVzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3JyZWdleEAxLjEwLjEwL2xpYi93ZWIubWluLmpzIiwibmFtZSI6InJyZWdleCIsImVzbSI6dHJ1ZX1dfSwiZGF0YUNvZGUiOiJjb25zdCB3cmVzID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcnJlZ2V4QDEuMTAuMTAvbGliL3JyZWdleC53YXNtJylcbmNvbnN0IHcgPSBhd2FpdCB3cmVzLmFycmF5QnVmZmVyKClcbnJyZWdleC5pbml0U3luYyh3KVxuXG5yZXR1cm4gYFxuIyBodHRwczovL3d3dy5jbG91ZGZsYXJlLmNvbS9pcHMtdjQvI1xuMTczLjI0NS40OC4wLzIwXG4xMDMuMjEuMjQ0LjAvMjJcbjEwMy4yMi4yMDAuMC8yMlxuMTAzLjMxLjQuMC8yMlxuMTQxLjEwMS42NC4wLzE4XG4xMDguMTYyLjE5Mi4wLzE4XG4xOTAuOTMuMjQwLjAvMjBcbjE4OC4xMTQuOTYuMC8yMFxuMTk3LjIzNC4yNDAuMC8yMlxuMTk4LjQxLjEyOC4wLzE3XG4xNjIuMTU4LjAuMC8xNVxuMTA0LjE2LjAuMC8xM1xuMTA0LjI0LjAuMC8xNFxuMTcyLjY0LjAuMC8xM1xuMTMxLjAuNzIuMC8yMlxuYCJ9fQ)
64
+
65
+ [![IP](./img/rregex-vs-native_-ip.png)](https://jsbenchmark.com/#eyJjYXNlcyI6W3siaWQiOiJlZl9VbGJvYThpRGNYeGM3VUl4YnMiLCJjb2RlIjoiREFUQS5tYXRjaCgnKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0pXFxcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0pJykiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiUmVnRXhwOiBVUkkifSx7ImlkIjoiNEJMbmZrT3dKeGU2YUNDUlZqSDlVIiwiY29kZSI6Im5ldyBycmVnZXguUlJlZ2V4KFwiKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0pXFxcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0pXCIpLmZpbmQoREFUQSkiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiUlJlZ2V4OiBVUkkifV0sImNvbmZpZyI6eyJuYW1lIjoiUlJlZ2V4IHZzIE5hdGl2ZTogSVAiLCJwYXJhbGxlbCI6dHJ1ZSwiZ2xvYmFsVGVzdENvbmZpZyI6eyJkZXBlbmRlbmNpZXMiOlt7InVybCI6Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcnJlZ2V4QDEuMTAuMTAvbGliL3dlYi5taW4uanMiLCJuYW1lIjoicnJlZ2V4IiwiZXNtIjp0cnVlfV19LCJkYXRhQ29kZSI6ImNvbnN0IGRyZXMgPSBhd2FpdCBmZXRjaCgnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21hcmlvbWthL3JlZ2V4LWJlbmNobWFyay9tYXN0ZXIvaW5wdXQtdGV4dC50eHQnKVxuY29uc3QgZGF0YSA9IGF3YWl0IGRyZXMudGV4dCgpXG5cbmNvbnN0IHdyZXMgPSBhd2FpdCBmZXRjaCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9ycmVnZXhAMS4xMC4xMC9saWIvcnJlZ2V4Lndhc20nKVxuY29uc3QgdyA9IGF3YWl0IHdyZXMuYXJyYXlCdWZmZXIoKVxucnJlZ2V4LmluaXRTeW5jKHcpXG5cbnJldHVybiBkYXRhLnNsaWNlKDAsIE1hdGguZmxvb3IoZGF0YS5sZW5ndGgvNSkpIn19)
66
+
67
+ [![email](./img/rregex-vs-native_-email.png)](https://jsbenchmark.com/#eyJjYXNlcyI6W3siaWQiOiJlZl9VbGJvYThpRGNYeGM3VUl4YnMiLCJjb2RlIjoiREFUQS5tYXRjaCgnW1xcXFx3ListXStAW1xcXFx3Li1dK1xcXFwuW1xcXFx3Li1dKycpIiwiZGVwZW5kZW5jaWVzIjpbXSwibmFtZSI6IlJlZ0V4cDogZW1haWwifSx7ImlkIjoiNEJMbmZrT3dKeGU2YUNDUlZqSDlVIiwiY29kZSI6Im5ldyBycmVnZXguUlJlZ2V4KFwiW1xcXFx3XFxcXC4rLV0rQFtcXFxcd1xcXFwuLV0rXFxcXC5bXFxcXHdcXFxcLi1dK1wiKS5maW5kKERBVEEpIiwiZGVwZW5kZW5jaWVzIjpbXSwibmFtZSI6IlJSZWdleDogZW1haWwifV0sImNvbmZpZyI6eyJuYW1lIjoiUlJlZ2V4IHZzIE5hdGl2ZTogZW1haWwiLCJwYXJhbGxlbCI6dHJ1ZSwiZ2xvYmFsVGVzdENvbmZpZyI6eyJkZXBlbmRlbmNpZXMiOlt7InVybCI6Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcnJlZ2V4QDEuMTAuMTAvbGliL3dlYi5taW4uanMiLCJuYW1lIjoicnJlZ2V4IiwiZXNtIjp0cnVlfV19LCJkYXRhQ29kZSI6ImNvbnN0IGRyZXMgPSBhd2FpdCBmZXRjaCgnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21hcmlvbWthL3JlZ2V4LWJlbmNobWFyay9tYXN0ZXIvaW5wdXQtdGV4dC50eHQnKVxuY29uc3QgZGF0YSA9IGF3YWl0IGRyZXMudGV4dCgpXG5cbmNvbnN0IHdyZXMgPSBhd2FpdCBmZXRjaCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9ycmVnZXhAMS4xMC4xMC9saWIvcnJlZ2V4Lndhc20nKVxuY29uc3QgdyA9IGF3YWl0IHdyZXMuYXJyYXlCdWZmZXIoKVxucnJlZ2V4LmluaXRTeW5jKHcpXG5cbnJldHVybiBkYXRhLnNsaWNlKDAsIE1hdGguZmxvb3IoZGF0YS5sZW5ndGgvNSkpIn19)
68
+
69
+ [![URI](./img/rregex-vs-native_-uri.png)](https://jsbenchmark.com/#eyJjYXNlcyI6W3siaWQiOiJlZl9VbGJvYThpRGNYeGM3VUl4YnMiLCJjb2RlIjoiREFUQS5tYXRjaCgnW1xcXFx3XSs6XFxcXC9cXFxcL1teXFxcXC9cXFxccz8jXStbXlxcXFxzPyNdKyg_OlxcXFw_W15cXFxccyNdKik_KD86I1teXFxcXHNdKik_JykiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiUmVnRXhwOiBVUkkifSx7ImlkIjoiNEJMbmZrT3dKeGU2YUNDUlZqSDlVIiwiY29kZSI6Im5ldyBycmVnZXguUlJlZ2V4KFwiW1xcXFx3XSs6Ly9bXi9cXFxccz8jXStbXlxcXFxzPyNdKyg_OlxcXFw_W15cXFxccyNdKik_KD86I1teXFxcXHNdKik_XCIpLmZpbmQoREFUQSkiLCJkZXBlbmRlbmNpZXMiOltdLCJuYW1lIjoiUlJlZ2V4OiBVUkkifV0sImNvbmZpZyI6eyJuYW1lIjoiUlJlZ2V4IHZzIE5hdGl2ZTogVVJJIiwicGFyYWxsZWwiOnRydWUsImdsb2JhbFRlc3RDb25maWciOnsiZGVwZW5kZW5jaWVzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3JyZWdleEAxLjEwLjEwL2xpYi93ZWIubWluLmpzIiwibmFtZSI6InJyZWdleCIsImVzbSI6dHJ1ZX1dfSwiZGF0YUNvZGUiOiJjb25zdCBkcmVzID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tYXJpb21rYS9yZWdleC1iZW5jaG1hcmsvbWFzdGVyL2lucHV0LXRleHQudHh0JylcbmNvbnN0IGRhdGEgPSBhd2FpdCBkcmVzLnRleHQoKVxuXG5jb25zdCB3cmVzID0gYXdhaXQgZmV0Y2goJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcnJlZ2V4QDEuMTAuMTAvbGliL3JyZWdleC53YXNtJylcbmNvbnN0IHcgPSBhd2FpdCB3cmVzLmFycmF5QnVmZmVyKClcbnJyZWdleC5pbml0U3luYyh3KVxuXG5yZXR1cm4gZGF0YS5zbGljZSgwLCBNYXRoLmZsb29yKGRhdGEubGVuZ3RoLzUpKSJ9fQ)
70
+
71
+ > **Note:** In order to compare with native regex these benchmarks follow the [`mariomka/regex-benchmark`](https://github.com/mariomka/regex-benchmark) structure
72
+
60
73
  ## Known Issues
61
74
 
62
75
  If you call `splitn(text, limit)` and the expected result length is equal to `limit - 1` the result will include an extra item `""`, this behavior does not happen if `limit` es greater. **`fixed at >=1.3`**
Binary file
Binary file
Binary file
package/lib/cf.mjs CHANGED
@@ -6,6 +6,7 @@ export * from "./web.js";
6
6
  initSync(wasm);
7
7
 
8
8
 
9
+ /** Build metadata */
9
10
  export const metadata = {
10
11
  "name": "rregex",
11
12
  "description": "Rust Regex binding for Javascript",
package/lib/commonjs.d.ts CHANGED
@@ -1250,7 +1250,8 @@ export class RRegexSet {
1250
1250
  matches(text: string): number[];
1251
1251
  }
1252
1252
 
1253
- /** Build metadata */export const metadata: {
1253
+ /** Build metadata */
1254
+ export const metadata: {
1254
1255
  "name": "rregex",
1255
1256
  "description": "Rust Regex binding for Javascript",
1256
1257
  "authors": [
package/lib/esm.mjs CHANGED
@@ -1197,6 +1197,7 @@ const wasmInstance = (await WebAssembly.instantiate(wasmCode, imports)).instance
1197
1197
  const wasm = wasmInstance.exports;
1198
1198
 
1199
1199
 
1200
+ /** Build metadata */
1200
1201
  export const metadata = {
1201
1202
  "name": "rregex",
1202
1203
  "description": "Rust Regex binding for Javascript",
@@ -1299,7 +1299,8 @@ declare interface InitOutput {
1299
1299
  */
1300
1300
  declare function wasm_bindgen (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>;
1301
1301
 
1302
- /** Build metadata */export const metadata: {
1302
+ /** Build metadata */
1303
+ export const metadata: {
1303
1304
  "name": "rregex",
1304
1305
  "description": "Rust Regex binding for Javascript",
1305
1306
  "authors": [
package/lib/web.js CHANGED
@@ -1272,6 +1272,7 @@ async function __wbg_init(input) {
1272
1272
  export { initSync }
1273
1273
  export default __wbg_init;
1274
1274
 
1275
+ /** Build metadata */
1275
1276
  export const metadata = {
1276
1277
  "name": "rregex",
1277
1278
  "description": "Rust Regex binding for Javascript",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rregex",
3
- "version": "1.10.9",
3
+ "version": "1.10.11",
4
4
  "description": "A dependency-free WebAssembly build of Rust Regex for Javascript",
5
5
  "private": false,
6
6
  "type": "module",