4.3.105 • Published 2 years ago

@diotoborg/officiis-optio v4.3.105

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@diotoborg/officiis-optio Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES5 spec-compliant Array.prototype.reduce shim/polyfill/replacement that works as far down as ES3.

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

Because Array.prototype.reduce depends on a receiver (the “this” value), the main export takes the array to operate on as the first argument.

Example

var reduce = require('@diotoborg/officiis-optio');
var assert = require('assert');

assert.equal(reduce([1, 2, 3], function (prev, x) { return prev + x; }), 6);
assert.equal(reduce([1, 2, 3], function (prev, x) { return prev + x; }, 1), 7);
var reduce = require('@diotoborg/officiis-optio');
var assert = require('assert');
/* when Array#reduce is not present */
delete Array.prototype.reduce;
var shimmed = reduce.shim();
assert.equal(shimmed, reduce.getPolyfill());
var arr = [1, 2, 3];
var sum = function (a, b) { return a + b; };
assert.equal(arr.reduce(sum), reduce(arr, sum));
assert.equal(arr.reduce(sum), 6);
assert.equal(arr.reduce(sum, 1), 7);
var reduce = require('@diotoborg/officiis-optio');
var assert = require('assert');
/* when Array#reduce is present */
var shimmed = reduce.shim();
assert.equal(shimmed, Array.prototype.reduce);
assert.equal(arr.reduce(sum), reduce(arr, sum));

Tests

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

4.3.104

2 years ago

4.3.105

2 years ago

4.3.103

2 years ago

4.3.102

2 years ago

4.3.101

2 years ago

4.3.100

2 years ago

4.2.100

2 years ago

4.2.99

2 years ago

4.2.98

2 years ago

4.2.97

2 years ago

4.2.96

2 years ago

4.2.95

2 years ago

4.2.94

2 years ago

4.2.93

2 years ago

4.2.92

2 years ago

4.2.91

2 years ago

4.2.90

2 years ago

4.2.89

2 years ago

4.2.88

2 years ago

4.2.87

2 years ago

4.2.86

2 years ago

4.2.85

2 years ago

4.2.84

2 years ago

4.2.83

2 years ago

4.2.82

2 years ago

4.2.81

2 years ago

4.2.80

2 years ago

4.2.79

2 years ago

4.2.78

2 years ago

4.2.77

2 years ago

4.2.76

2 years ago

4.2.75

2 years ago

4.2.74

2 years ago

4.2.73

2 years ago

4.2.72

2 years ago

4.2.71

2 years ago

4.2.70

2 years ago

4.2.69

2 years ago

4.2.68

2 years ago

4.2.67

2 years ago

4.2.66

2 years ago

4.2.65

2 years ago

4.2.64

2 years ago

4.2.63

2 years ago

4.2.62

2 years ago

4.2.61

2 years ago

4.2.60

2 years ago

4.2.59

2 years ago

4.2.58

2 years ago

4.2.57

2 years ago

4.2.56

2 years ago

4.2.55

2 years ago

4.2.54

2 years ago

4.2.53

2 years ago

4.2.52

2 years ago

4.2.51

2 years ago

4.2.50

2 years ago

4.2.49

2 years ago

4.2.48

2 years ago

4.2.47

2 years ago

4.2.46

2 years ago

4.2.45

2 years ago

3.2.45

2 years ago

3.2.44

2 years ago

3.2.43

2 years ago

3.2.42

2 years ago

3.2.41

2 years ago

3.2.40

2 years ago

3.2.39

2 years ago

3.2.38

2 years ago

3.2.37

2 years ago

3.2.36

2 years ago

3.2.35

2 years ago

3.1.35

2 years ago

3.1.34

2 years ago

3.1.33

2 years ago

3.1.32

2 years ago

3.1.31

2 years ago

3.1.30

2 years ago

3.1.29

2 years ago

3.1.28

2 years ago

2.1.28

2 years ago

2.1.27

2 years ago

2.1.26

2 years ago

2.1.25

2 years ago

2.1.24

2 years ago

1.1.24

2 years ago

1.1.23

2 years ago

1.1.22

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.19

2 years ago

1.1.18

2 years ago

1.1.17

2 years ago

1.1.16

2 years ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.12

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago