pnpm 10.3.0 → 10.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/node_modules/.modules.yaml +12 -10
  2. package/dist/node_modules/.pnpm-workspace-state.json +1 -1
  3. package/dist/node_modules/isexe/LICENSE +1 -1
  4. package/dist/node_modules/isexe/package.json +14 -79
  5. package/dist/node_modules/minipass-flush/node_modules/yallist/package.json +29 -0
  6. package/dist/node_modules/minipass-pipeline/node_modules/yallist/iterator.js +8 -0
  7. package/dist/node_modules/minipass-pipeline/node_modules/yallist/package.json +29 -0
  8. package/dist/node_modules/minipass-pipeline/node_modules/yallist/yallist.js +426 -0
  9. package/dist/node_modules/minipass-sized/node_modules/yallist/iterator.js +8 -0
  10. package/dist/node_modules/minipass-sized/node_modules/yallist/package.json +29 -0
  11. package/dist/node_modules/minipass-sized/node_modules/yallist/yallist.js +426 -0
  12. package/dist/node_modules/node-gyp/node_modules/isexe/LICENSE +15 -0
  13. package/dist/node_modules/node-gyp/node_modules/isexe/package.json +96 -0
  14. package/dist/node_modules/node-gyp/node_modules/which/LICENSE +15 -0
  15. package/dist/node_modules/node-gyp/node_modules/which/package.json +52 -0
  16. package/dist/node_modules/which/package.json +20 -29
  17. package/dist/node_modules/yallist/package.json +51 -12
  18. package/dist/pnpm.cjs +493 -400
  19. package/package.json +1 -1
  20. package/dist/node_modules/cross-spawn/node_modules/isexe/package.json +0 -31
  21. package/dist/node_modules/cross-spawn/node_modules/which/package.json +0 -43
  22. package/dist/node_modules/tar/node_modules/yallist/package.json +0 -68
  23. /package/dist/node_modules/{cross-spawn/node_modules/isexe → isexe}/index.js +0 -0
  24. /package/dist/node_modules/{cross-spawn/node_modules/isexe → isexe}/mode.js +0 -0
  25. /package/dist/node_modules/{cross-spawn/node_modules/isexe → isexe}/windows.js +0 -0
  26. /package/dist/node_modules/{cross-spawn/node_modules/isexe → minipass-flush/node_modules/yallist}/LICENSE +0 -0
  27. /package/dist/node_modules/{yallist → minipass-flush/node_modules/yallist}/iterator.js +0 -0
  28. /package/dist/node_modules/{yallist → minipass-flush/node_modules/yallist}/yallist.js +0 -0
  29. /package/dist/node_modules/{cross-spawn/node_modules/which → minipass-pipeline/node_modules/yallist}/LICENSE +0 -0
  30. /package/dist/node_modules/{yallist → minipass-sized/node_modules/yallist}/LICENSE +0 -0
  31. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/index.d.ts.map +0 -0
  32. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/index.js +0 -0
  33. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/index.js.map +0 -0
  34. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/options.d.ts.map +0 -0
  35. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/options.js +0 -0
  36. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/options.js.map +0 -0
  37. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/package.json +0 -0
  38. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/posix.d.ts.map +0 -0
  39. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/posix.js +0 -0
  40. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/posix.js.map +0 -0
  41. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/win32.d.ts.map +0 -0
  42. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/win32.js +0 -0
  43. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/win32.js.map +0 -0
  44. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/index.d.ts.map +0 -0
  45. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/index.js +0 -0
  46. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/index.js.map +0 -0
  47. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/options.d.ts.map +0 -0
  48. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/options.js +0 -0
  49. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/options.js.map +0 -0
  50. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/package.json +0 -0
  51. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/posix.d.ts.map +0 -0
  52. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/posix.js +0 -0
  53. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/posix.js.map +0 -0
  54. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/win32.d.ts.map +0 -0
  55. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/win32.js +0 -0
  56. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/win32.js.map +0 -0
  57. /package/dist/node_modules/{which → node-gyp/node_modules/which}/bin/which.js +0 -0
  58. /package/dist/node_modules/{which → node-gyp/node_modules/which}/lib/index.js +0 -0
  59. /package/dist/node_modules/{cross-spawn/node_modules/which → which}/bin/node-which +0 -0
  60. /package/dist/node_modules/{cross-spawn/node_modules/which → which}/which.js +0 -0
  61. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.d.ts.map +0 -0
  62. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.js +0 -0
  63. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.js.map +0 -0
  64. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/package.json +0 -0
  65. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.d.ts.map +0 -0
  66. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.js +0 -0
  67. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.js.map +0 -0
  68. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/package.json +0 -0
