pnpm 10.33.2 → 10.33.4

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 (74) hide show
  1. package/dist/node_modules/.modules.yaml +66 -66
  2. package/dist/node_modules/.pnpm/lock.yaml +8 -8
  3. package/dist/node_modules/.pnpm-workspace-state-v1.json +1 -1
  4. package/dist/node_modules/ip-address/dist/address-error.js.map +1 -1
  5. package/dist/node_modules/ip-address/dist/common.js +21 -0
  6. package/dist/node_modules/ip-address/dist/common.js.map +1 -1
  7. package/dist/node_modules/ip-address/dist/ip-address.js.map +1 -1
  8. package/dist/node_modules/ip-address/dist/ipv4.js +193 -68
  9. package/dist/node_modules/ip-address/dist/ipv4.js.map +1 -1
  10. package/dist/node_modules/ip-address/dist/ipv6.js +345 -131
  11. package/dist/node_modules/ip-address/dist/ipv6.js.map +1 -1
  12. package/dist/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  13. package/dist/node_modules/ip-address/dist/v6/constants.js +5 -0
  14. package/dist/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  15. package/dist/node_modules/ip-address/dist/v6/helpers.js +12 -3
  16. package/dist/node_modules/ip-address/dist/v6/helpers.js.map +1 -1
  17. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js.map +1 -1
  18. package/dist/node_modules/ip-address/package.json +45 -35
  19. package/dist/node_modules/isexe/LICENSE +1 -1
  20. package/dist/node_modules/isexe/package.json +14 -79
  21. package/dist/node_modules/{cross-spawn/node_modules/which → node-gyp/node_modules/isexe}/LICENSE +1 -1
  22. package/dist/node_modules/node-gyp/node_modules/isexe/package.json +96 -0
  23. package/dist/node_modules/node-gyp/node_modules/which/package.json +52 -0
  24. package/dist/node_modules/socks/.claude/settings.local.json +26 -0
  25. package/dist/node_modules/socks/package.json +2 -2
  26. package/dist/node_modules/which/package.json +20 -29
  27. package/dist/pnpm.cjs +1156 -729
  28. package/dist/worker.js +11 -8
  29. package/package.json +1 -1
  30. package/dist/node_modules/cross-spawn/node_modules/isexe/package.json +0 -31
  31. package/dist/node_modules/cross-spawn/node_modules/which/package.json +0 -43
  32. package/dist/node_modules/ip-address/dist/address-error.d.ts.map +0 -1
  33. package/dist/node_modules/ip-address/dist/common.d.ts.map +0 -1
  34. package/dist/node_modules/ip-address/dist/ip-address.d.ts.map +0 -1
  35. package/dist/node_modules/ip-address/dist/ipv4.d.ts.map +0 -1
  36. package/dist/node_modules/ip-address/dist/ipv6.d.ts.map +0 -1
  37. package/dist/node_modules/ip-address/dist/v4/constants.d.ts.map +0 -1
  38. package/dist/node_modules/ip-address/dist/v6/constants.d.ts.map +0 -1
  39. package/dist/node_modules/ip-address/dist/v6/helpers.d.ts.map +0 -1
  40. package/dist/node_modules/ip-address/dist/v6/regular-expressions.d.ts.map +0 -1
  41. /package/dist/node_modules/{cross-spawn/node_modules/isexe → isexe}/index.js +0 -0
  42. /package/dist/node_modules/{cross-spawn/node_modules/isexe → isexe}/mode.js +0 -0
  43. /package/dist/node_modules/{cross-spawn/node_modules/isexe → isexe}/windows.js +0 -0
  44. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/index.d.ts.map +0 -0
  45. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/index.js +0 -0
  46. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/index.js.map +0 -0
  47. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/options.d.ts.map +0 -0
  48. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/options.js +0 -0
  49. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/options.js.map +0 -0
  50. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/package.json +0 -0
  51. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/posix.d.ts.map +0 -0
  52. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/posix.js +0 -0
  53. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/posix.js.map +0 -0
  54. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/win32.d.ts.map +0 -0
  55. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/win32.js +0 -0
  56. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/cjs/win32.js.map +0 -0
  57. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/index.d.ts.map +0 -0
  58. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/index.js +0 -0
  59. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/index.js.map +0 -0
  60. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/options.d.ts.map +0 -0
  61. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/options.js +0 -0
  62. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/options.js.map +0 -0
  63. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/package.json +0 -0
  64. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/posix.d.ts.map +0 -0
  65. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/posix.js +0 -0
  66. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/posix.js.map +0 -0
  67. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/win32.d.ts.map +0 -0
  68. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/win32.js +0 -0
  69. /package/dist/node_modules/{isexe → node-gyp/node_modules/isexe}/dist/mjs/win32.js.map +0 -0
  70. /package/dist/node_modules/{cross-spawn/node_modules/isexe → node-gyp/node_modules/which}/LICENSE +0 -0
  71. /package/dist/node_modules/{which → node-gyp/node_modules/which}/bin/which.js +0 -0
  72. /package/dist/node_modules/{which → node-gyp/node_modules/which}/lib/index.js +0 -0
  73. /package/dist/node_modules/{cross-spawn/node_modules/which → which}/bin/node-which +0 -0
  74. /package/dist/node_modules/{cross-spawn/node_modules/which → which}/which.js +0 -0
