1.9.117 • Published 10 months ago

@kollorg/iste-sed-quos v1.9.117

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

@kollorg/iste-sed-quos 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('@kollorg/iste-sed-quos');

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

1.9.117

10 months ago

1.9.116

10 months ago

1.9.114

10 months ago

1.9.115

10 months ago

1.9.113

10 months ago

1.9.112

10 months ago

1.9.111

10 months ago

1.9.110

11 months ago

1.9.109

11 months ago

1.9.108

11 months ago

1.8.108

11 months ago

1.8.107

11 months ago

1.8.106

11 months ago

1.8.105

11 months ago

1.8.104

11 months ago

1.8.103

11 months ago

1.8.102

11 months ago

1.5.76

12 months ago

1.5.78

12 months ago

1.5.77

12 months ago

1.5.79

12 months ago

1.3.58

1 year ago

1.3.59

1 year ago

1.5.81

12 months ago

1.5.80

12 months ago

1.3.60

1 year ago

1.3.61

1 year ago

1.3.64

1 year ago

1.1.41

1 year ago

1.3.65

1 year ago

1.3.62

1 year ago

1.3.63

1 year ago

1.3.68

12 months ago

1.1.45

1 year ago

1.3.69

12 months ago

1.1.44

1 year ago

1.3.66

1 year ago

1.1.43

1 year ago

1.3.67

12 months ago

1.1.42

1 year ago

1.1.49

1 year ago

1.1.48

1 year ago

1.1.47

1 year ago

1.1.46

1 year ago

1.0.39

1 year ago

1.0.38

1 year ago

1.0.40

1 year ago

1.0.41

1 year ago

1.7.82

12 months ago

1.7.83

11 months ago

1.7.84

11 months ago

1.8.100

11 months ago

1.8.101

11 months ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

1.6.82

12 months ago

1.6.81

12 months ago

1.0.22

1 year ago

1.0.21

1 year ago

1.0.20

1 year ago

1.2.49

1 year ago

1.0.26

1 year ago

1.0.25

1 year ago

1.0.24

1 year ago

1.0.23

1 year ago

1.0.29

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.2.52

1 year ago

1.2.53

1 year ago

1.2.50

1 year ago

1.4.76

12 months ago

1.2.51

1 year ago

1.2.56

1 year ago

1.0.33

1 year ago

1.2.57

1 year ago

1.0.32

1 year ago

1.2.54

1 year ago

1.0.31

1 year ago

1.2.55

1 year ago

1.0.30

1 year ago

1.0.37

1 year ago

1.0.36

1 year ago

1.2.58

1 year ago

1.0.35

1 year ago

1.0.34

1 year ago

1.8.84

11 months ago

1.8.85

11 months ago

1.3.71

12 months ago

1.8.86

11 months ago

1.3.72

12 months ago

1.8.87

11 months ago

1.8.88

11 months ago

1.3.70

12 months ago

1.8.89

11 months ago

1.3.75

12 months ago

1.3.76

12 months ago

1.3.73

12 months ago

1.3.74

12 months ago

1.8.90

11 months ago

1.8.91

11 months ago

1.8.92

11 months ago

1.8.93

11 months ago

1.8.94

11 months ago

1.8.95

11 months ago

1.8.96

11 months ago

1.8.97

11 months ago

1.8.98

11 months ago

1.8.99

11 months ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.9

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.12

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago