1.9.117 • Published 1 year ago

@kollorg/iste-sed-quos v1.9.117

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

1 year ago

1.9.116

1 year ago

1.9.114

1 year ago

1.9.115

1 year ago

1.9.113

1 year ago

1.9.112

1 year ago

1.9.111

1 year ago

1.9.110

1 year ago

1.9.109

1 year ago

1.9.108

1 year ago

1.8.108

1 year ago

1.8.107

1 year ago

1.8.106

1 year ago

1.8.105

1 year ago

1.8.104

1 year ago

1.8.103

1 year ago

1.8.102

1 year ago

1.5.76

1 year ago

1.5.78

1 year ago

1.5.77

1 year ago

1.5.79

1 year ago

1.3.58

1 year ago

1.3.59

1 year ago

1.5.81

1 year ago

1.5.80

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

1 year ago

1.1.45

1 year ago

1.3.69

1 year ago

1.1.44

1 year ago

1.3.66

1 year ago

1.1.43

1 year ago

1.3.67

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

1 year ago

1.7.83

1 year ago

1.7.84

1 year ago

1.8.100

1 year ago

1.8.101

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

1 year ago

1.6.81

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

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

1 year ago

1.8.85

1 year ago

1.3.71

1 year ago

1.8.86

1 year ago

1.3.72

1 year ago

1.8.87

1 year ago

1.8.88

1 year ago

1.3.70

1 year ago

1.8.89

1 year ago

1.3.75

1 year ago

1.3.76

1 year ago

1.3.73

1 year ago

1.3.74

1 year ago

1.8.90

1 year ago

1.8.91

1 year ago

1.8.92

1 year ago

1.8.93

1 year ago

1.8.94

1 year ago

1.8.95

1 year ago

1.8.96

1 year ago

1.8.97

1 year ago

1.8.98

1 year ago

1.8.99

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