10.10.107 • Published 1 year ago

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

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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

1 year ago

10.10.106

1 year ago

10.10.105

1 year ago

10.9.105

1 year ago

10.9.104

1 year ago

10.9.103

1 year ago

10.9.102

1 year ago

10.9.101

1 year ago

10.9.98

1 year ago

10.9.97

1 year ago

10.9.96

1 year ago

10.9.95

1 year ago

10.9.99

1 year 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

1 year 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