@@ -16,9 +16,9 @@ hoistedLocations:
16
16
  agent-base@7.1.3:
17
17
  - node_modules/agent-base
18
18
  ansi-regex@5.0.1:
19
- - node_modules/wrap-ansi-cjs/node_modules/ansi-regex
20
19
  - node_modules/strip-ansi-cjs/node_modules/ansi-regex
21
20
  - node_modules/string-width-cjs/node_modules/ansi-regex
21
+ - node_modules/wrap-ansi-cjs/node_modules/ansi-regex
22
22
  ansi-regex@6.1.0:
23
23
  - node_modules/ansi-regex
24
24
  ansi-styles@4.3.0:
@@ -44,8 +44,8 @@ hoistedLocations:
44
44
  eastasianwidth@0.2.0:
45
45
  - node_modules/eastasianwidth
46
46
  emoji-regex@8.0.0:
47
- - node_modules/wrap-ansi-cjs/node_modules/emoji-regex
48
47
  - node_modules/string-width-cjs/node_modules/emoji-regex
48
+ - node_modules/wrap-ansi-cjs/node_modules/emoji-regex
49
49
  emoji-regex@9.2.2:
50
50
  - node_modules/emoji-regex
51
51
  encoding@0.1.13:
@@ -79,9 +79,9 @@ hoistedLocations:
79
79
  is-fullwidth-code-point@3.0.0:
80
80
  - node_modules/is-fullwidth-code-point
81
81
  isexe@2.0.0:
82
- - node_modules/cross-spawn/node_modules/isexe
83
- isexe@3.1.1:
84
82
  - node_modules/isexe
83
+ isexe@3.1.1:
84
+ - node_modules/node-gyp/node_modules/isexe
85
85
  jackspeak@3.4.3:
86
86
  - node_modules/jackspeak
87
87
  jsbn@1.1.0:
@@ -162,8 +162,8 @@ hoistedLocations:
162
162
  string-width@5.1.2:
163
163
  - node_modules/string-width
164
164
  strip-ansi@6.0.1:
165
- - node_modules/wrap-ansi-cjs/node_modules/strip-ansi
166
165
  - node_modules/string-width-cjs/node_modules/strip-ansi
166
+ - node_modules/wrap-ansi-cjs/node_modules/strip-ansi
167
167
  - node_modules/strip-ansi-cjs
168
168
  strip-ansi@7.1.0:
169
169
  - node_modules/strip-ansi
@@ -176,17 +176,19 @@ hoistedLocations:
176
176
  v8-compile-cache@2.4.0:
177
177
  - node_modules/v8-compile-cache
178
178
  which@2.0.2:
179
- - node_modules/cross-spawn/node_modules/which
180
- which@5.0.0:
181
179
  - node_modules/which
180
+ which@5.0.0:
181
+ - node_modules/node-gyp/node_modules/which
182
182
  wrap-ansi@7.0.0:
183
183
  - node_modules/wrap-ansi-cjs
184
184
  wrap-ansi@8.1.0:
185
185
  - node_modules/wrap-ansi
186
186
  yallist@4.0.0:
