JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 324875
  • Score
    100M100P100Q166155F
  • License MIT

Zero dependency RegExp cloning with flag and lastIndex preservation.

Package Exports

  • regexp-clone
  • regexp-clone/package.json

Readme

regexp-clone Version Badge

License Downloads

npm badge

Zero dependency JavaScript/TypeScript RegExp cloner with flag and lastIndex preservation.

Usage

const clone = require('regexp-clone');

const a = /somethin/dgimsuy;
console.log(a.global); // true
console.log(a.ignoreCase); // true
console.log(a.multiline); // true
console.log(a.dotAll); // true
console.log(a.unicode); // true
console.log(a.sticky); // true
console.log(a.hasIndices); // true

const b = clone(a);
console.log(b.global); // true
console.log(b.ignoreCase); // true
console.log(b.multiline); // true
console.log(b.dotAll); // true
console.log(b.unicode); // true
console.log(b.sticky); // true
console.log(b.hasIndices); // true

const c = /hi/g;
c.test('this string hi there');
assert.strictEqual(c.lastIndex, 3);

const d = clone(c);
assert.strictEqual(d.lastIndex, 3);
d.test('this string hi there');
assert.strictEqual(d.lastIndex, 14);
assert.strictEqual(c.lastIndex, 3);

Installation

pnpm add regexp-clone

Testing

pnpm test

License

MIT