@@ -13,8 +13,11 @@
13
13
  "v8-compile-cache@2.4.0": [
14
14
  "node_modules/v8-compile-cache"
15
15
  ],
16
- "node-gyp@11.5.0": [
17
- "node_modules/node-gyp"
16
+ "which@5.0.0": [
17
+ "node_modules/node-gyp/node_modules/which"
18
+ ],
19
+ "isexe@3.1.1": [
20
+ "node_modules/node-gyp/node_modules/isexe"
18
21
  ],
19
22
  "nopt@8.1.0": [
20
23
  "node_modules/nopt"
@@ -22,30 +25,27 @@
22
25
  "tar@7.5.13": [
23
26
  "node_modules/tar"
24
27
  ],
25
- "proc-log@5.0.0": [
26
- "node_modules/proc-log"
27
- ],
28
28
  "tinyglobby@0.2.16": [
29
29
  "node_modules/tinyglobby"
30
30
  ],
31
- "exponential-backoff@3.1.3": [
32
- "node_modules/exponential-backoff"
33
- ],
34
31
  "env-paths@2.2.1": [
35
32
  "node_modules/env-paths"
36
33
  ],
37
- "which@5.0.0": [
38
- "node_modules/which"
34
+ "proc-log@5.0.0": [
35
+ "node_modules/proc-log"
39
36
  ],
40
37
  "graceful-fs@4.2.11": [
41
38
  "node_modules/graceful-fs"
42
39
  ],
43
- "semver@7.7.4": [
44
- "node_modules/semver"
40
+ "exponential-backoff@3.1.3": [
41
+ "node_modules/exponential-backoff"
45
42
  ],
46
43
  "make-fetch-happen@14.0.3": [
47
44
  "node_modules/make-fetch-happen"
48
45
  ],
46
+ "semver@7.7.4": [
47
+ "node_modules/semver"
48
+ ],
49
49
  "abbrev@3.0.1": [
50
50
  "node_modules/abbrev"
51
51
  ],
@@ -64,52 +64,49 @@
64
64
  "minipass@7.1.3": [
65
65
  "node_modules/minipass"
66
66
  ],
67
- "picomatch@4.0.4": [
68
- "node_modules/picomatch"
69
- ],
70
67
  "fdir@6.5.0(picomatch@4.0.4)": [
71
68
  "node_modules/fdir"
72
69
  ],
73
- "isexe@3.1.1": [
74
- "node_modules/isexe"
70
+ "picomatch@4.0.4": [
71
+ "node_modules/picomatch"
75
72
  ],
76
73
  "ssri@12.0.0": [
77
74
  "node_modules/ssri"
78
75
  ],
79
- "negotiator@1.0.0": [
80
- "node_modules/negotiator"
81
- ],
82
- "cacache@19.0.1": [
83
- "node_modules/cacache"
84
- ],
85
76
  "minipass@3.3.6": [
86
- "node_modules/minipass-flush/node_modules/minipass",
87
77
  "node_modules/minipass-pipeline/node_modules/minipass",
78
+ "node_modules/minipass-flush/node_modules/minipass",
88
79
  "node_modules/minipass-sized/node_modules/minipass"
89
80
  ],
90
81
  "yallist@4.0.0": [
91
- "node_modules/minipass-flush/node_modules/yallist",
92
82
  "node_modules/minipass-pipeline/node_modules/yallist",
83
+ "node_modules/minipass-flush/node_modules/yallist",
93
84
  "node_modules/minipass-sized/node_modules/yallist"
94
85
  ],
95
- "http-cache-semantics@4.2.0": [
96
- "node_modules/http-cache-semantics"
86
+ "cacache@19.0.1": [
87
+ "node_modules/cacache"
97
88
  ],
98
89
  "promise-retry@2.0.1": [
99
90
  "node_modules/promise-retry"
100
91
  ],
92
+ "http-cache-semantics@4.2.0": [
93
+ "node_modules/http-cache-semantics"
94
+ ],
101
95
  "minipass-fetch@4.0.1": [
102
96
  "node_modules/minipass-fetch"
103
97
  ],
98
+ "negotiator@1.0.0": [
99
+ "node_modules/negotiator"
100
+ ],
104
101
  "@npmcli/agent@3.0.0": [
105
102
  "node_modules/@npmcli/agent"
106
103
  ],
107
- "unique-filename@4.0.0": [
108
- "node_modules/unique-filename"
109
- ],
110
104
  "minipass-collect@2.0.1": [
111
105
  "node_modules/minipass-collect"
112
106
  ],
107
+ "unique-filename@4.0.0": [
108
+ "node_modules/unique-filename"
109
+ ],
113
110
  "fs-minipass@3.0.3": [
114
111
  "node_modules/fs-minipass"
115
112
  ],
@@ -119,29 +116,29 @@
119
116
  "@npmcli/fs@4.0.0": [
120
117
  "node_modules/@npmcli/fs"
121
118
  ],
122
- "glob@10.5.0": [
123
- "node_modules/glob"
124
- ],
125
119
  "lru-cache@10.4.3": [
126
120
  "node_modules/lru-cache"
127
121
  ],
128
- "retry@0.12.0": [
129
- "node_modules/retry"
122
+ "glob@10.5.0": [
123
+ "node_modules/glob"
130
124
  ],
131
125
  "err-code@2.0.3": [
132
126
  "node_modules/err-code"
133
127
  ],
128
+ "retry@0.12.0": [
129
+ "node_modules/retry"
130
+ ],
134
131
  "encoding@0.1.13": [
135
132
  "node_modules/encoding"
136
133
  ],
137
- "http-proxy-agent@7.0.2": [
138
- "node_modules/http-proxy-agent"
134
+ "agent-base@7.1.4": [
135
+ "node_modules/agent-base"
139
136
  ],
140
137
  "https-proxy-agent@7.0.6": [
141
138
  "node_modules/https-proxy-agent"
142
139
  ],
143
- "agent-base@7.1.4": [
144
- "node_modules/agent-base"
140
+ "http-proxy-agent@7.0.2": [
141
+ "node_modules/http-proxy-agent"
145
142
  ],
146
143
  "socks-proxy-agent@8.0.5": [
147
144
  "node_modules/socks-proxy-agent"
@@ -149,12 +146,12 @@
149
146
  "unique-slug@5.0.0": [
150
147
  "node_modules/unique-slug"
151
148
  ],
152
- "foreground-child@3.3.1": [
153
- "node_modules/foreground-child"
154
- ],
155
149
  "package-json-from-dist@1.0.1": [
156
150
  "node_modules/package-json-from-dist"
157
151
  ],
152
+ "foreground-child@3.3.1": [
153
+ "node_modules/foreground-child"
154
+ ],
158
155
  "path-scurry@1.11.1": [
159
156
  "node_modules/path-scurry"
160
157
  ],
@@ -170,17 +167,14 @@
170
167
  "debug@4.4.3": [
171
168
  "node_modules/debug"
172
169
  ],
173
- "socks@2.8.7": [
170
+ "socks@2.8.8": [
174
171
  "node_modules/socks"
175
172
  ],
176
173
  "imurmurhash@0.1.4": [
177
174
  "node_modules/imurmurhash"
178
175
  ],
179
- "which@2.0.2": [
180
- "node_modules/cross-spawn/node_modules/which"
181
- ],
182
- "isexe@2.0.0": [
183
- "node_modules/cross-spawn/node_modules/isexe"
176
+ "cross-spawn@7.0.6": [
177
+ "node_modules/cross-spawn"
184
178
  ],
185
179
  "signal-exit@4.1.0": [
186
180
  "node_modules/signal-exit"
@@ -203,23 +197,18 @@
203
197
  "smart-buffer@4.2.0": [
204
198
  "node_modules/smart-buffer"
205
199
  ],
206
- "ip-address@10.1.0": [
200
+ "ip-address@10.2.0": [
207
201
  "node_modules/ip-address"
208
202
  ],
203
+ "which@2.0.2": [
204
+ "node_modules/which"
205
+ ],
209
206
  "shebang-command@2.0.0": [
210
207
  "node_modules/shebang-command"
211
208
  ],
212
209
  "path-key@3.1.1": [
213
210
  "node_modules/path-key"
214
211
  ],
215
- "strip-ansi@7.2.0": [
216
- "node_modules/strip-ansi"
217
- ],
218
- "ansi-regex@5.0.1": [
219
- "node_modules/strip-ansi-cjs/node_modules/ansi-regex",
220
- "node_modules/wrap-ansi-cjs/node_modules/ansi-regex",
221
- "node_modules/string-width-cjs/node_modules/ansi-regex"
222
- ],
223
212
  "wrap-ansi@8.1.0": [
224
213
  "node_modules/wrap-ansi"
225
214
  ],
@@ -235,6 +224,11 @@
235
224
  "ansi-styles@4.3.0": [
236
225
  "node_modules/wrap-ansi-cjs/node_modules/ansi-styles"
237
226
  ],
227
+ "ansi-regex@5.0.1": [
228
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-regex",
229
+ "node_modules/string-width-cjs/node_modules/ansi-regex",
230
+ "node_modules/strip-ansi-cjs/node_modules/ansi-regex"
231
+ ],
238
232
  "emoji-regex@8.0.0": [
239
233
  "node_modules/wrap-ansi-cjs/node_modules/emoji-regex",
240
234
  "node_modules/string-width-cjs/node_modules/emoji-regex"
@@ -242,15 +236,18 @@
242
236
  "string-width@5.1.2": [
243
237
  "node_modules/string-width"
244
238
  ],
239
+ "strip-ansi@7.2.0": [
240
+ "node_modules/strip-ansi"
241
+ ],
245
242
  "balanced-match@1.0.2": [
246
243
  "node_modules/balanced-match"
247
244
  ],
245
+ "isexe@2.0.0": [
246
+ "node_modules/isexe"
247
+ ],
248
248
  "shebang-regex@3.0.0": [
249
249
  "node_modules/shebang-regex"
250
250
  ],
251
- "ansi-regex@6.2.2": [
252
- "node_modules/ansi-regex"
253
- ],
254
251
  "ansi-styles@6.2.3": [
255
252
  "node_modules/ansi-styles"
256
253
  ],
@@ -266,21 +263,24 @@
266
263
  "emoji-regex@9.2.2": [
267
264
  "node_modules/emoji-regex"
268
265
  ],
266
+ "ansi-regex@6.2.2": [
267
+ "node_modules/ansi-regex"
268
+ ],
269
269
  "color-name@1.1.4": [
270
270
  "node_modules/color-name"
271
271
  ],
272
- "minipass-flush@1.0.7": [
273
- "node_modules/minipass-flush"
272
+ "node-gyp@11.5.0": [
273
+ "node_modules/node-gyp"
274
274
  ],
275
275
  "minipass-pipeline@1.2.4": [
276
276
  "node_modules/minipass-pipeline"
277
277
  ],
278
+ "minipass-flush@1.0.7": [
279
+ "node_modules/minipass-flush"
280
+ ],
278
281
  "minipass-sized@1.0.3": [
279
282
  "node_modules/minipass-sized"
280
283
  ],
281
- "cross-spawn@7.0.6": [
282
- "node_modules/cross-spawn"
283
- ],
284
284
  "wrap-ansi@7.0.0": [
285
285
  "node_modules/wrap-ansi-cjs"
286
286
  ]
@@ -289,7 +289,7 @@
289
289
  "packageManager": "pnpm@10.33.1",
290
290
  "pendingBuilds": [],
291
291
  "publicHoistPattern": [],
292
- "prunedAt": "Thu, 23 Apr 2026 11:46:36 GMT",
292
+ "prunedAt": "Wed, 06 May 2026 13:17:04 GMT",
293
293
  "registries": {
294
294
  "default": "https://registry.npmjs.org/",
295
295
  "@jsr": "https://npm.jsr.io/"
@@ -206,8 +206,8 @@ packages:
206
206
  resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
207
207
  engines: {node: '>=0.8.19'}
208
208
 
209
- ip-address@10.1.0:
210
- resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==}
209
+ ip-address@10.2.0:
210
+ resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
211
211
  engines: {node: '>= 12'}
212
212
 
213
213
  is-fullwidth-code-point@3.0.0:
@@ -343,8 +343,8 @@ packages:
343
343
  resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
344
344
  engines: {node: '>= 14'}
345
345
 
346
- socks@2.8.7:
347
- resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==}
346
+ socks@2.8.8:
347
+ resolution: {integrity: sha512-NlGELfPrgX2f1TAAcz0WawlLn+0r3FyhhCRpFFK2CemXenPYvzMWWZINv3eDNo9ucdwme7oCHRY0Jnbs4aIkog==}
348
348
  engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
349
349
 
350
350
  ssri@12.0.0:
@@ -593,7 +593,7 @@ snapshots:
593
593
  imurmurhash@0.1.4:
594
594
  optional: true
595
595
 
596
- ip-address@10.1.0:
596
+ ip-address@10.2.0:
597
597
  optional: true
598
598
 
599
599
  is-fullwidth-code-point@3.0.0:
@@ -760,14 +760,14 @@ snapshots:
760
760
  dependencies:
761
761
  agent-base: 7.1.4
762
762
  debug: 4.4.3
763
- socks: 2.8.7
763
+ socks: 2.8.8
764
764
  transitivePeerDependencies:
765
765
  - supports-color
766
766
  optional: true
767
767
 
768
- socks@2.8.7:
768
+ socks@2.8.8:
769
769
  dependencies:
770
- ip-address: 10.1.0
770
+ ip-address: 10.2.0
771
771
  smart-buffer: 4.2.0
772
772
  optional: true
773
773
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "lastValidatedTimestamp": 1776944796156,
2
+ "lastValidatedTimestamp": 1778073424164,
3
3
  "projects": {},
4
4
  "pnpmfiles": [],
5
5
  "settings": {
@@ -1 +1 @@
1
- {"version":3,"file":"address-error.js","sourceRoot":"","sources":["../src/address-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IAGrC,YAAY,OAAe,EAAE,YAAqB;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAE3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAVD,oCAUC"}
1
+ {"version":3,"file":"address-error.js","sourceRoot":"","sources":["../src/address-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAa,SAAQ,KAAK;IAGrC,YAAY,OAAe,EAAE,YAAqB;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAE3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAVD,oCAUC","sourcesContent":["export class AddressError extends Error {\n parseMessage?: string;\n\n constructor(message: string, parseMessage?: string) {\n super(message);\n\n this.name = 'AddressError';\n\n this.parseMessage = parseMessage;\n }\n}\n"]}
@@ -2,9 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isInSubnet = isInSubnet;
4
4
  exports.isCorrect = isCorrect;
5
+ exports.prefixLengthFromMask = prefixLengthFromMask;
5
6
  exports.numberToPaddedHex = numberToPaddedHex;
6
7
  exports.stringToPaddedHex = stringToPaddedHex;
7
8
  exports.testBit = testBit;
9
+ const address_error_1 = require("./address-error");
8
10
  function isInSubnet(address) {
9
11
  if (this.subnetMask < address.subnetMask) {
10
12
  return false;
@@ -25,6 +27,25 @@ function isCorrect(defaultBits) {
25
27
  return this.parsedSubnet === String(this.subnetMask);
26
28
  };
27
29
  }
30
+ /**
31
+ * Returns the prefix length (number of leading 1 bits) of a contiguous
32
+ * subnet mask. Throws `AddressError` if the mask is non-contiguous (e.g.
33
+ * `255.0.255.0`).
34
+ */
35
+ function prefixLengthFromMask(value, totalBits) {
36
+ const binary = value.toString(2).padStart(totalBits, '0');
37
+ if (binary.length > totalBits) {
38
+ throw new address_error_1.AddressError('Invalid subnet mask.');
39
+ }
40
+ const firstZero = binary.indexOf('0');
41
+ if (firstZero === -1) {
42
+ return totalBits;
43
+ }
44
+ if (binary.slice(firstZero).includes('1')) {
45
+ throw new address_error_1.AddressError('Invalid subnet mask.');
46
+ }
47
+ return firstZero;
48
+ }
28
49
  function numberToPaddedHex(number) {
29
50
  return number.toString(16).padStart(2, '0');
30
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;AAOA,gCAUC;AAED,8BAYC;AAED,8CAEC;AAED,8CAEC;AAMD,0BASC;AA/CD,SAAgB,UAAU,CAA4B,OAA4B;IAChF,IAAI,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,SAAS,CAAC,WAAmB;IAC3C,OAAO;QACL,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,iBAAiB,CAAC,YAAoB;IACpD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,WAAmB,EAAE,QAAgB;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IAE/B,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,OAAO,WAAW,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;AAQA,gCAUC;AAED,8BAYC;AAOD,oDAkBC;AAED,8CAEC;AAED,8CAEC;AAMD,0BASC;AA9ED,mDAA+C;AAM/C,SAAgB,UAAU,CAA4B,OAA4B;IAChF,IAAI,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,SAAS,CAAC,WAAmB;IAC3C,OAAO;QACL,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,KAAa,EAAE,SAAiB;IACnE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAE1D,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,4BAAY,CAAC,sBAAsB,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,4BAAY,CAAC,sBAAsB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,iBAAiB,CAAC,YAAoB;IACpD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,WAAmB,EAAE,QAAgB;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IAE/B,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,OAAO,WAAW,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;AAC/E,CAAC","sourcesContent":["import { Address4 } from './ipv4';\nimport { Address6 } from './ipv6';\nimport { AddressError } from './address-error';\n\nexport interface ReverseFormOptions {\n omitSuffix?: boolean;\n}\n\nexport function isInSubnet(this: Address4 | Address6, address: Address4 | Address6) {\n if (this.subnetMask < address.subnetMask) {\n return false;\n }\n\n if (this.mask(address.subnetMask) === address.mask()) {\n return true;\n }\n\n return false;\n}\n\nexport function isCorrect(defaultBits: number) {\n return function (this: Address4 | Address6) {\n if (this.addressMinusSuffix !== this.correctForm()) {\n return false;\n }\n\n if (this.subnetMask === defaultBits && !this.parsedSubnet) {\n return true;\n }\n\n return this.parsedSubnet === String(this.subnetMask);\n };\n}\n\n/**\n * Returns the prefix length (number of leading 1 bits) of a contiguous\n * subnet mask. Throws `AddressError` if the mask is non-contiguous (e.g.\n * `255.0.255.0`).\n */\nexport function prefixLengthFromMask(value: bigint, totalBits: number): number {\n const binary = value.toString(2).padStart(totalBits, '0');\n\n if (binary.length > totalBits) {\n throw new AddressError('Invalid subnet mask.');\n }\n\n const firstZero = binary.indexOf('0');\n\n if (firstZero === -1) {\n return totalBits;\n }\n\n if (binary.slice(firstZero).includes('1')) {\n throw new AddressError('Invalid subnet mask.');\n }\n\n return firstZero;\n}\n\nexport function numberToPaddedHex(number: number) {\n return number.toString(16).padStart(2, '0');\n}\n\nexport function stringToPaddedHex(numberString: string) {\n return numberToPaddedHex(parseInt(numberString, 10));\n}\n\n/**\n * @param binaryValue Binary representation of a value (e.g. `10`)\n * @param position Byte position, where 0 is the least significant bit\n */\nexport function testBit(binaryValue: string, position: number): boolean {\n const { length } = binaryValue;\n\n if (position > length) {\n return false;\n }\n\n const positionInString = length - position;\n return binaryValue.substring(positionInString, positionInString + 1) === '1';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ip-address.js","sourceRoot":"","sources":["../src/ip-address.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAAzB,gGAAA,QAAQ,OAAA;AACjB,+BAAkC;AAAzB,gGAAA,QAAQ,OAAA;AACjB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,sDAAwC;AAE3B,QAAA,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"ip-address.js","sourceRoot":"","sources":["../src/ip-address.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAAzB,gGAAA,QAAQ,OAAA;AACjB,+BAAkC;AAAzB,gGAAA,QAAQ,OAAA;AACjB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,sDAAwC;AAE3B,QAAA,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC","sourcesContent":["export { Address4 } from './ipv4';\nexport { Address6 } from './ipv6';\nexport { AddressError } from './address-error';\n\nimport * as helpers from './v6/helpers';\n\nexport const v6 = { helpers };\n"]}