10.10.107 • Published 12 months ago

@devtea2026/cumque-sapiente-possimus-cum v10.10.107

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

@devtea2026/cumque-sapiente-possimus-cum Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

ES2020 spec-compliant shim for String.prototype.matchAll. Invoke its "shim" method to shim String.prototype.matchAll if it is unavailable or noncompliant.

This package implements the es-shim API interface. It works in an ES3-supported environment, and complies with the spec.

Most common usage:

const assert = require('assert');
const matchAll = require('@devtea2026/cumque-sapiente-possimus-cum');

const str = 'aabc';
const nonRegexStr = 'ab';
const globalRegex = /[ac]/g;
const nonGlobalRegex = /[bc]/i;

// non-regex arguments are coerced into a global regex
assert.deepEqual(
	[...matchAll(str, nonRegexStr)],
	[...matchAll(str, new RegExp(nonRegexStr, 'g'))]
);

assert.deepEqual([...matchAll(str, globalRegex)], [
	Object.assign(['a'], { index: 0, input: str, groups: undefined }),
	Object.assign(['a'], { index: 1, input: str, groups: undefined }),
	Object.assign(['c'], { index: 3, input: str, groups: undefined }),
]);

assert.throws(() => matchAll(str, nonGlobalRegex)); // non-global regexes throw

matchAll.shim(); // will be a no-op if not needed

// non-regex arguments are coerced into a global regex
assert.deepEqual(
	[...str.matchAll(nonRegexStr)],
	[...str.matchAll(new RegExp(nonRegexStr, 'g'))]
);

assert.deepEqual([...str.matchAll(globalRegex)], [
	Object.assign(['a'], { index: 0, input: str, groups: undefined }),
	Object.assign(['a'], { index: 1, input: str, groups: undefined }),
	Object.assign(['c'], { index: 3, input: str, groups: undefined }),
]);

assert.throws(() => matchAll(str, nonGlobalRegex)); // non-global regexes throw

Tests

Simply clone the repo, npm install, and run npm test

10.10.107

12 months ago

10.10.106

12 months ago

10.10.105

12 months ago

10.9.105

12 months ago

10.9.104

12 months ago

10.9.103

12 months ago

10.9.102

12 months ago

10.9.101

12 months ago

10.9.98

12 months ago

10.9.97

1 year ago

10.9.96

1 year ago

10.9.95

1 year ago

10.9.99

12 months ago

9.6.67

1 year ago

9.6.66

1 year ago

7.1.37

1 year ago

8.5.55

1 year ago

8.5.54

1 year ago

8.5.53

1 year ago

8.5.52

1 year ago

5.0.20

1 year ago

5.0.21

1 year ago

5.0.22

1 year ago

10.9.100

12 months ago

10.9.94

1 year ago

8.5.59

1 year ago

8.5.58

1 year ago

8.5.57

1 year ago

8.5.56

1 year ago

10.6.85

1 year ago

6.0.27

1 year ago

10.6.86

1 year ago

6.0.26

1 year ago

10.6.87

1 year ago

6.0.25

1 year ago

10.6.88

1 year ago

6.0.24

1 year ago

10.6.81

1 year ago

10.6.82

1 year ago

10.6.83

1 year ago

6.0.29

1 year ago

10.6.84

1 year ago

6.0.28

1 year ago

10.6.89

1 year ago

6.0.23

1 year ago

6.0.22

1 year ago

5.0.18

1 year ago

5.0.19

1 year ago

7.4.48

1 year ago

7.4.49

1 year ago

10.6.90

1 year ago

10.6.91

1 year ago

10.6.74

1 year ago

10.6.75

1 year ago

10.6.76

1 year ago

10.8.94

1 year ago

10.6.77

1 year ago

10.6.70

1 year ago

10.6.71

1 year ago

10.6.72

1 year ago

10.6.73

1 year ago

7.4.50

1 year ago

7.4.51

1 year ago

7.4.52

1 year ago

10.6.78

1 year ago

10.6.79

1 year ago

7.2.37

1 year ago

10.6.80

1 year ago

7.2.38

1 year ago

10.6.67

1 year ago

10.6.68

1 year ago

10.6.69

1 year ago

10.8.93

1 year ago

6.0.35

1 year ago

6.0.30

1 year ago

6.0.34

1 year ago

6.0.33

1 year ago

6.0.32

1 year ago

6.0.31

1 year ago

9.5.62

1 year ago

9.5.63

1 year ago

7.0.35

1 year ago

9.5.61

1 year ago

9.5.66

1 year ago

9.5.64

1 year ago

9.5.65

1 year ago

7.0.36

1 year ago

7.0.37

1 year ago

10.7.93

1 year ago

8.5.61

1 year ago

8.5.60

1 year ago

7.5.52

1 year ago

7.3.38

1 year ago

7.3.39

1 year ago

7.3.41

1 year ago

7.3.40

1 year ago

7.3.47

1 year ago

7.3.46

1 year ago

7.3.48

1 year ago

7.3.43

1 year ago

7.3.42

1 year ago

7.3.45

1 year ago

7.3.44

1 year ago

10.7.91

1 year ago

10.7.92

1 year ago

5.0.17

1 year ago

5.0.16

1 year ago

5.0.14

1 year ago

5.0.15

1 year ago

4.0.14

1 year ago

4.0.13

1 year ago

4.0.12

1 year ago

4.0.11

1 year ago

4.0.10

1 year ago

4.0.9

1 year ago

3.0.9

1 year ago

2.0.9

1 year ago

2.0.8

1 year ago

2.0.7

1 year ago

2.0.6

1 year ago

2.0.5

1 year ago