187
- - node_modules/yallist
187
+ - node_modules/minipass-flush/node_modules/yallist
188
+ - node_modules/minipass-pipeline/node_modules/yallist
189
+ - node_modules/minipass-sized/node_modules/yallist
188
190
  yallist@5.0.0:
189
- - node_modules/tar/node_modules/yallist
191
+ - node_modules/yallist
190
192
  included:
191
193
  dependencies: true
192
194
  devDependencies: true
@@ -196,7 +198,7 @@ layoutVersion: 5
196
198
  nodeLinker: hoisted
197
199
  packageManager: pnpm@10.2.0
198
200
  pendingBuilds: []
199
- prunedAt: Mon, 10 Feb 2025 23:51:33 GMT
201
+ prunedAt: Sun, 16 Feb 2025 21:54:46 GMT
200
202
  publicHoistPattern: []
201
203
  registries:
202
204
  default: https://registry.npmjs.org/
@@ -1,5 +1,5 @@
1
1
  {
2
- "lastValidatedTimestamp": 1739231494019,
2
+ "lastValidatedTimestamp": 1739742886344,
3
3
  "projects": {},
4
4
  "pnpmfileExists": false,
5
5
  "settings": {
@@ -1,6 +1,6 @@
1
1
  The ISC License
2
2
 
3
- Copyright (c) 2016-2022 Isaac Z. Schlueter and Contributors
3
+ Copyright (c) Isaac Z. Schlueter and Contributors
4
4
 
5
5
  Permission to use, copy, modify, and/or distribute this software for any
6
6
  purpose with or without fee is hereby granted, provided that the above
@@ -1,96 +1,31 @@
1
1
  {
2
2
  "name": "isexe",
3
- "version": "3.1.1",
3
+ "version": "2.0.0",
4
4
  "description": "Minimal module to check if a file is executable.",
5
- "main": "./dist/cjs/index.js",
6
- "module": "./dist/mjs/index.js",
7
- "types": "./dist/cjs/index.js",
8
- "files": [
9
- "dist"
10
- ],
11
- "exports": {
12
- ".": {
13
- "import": {
14
- "types": "./dist/mjs/index.d.ts",
15
- "default": "./dist/mjs/index.js"
16
- },
17
- "require": {
18
- "types": "./dist/cjs/index.d.ts",
19
- "default": "./dist/cjs/index.js"
20
- }
21
- },
22
- "./posix": {
23
- "import": {
24
- "types": "./dist/mjs/posix.d.ts",
25
- "default": "./dist/mjs/posix.js"
26
- },
27
- "require": {
28
- "types": "./dist/cjs/posix.d.ts",
29
- "default": "./dist/cjs/posix.js"
30
- }
31
- },
32
- "./win32": {
33
- "import": {
34
- "types": "./dist/mjs/win32.d.ts",
35
- "default": "./dist/mjs/win32.js"
36
- },
37
- "require": {
38
- "types": "./dist/cjs/win32.d.ts",
39
- "default": "./dist/cjs/win32.js"
40
- }
41
- },
42
- "./package.json": "./package.json"
5
+ "main": "index.js",
6
+ "directories": {
7
+ "test": "test"
43
8
  },
44
9
  "devDependencies": {
45
- "@types/node": "^20.4.5",
46
- "@types/tap": "^15.0.8",
47
- "c8": "^8.0.1",
48
10
  "mkdirp": "^0.5.1",
49
- "prettier": "^2.8.8",
50
11
  "rimraf": "^2.5.0",
51
- "sync-content": "^1.0.2",
52
- "tap": "^16.3.8",
53
- "ts-node": "^10.9.1",
54
- "typedoc": "^0.24.8",
55
- "typescript": "^5.1.6"
12
+ "tap": "^10.3.0"
56
13
  },
57
14
  "scripts": {
15
+ "test": "tap test/*.js --100",
58
16
  "preversion": "npm test",
59
17
  "postversion": "npm publish",
60
- "prepublishOnly": "git push origin --follow-tags",
61
- "prepare": "tsc -p tsconfig/cjs.json && tsc -p tsconfig/esm.json && bash ./scripts/fixup.sh",
62
- "pretest": "npm run prepare",
63
- "presnap": "npm run prepare",
64
- "test": "c8 tap",
65
- "snap": "c8 tap",
66
- "format": "prettier --write . --loglevel warn --ignore-path ../../.prettierignore --cache",
67
- "typedoc": "typedoc --tsconfig tsconfig/esm.json ./src/*.ts"
18
+ "postpublish": "git push origin --all; git push origin --tags"
68
19
  },
69
20
  "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
70
21
  "license": "ISC",
71
- "tap": {
72
- "coverage": false,
73
- "node-arg": [
74
- "--enable-source-maps",
75
- "--no-warnings",
76
- "--loader",
77
- "ts-node/esm"
78
- ],
79
- "ts": false
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/isaacs/isexe.git"
80
25
  },
81
- "prettier": {
82
- "semi": false,
83
- "printWidth": 75,
84
- "tabWidth": 2,
85
- "useTabs": false,
86
- "singleQuote": true,
87
- "jsxSingleQuote": false,
88
- "bracketSameLine": true,
89
- "arrowParens": "avoid",
90
- "endOfLine": "lf"
26
+ "keywords": [],
27
+ "bugs": {
28
+ "url": "https://github.com/isaacs/isexe/issues"
91
29
  },
92
- "repository": "https://github.com/isaacs/isexe",
93
- "engines": {
94
- "node": ">=16"
95
- }
30
+ "homepage": "https://github.com/isaacs/isexe#readme"
96
31
  }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "yallist",
3
+ "version": "4.0.0",
4
+ "description": "Yet Another Linked List",
5
+ "main": "yallist.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "files": [
10
+ "yallist.js",
11
+ "iterator.js"
12
+ ],
13
+ "dependencies": {},
14
+ "devDependencies": {
15
+ "tap": "^12.1.0"
16
+ },
17
+ "scripts": {
18
+ "test": "tap test/*.js --100",
19
+ "preversion": "npm test",
20
+ "postversion": "npm publish",
21
+ "postpublish": "git push origin --all; git push origin --tags"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/isaacs/yallist.git"
26
+ },
27
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
28
+ "license": "ISC"
29
+ }
@@ -0,0 +1,8 @@
1
+ 'use strict'
2
+ module.exports = function (Yallist) {
3
+ Yallist.prototype[Symbol.iterator] = function* () {
4
+ for (let walker = this.head; walker; walker = walker.next) {
5
+ yield walker.value
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "yallist",
3
+ "version": "4.0.0",
4
+ "description": "Yet Another Linked List",
5
+ "main": "yallist.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "files": [
10
+ "yallist.js",
11
+ "iterator.js"
12
+ ],
13
+ "dependencies": {},
14
+ "devDependencies": {
15
+ "tap": "^12.1.0"
16
+ },
17
+ "scripts": {
18
+ "test": "tap test/*.js --100",
19
+ "preversion": "npm test",
20
+ "postversion": "npm publish",
21
+ "postpublish": "git push origin --all; git push origin --tags"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/isaacs/yallist.git"
26
+ },
27
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
28
+ "license": "ISC"
29
+ }
@@ -0,0 +1,426 @@
1
+ 'use strict'
2
+ module.exports = Yallist
3
+
4
+ Yallist.Node = Node
5
+ Yallist.create = Yallist
6
+
7
+ function Yallist (list) {
8
+ var self = this
9
+ if (!(self instanceof Yallist)) {
10
+ self = new Yallist()
11
+ }
12
+
13
+ self.tail = null
14
+ self.head = null
15
+ self.length = 0
16
+
17
+ if (list && typeof list.forEach === 'function') {
18
+ list.forEach(function (item) {
19
+ self.push(item)
20
+ })
21
+ } else if (arguments.length > 0) {
22
+ for (var i = 0, l = arguments.length; i < l; i++) {
23
+ self.push(arguments[i])
24
+ }
25
+ }
26
+
27
+ return self
28
+ }
29
+
30
+ Yallist.prototype.removeNode = function (node) {
31
+ if (node.list !== this) {
32
+ throw new Error('removing node which does not belong to this list')
33
+ }
34
+
35
+ var next = node.next
36
+ var prev = node.prev
37
+
38
+ if (next) {
39
+ next.prev = prev
40
+ }
41
+
42
+ if (prev) {
43
+ prev.next = next
44
+ }
45
+
46
+ if (node === this.head) {
47
+ this.head = next
48
+ }
49
+ if (node === this.tail) {
50
+ this.tail = prev
51
+ }
52
+
53
+ node.list.length--
54
+ node.next = null
55
+ node.prev = null
56
+ node.list = null
57
+
58
+ return next
59
+ }
60
+
61
+ Yallist.prototype.unshiftNode = function (node) {
62
+ if (node === this.head) {
63
+ return
64
+ }
65
+
66
+ if (node.list) {
67
+ node.list.removeNode(node)
68
+ }
69
+
70
+ var head = this.head
71
+ node.list = this
72
+ node.next = head
73
+ if (head) {
74
+ head.prev = node
75
+ }
76
+
77
+ this.head = node
78
+ if (!this.tail) {
79
+ this.tail = node
80
+ }
81
+ this.length++
82
+ }
83
+
84
+ Yallist.prototype.pushNode = function (node) {
85
+ if (node === this.tail) {
86
+ return
87
+ }
88
+
89
+ if (node.list) {
90
+ node.list.removeNode(node)
91
+ }
92
+
93
+ var tail = this.tail
94
+ node.list = this
95
+ node.prev = tail
96
+ if (tail) {
97
+ tail.next = node
98
+ }
99
+
100
+ this.tail = node
101
+ if (!this.head) {
102
+ this.head = node
103
+ }
104
+ this.length++
105
+ }
106
+
107
+ Yallist.prototype.push = function () {
108
+ for (var i = 0, l = arguments.length; i < l; i++) {
109
+ push(this, arguments[i])
110
+ }
111
+ return this.length
112
+ }
113
+
114
+ Yallist.prototype.unshift = function () {
115
+ for (var i = 0, l = arguments.length; i < l; i++) {
116
+ unshift(this, arguments[i])
117
+ }
118
+ return this.length
119
+ }
120
+
121
+ Yallist.prototype.pop = function () {
122
+ if (!this.tail) {
123
+ return undefined
124
+ }
125
+
126
+ var res = this.tail.value
127
+ this.tail = this.tail.prev
128
+ if (this.tail) {
129
+ this.tail.next = null
130
+ } else {
131
+ this.head = null
132
+ }
133
+ this.length--
134
+ return res
135
+ }
136
+
137
+ Yallist.prototype.shift = function () {
138
+ if (!this.head) {
139
+ return undefined
140
+ }
141
+
142
+ var res = this.head.value
143
+ this.head = this.head.next
144
+ if (this.head) {
145
+ this.head.prev = null
146
+ } else {
147
+ this.tail = null
148
+ }
149
+ this.length--
150
+ return res
151
+ }
152
+
153
+ Yallist.prototype.forEach = function (fn, thisp) {
154
+ thisp = thisp || this
155
+ for (var walker = this.head, i = 0; walker !== null; i++) {
156
+ fn.call(thisp, walker.value, i, this)
157
+ walker = walker.next
158
+ }
159
+ }
160
+
161
+ Yallist.prototype.forEachReverse = function (fn, thisp) {
162
+ thisp = thisp || this
163
+ for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
164
+ fn.call(thisp, walker.value, i, this)
165
+ walker = walker.prev
166
+ }
167
+ }
168
+
169
+ Yallist.prototype.get = function (n) {
170
+ for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
171
+ // abort out of the list early if we hit a cycle
172
+ walker = walker.next
173
+ }
174
+ if (i === n && walker !== null) {
175
+ return walker.value
176
+ }
177
+ }
178
+
179
+ Yallist.prototype.getReverse = function (n) {
180
+ for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
181
+ // abort out of the list early if we hit a cycle
182
+ walker = walker.prev
183
+ }
184
+ if (i === n && walker !== null) {
185
+ return walker.value
186
+ }
187
+ }
188
+
189
+ Yallist.prototype.map = function (fn, thisp) {
190
+ thisp = thisp || this
191
+ var res = new Yallist()
192
+ for (var walker = this.head; walker !== null;) {
193
+ res.push(fn.call(thisp, walker.value, this))
194
+ walker = walker.next
195
+ }
196
+ return res
197
+ }
198
+
199
+ Yallist.prototype.mapReverse = function (fn, thisp) {
200
+ thisp = thisp || this
201
+ var res = new Yallist()
202
+ for (var walker = this.tail; walker !== null;) {
203
+ res.push(fn.call(thisp, walker.value, this))
204
+ walker = walker.prev
205
+ }
206
+ return res
207
+ }
208
+
209
+ Yallist.prototype.reduce = function (fn, initial) {
210
+ var acc
211
+ var walker = this.head
212
+ if (arguments.length > 1) {
213
+ acc = initial
214
+ } else if (this.head) {
215
+ walker = this.head.next
216
+ acc = this.head.value
217
+ } else {
218
+ throw new TypeError('Reduce of empty list with no initial value')
219
+ }
220
+
221
+ for (var i = 0; walker !== null; i++) {
222
+ acc = fn(acc, walker.value, i)
223
+ walker = walker.next
224
+ }
225
+
226
+ return acc
227
+ }
228
+
229
+ Yallist.prototype.reduceReverse = function (fn, initial) {
230
+ var acc
231
+ var walker = this.tail
232
+ if (arguments.length > 1) {
233
+ acc = initial
234
+ } else if (this.tail) {
235
+ walker = this.tail.prev
236
+ acc = this.tail.value
237
+ } else {
238
+ throw new TypeError('Reduce of empty list with no initial value')
239
+ }
240
+
241
+ for (var i = this.length - 1; walker !== null; i--) {
242
+ acc = fn(acc, walker.value, i)
243
+ walker = walker.prev
244
+ }
245
+
246
+ return acc
247
+ }
248
+
249
+ Yallist.prototype.toArray = function () {
250
+ var arr = new Array(this.length)
251
+ for (var i = 0, walker = this.head; walker !== null; i++) {
252
+ arr[i] = walker.value
253
+ walker = walker.next
254
+ }
255
+ return arr
256
+ }
257
+
258
+ Yallist.prototype.toArrayReverse = function () {
259
+ var arr = new Array(this.length)
260
+ for (var i = 0, walker = this.tail; walker !== null; i++) {
261
+ arr[i] = walker.value
262
+ walker = walker.prev
263
+ }
264
+ return arr
265
+ }
266
+
267
+ Yallist.prototype.slice = function (from, to) {
268
+ to = to || this.length
269
+ if (to < 0) {
270
+ to += this.length
271
+ }
272
+ from = from || 0
273
+ if (from < 0) {
274
+ from += this.length
275
+ }
276
+ var ret = new Yallist()
277
+ if (to < from || to < 0) {
278
+ return ret
279
+ }
280
+ if (from < 0) {
281
+ from = 0
282
+ }
283
+ if (to > this.length) {
284
+ to = this.length
285
+ }
286
+ for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
287
+ walker = walker.next
288
+ }
289
+ for (; walker !== null && i < to; i++, walker = walker.next) {
290
+ ret.push(walker.value)
291
+ }
292
+ return ret
293
+ }
294
+
295
+ Yallist.prototype.sliceReverse = function (from, to) {
296
+ to = to || this.length
297
+ if (to < 0) {
298
+ to += this.length
299
+ }
300
+ from = from || 0
301
+ if (from < 0) {
302
+ from += this.length
303
+ }
304
+ var ret = new Yallist()
305
+ if (to < from || to < 0) {
306
+ return ret
307
+ }
308
+ if (from < 0) {
309
+ from = 0
310
+ }
311
+ if (to > this.length) {
312
+ to = this.length
313
+ }
314
+ for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
315
+ walker = walker.prev
316
+ }
317
+ for (; walker !== null && i > from; i--, walker = walker.prev) {
318
+ ret.push(walker.value)
319
+ }
320
+ return ret
321
+ }
322
+
323
+ Yallist.prototype.splice = function (start, deleteCount, ...nodes) {
324
+ if (start > this.length) {
325
+ start = this.length - 1
326
+ }
327
+ if (start < 0) {
328
+ start = this.length + start;
329
+ }
330
+
331
+ for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
332
+ walker = walker.next
333
+ }
334
+
335
+ var ret = []
336
+ for (var i = 0; walker && i < deleteCount; i++) {
337
+ ret.push(walker.value)
338
+ walker = this.removeNode(walker)
339
+ }
340
+ if (walker === null) {
341
+ walker = this.tail
342
+ }
343
+
344
+ if (walker !== this.head && walker !== this.tail) {
345
+ walker = walker.prev
346
+ }
347
+
348
+ for (var i = 0; i < nodes.length; i++) {
349
+ walker = insert(this, walker, nodes[i])
350
+ }
351
+ return ret;
352
+ }
353
+
354
+ Yallist.prototype.reverse = function () {
355
+ var head = this.head
356
+ var tail = this.tail
357
+ for (var walker = head; walker !== null; walker = walker.prev) {
358
+ var p = walker.prev
359
+ walker.prev = walker.next
360
+ walker.next = p
361
+ }
362
+ this.head = tail
363
+ this.tail = head
364
+ return this
365
+ }
366
+
367
+ function insert (self, node, value) {
368
+ var inserted = node === self.head ?
369
+ new Node(value, null, node, self) :
370
+ new Node(value, node, node.next, self)
371
+
372
+ if (inserted.next === null) {
373
+ self.tail = inserted
374
+ }
375
+ if (inserted.prev === null) {
376
+ self.head = inserted
377
+ }
378
+
379
+ self.length++
380
+
381
+ return inserted
382
+ }
383
+
384
+ function push (self, item) {
385
+ self.tail = new Node(item, self.tail, null, self)
386
+ if (!self.head) {
387
+ self.head = self.tail
388
+ }
389
+ self.length++
390
+ }
391
+
392
+ function unshift (self, item) {
393
+ self.head = new Node(item, null, self.head, self)
394
+ if (!self.tail) {
395
+ self.tail = self.head
396
+ }
397
+ self.length++
398
+ }
399
+
400
+ function Node (value, prev, next, list) {
401
+ if (!(this instanceof Node)) {
402
+ return new Node(value, prev, next, list)
403
+ }
404
+
405
+ this.list = list
406
+ this.value = value
407
+
408
+ if (prev) {
409
+ prev.next = this
410
+ this.prev = prev
411
+ } else {
412
+ this.prev = null
413
+ }
414
+
415
+ if (next) {
416
+ next.prev = this
417
+ this.next = next
418
+ } else {
419
+ this.next = null
420
+ }
421
+ }
422
+
423
+ try {
424
+ // add if support for Symbol.iterator is present
425
+ require('./iterator.js')(Yallist)
426
+ } catch (er) {}
@@ -0,0 +1,8 @@
1
+ 'use strict'
2
+ module.exports = function (Yallist) {
3
+ Yallist.prototype[Symbol.iterator] = function* () {
4
+ for (let walker = this.head; walker; walker = walker.next) {
5
+ yield walker.value
6
+ }
7
+ }
8
+ }