sharp 0.20.8 → 0.21.0
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.
- package/README.md +3 -3
- package/binding.gyp +5 -0
- package/docs/api-colour.md +1 -19
- package/docs/api-input.md +5 -2
- package/docs/api-operation.md +40 -115
- package/docs/api-resize.md +159 -109
- package/docs/api-utility.md +4 -7
- package/docs/changelog.md +41 -0
- package/docs/index.md +5 -4
- package/docs/install.md +18 -38
- package/docs/performance.md +14 -21
- package/install/libvips.js +21 -20
- package/lib/colour.js +34 -15
- package/lib/constructor.js +15 -39
- package/lib/input.js +5 -2
- package/lib/libvips.js +7 -1
- package/lib/operation.js +27 -118
- package/lib/platform.js +4 -1
- package/lib/resize.js +308 -104
- package/lib/utility.js +5 -8
- package/package.json +12 -11
- package/src/common.cc +45 -8
- package/src/common.h +9 -7
- package/src/libvips/cplusplus/VImage.cpp +95 -95
- package/src/libvips/cplusplus/vips-operators.cpp +268 -185
- package/src/metadata.cc +15 -0
- package/src/metadata.h +3 -0
- package/src/operations.cc +15 -48
- package/src/operations.h +1 -1
- package/src/pipeline.cc +39 -80
- package/src/pipeline.h +19 -13
- package/src/utilities.cc +1 -1
package/README.md
CHANGED
|
@@ -21,8 +21,8 @@ Lanczos resampling ensures quality is not sacrificed for speed.
|
|
|
21
21
|
As well as image resizing, operations such as
|
|
22
22
|
rotation, extraction, compositing and gamma correction are available.
|
|
23
23
|
|
|
24
|
-
Most modern 64-bit OS X, Windows and Linux
|
|
25
|
-
Node versions
|
|
24
|
+
Most modern 64-bit OS X, Windows and Linux systems running
|
|
25
|
+
Node versions 6, 8 and 10
|
|
26
26
|
do not require any additional install or runtime dependencies.
|
|
27
27
|
|
|
28
28
|
## Examples
|
|
@@ -78,7 +78,7 @@ Visit [sharp.pixelplumbing.com](http://sharp.pixelplumbing.com/) for complete
|
|
|
78
78
|
A [guide for contributors](https://github.com/lovell/sharp/blob/master/CONTRIBUTING.md)
|
|
79
79
|
covers reporting bugs, requesting features and submitting code changes.
|
|
80
80
|
|
|
81
|
-
###
|
|
81
|
+
### Licensing
|
|
82
82
|
|
|
83
83
|
Copyright 2013, 2014, 2015, 2016, 2017, 2018 Lovell Fuller and contributors.
|
|
84
84
|
|
package/binding.gyp
CHANGED
|
@@ -128,9 +128,11 @@
|
|
|
128
128
|
'../vendor/lib/libcairo.so',
|
|
129
129
|
'../vendor/lib/libcroco-0.6.so',
|
|
130
130
|
'../vendor/lib/libexif.so',
|
|
131
|
+
'../vendor/lib/libexpat.so',
|
|
131
132
|
'../vendor/lib/libffi.so',
|
|
132
133
|
'../vendor/lib/libfontconfig.so',
|
|
133
134
|
'../vendor/lib/libfreetype.so',
|
|
135
|
+
'../vendor/lib/libfribidi.so',
|
|
134
136
|
'../vendor/lib/libgdk_pixbuf-2.0.so',
|
|
135
137
|
'../vendor/lib/libgif.so',
|
|
136
138
|
'../vendor/lib/libgio-2.0.so',
|
|
@@ -138,6 +140,7 @@
|
|
|
138
140
|
'../vendor/lib/libgsf-1.so',
|
|
139
141
|
'../vendor/lib/libgthread-2.0.so',
|
|
140
142
|
'../vendor/lib/libharfbuzz.so',
|
|
143
|
+
'../vendor/lib/libharfbuzz-subset.so.0',
|
|
141
144
|
'../vendor/lib/libjpeg.so',
|
|
142
145
|
'../vendor/lib/liblcms2.so',
|
|
143
146
|
'../vendor/lib/liborc-0.4.so',
|
|
@@ -149,6 +152,8 @@
|
|
|
149
152
|
'../vendor/lib/librsvg-2.so',
|
|
150
153
|
'../vendor/lib/libtiff.so',
|
|
151
154
|
'../vendor/lib/libwebp.so',
|
|
155
|
+
'../vendor/lib/libwebpdemux.so',
|
|
156
|
+
'../vendor/lib/libwebpmux.so',
|
|
152
157
|
'../vendor/lib/libxml2.so',
|
|
153
158
|
'../vendor/lib/libz.so',
|
|
154
159
|
# Ensure runtime linking is relative to sharp.node
|
package/docs/api-colour.md
CHANGED
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
2
2
|
|
|
3
|
-
## background
|
|
4
|
-
|
|
5
|
-
Set the background for the `embed`, `flatten` and `extend` operations.
|
|
6
|
-
The default background is `{r: 0, g: 0, b: 0, alpha: 1}`, black without transparency.
|
|
7
|
-
|
|
8
|
-
Delegates to the _color_ module, which can throw an Error
|
|
9
|
-
but is liberal in what it accepts, clipping values to sensible min/max.
|
|
10
|
-
The alpha value is a float between `0` (transparent) and `1` (opaque).
|
|
11
|
-
|
|
12
|
-
### Parameters
|
|
13
|
-
|
|
14
|
-
- `rgba` **([String][1] \| [Object][2])** parsed by the [color][3] module to extract values for red, green, blue and alpha.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- Throws **[Error][4]** Invalid parameter
|
|
18
|
-
|
|
19
|
-
Returns **Sharp**
|
|
20
|
-
|
|
21
3
|
## tint
|
|
22
4
|
|
|
23
5
|
Tint the image using the provided chroma while preserving the image luminance.
|
|
@@ -94,4 +76,4 @@ Returns **Sharp**
|
|
|
94
76
|
|
|
95
77
|
[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
96
78
|
|
|
97
|
-
[6]: https://github.com/
|
|
79
|
+
[6]: https://github.com/libvips/libvips/blob/master/libvips/iofuncs/enumtypes.c#L568
|
package/docs/api-input.md
CHANGED
|
@@ -25,12 +25,15 @@ Fast access to (uncached) image metadata without decoding any compressed image d
|
|
|
25
25
|
A Promises/A+ promise is returned when `callback` is not provided.
|
|
26
26
|
|
|
27
27
|
- `format`: Name of decoder used to decompress image data e.g. `jpeg`, `png`, `webp`, `gif`, `svg`
|
|
28
|
+
- `size`: Total size of image in bytes, for Stream and Buffer input only
|
|
28
29
|
- `width`: Number of pixels wide (EXIF orientation is not taken into consideration)
|
|
29
30
|
- `height`: Number of pixels high (EXIF orientation is not taken into consideration)
|
|
30
31
|
- `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...][1]
|
|
31
32
|
- `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK
|
|
32
33
|
- `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...][2]
|
|
33
34
|
- `density`: Number of pixels per inch (DPI), if present
|
|
35
|
+
- `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK
|
|
36
|
+
- `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan
|
|
34
37
|
- `hasProfile`: Boolean indicating the presence of an embedded ICC profile
|
|
35
38
|
- `hasAlpha`: Boolean indicating the presence of an alpha transparency channel
|
|
36
39
|
- `orientation`: Number value of the EXIF Orientation header, if present
|
|
@@ -126,9 +129,9 @@ The default behaviour _before_ function call is `false`, meaning the libvips acc
|
|
|
126
129
|
|
|
127
130
|
Returns **Sharp**
|
|
128
131
|
|
|
129
|
-
[1]: https://github.com/
|
|
132
|
+
[1]: https://github.com/libvips/libvips/blob/master/libvips/iofuncs/enumtypes.c#L636
|
|
130
133
|
|
|
131
|
-
[2]: https://github.com/
|
|
134
|
+
[2]: https://github.com/libvips/libvips/blob/master/libvips/iofuncs/enumtypes.c#L672
|
|
132
135
|
|
|
133
136
|
[3]: https://www.npmjs.com/package/icc
|
|
134
137
|
|
package/docs/api-operation.md
CHANGED
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
Rotate the output image by either an explicit angle
|
|
6
6
|
or auto-orient based on the EXIF `Orientation` tag.
|
|
7
7
|
|
|
8
|
-
If an angle is provided, it is converted to a valid
|
|
8
|
+
If an angle is provided, it is converted to a valid positive degree rotation.
|
|
9
9
|
For example, `-450` will produce a 270deg rotation.
|
|
10
10
|
|
|
11
|
+
When rotating by an angle other than a multiple of 90,
|
|
12
|
+
the background colour can be provided with the `background` option.
|
|
13
|
+
|
|
11
14
|
If no angle is provided, it is determined from the EXIF data.
|
|
12
15
|
Mirroring is supported and may infer the use of a flip operation.
|
|
13
16
|
|
|
@@ -18,7 +21,9 @@ for example `rotate(x).extract(y)` will produce a different result to `extract(y
|
|
|
18
21
|
|
|
19
22
|
### Parameters
|
|
20
23
|
|
|
21
|
-
- `angle` **[Number][1]** angle of rotation
|
|
24
|
+
- `angle` **[Number][1]** angle of rotation. (optional, default `auto`)
|
|
25
|
+
- `options` **[Object][2]?** if present, is an Object with optional attributes.
|
|
26
|
+
- `options.background` **([String][3] \| [Object][2])** parsed by the [color][4] module to extract values for red, green, blue and alpha. (optional, default `"#000000"`)
|
|
22
27
|
|
|
23
28
|
### Examples
|
|
24
29
|
|
|
@@ -34,47 +39,7 @@ const pipeline = sharp()
|
|
|
34
39
|
readableStream.pipe(pipeline);
|
|
35
40
|
```
|
|
36
41
|
|
|
37
|
-
- Throws **[Error][
|
|
38
|
-
|
|
39
|
-
Returns **Sharp**
|
|
40
|
-
|
|
41
|
-
## extract
|
|
42
|
-
|
|
43
|
-
Extract a region of the image.
|
|
44
|
-
|
|
45
|
-
- Use `extract` before `resize` for pre-resize extraction.
|
|
46
|
-
- Use `extract` after `resize` for post-resize extraction.
|
|
47
|
-
- Use `extract` before and after for both.
|
|
48
|
-
|
|
49
|
-
### Parameters
|
|
50
|
-
|
|
51
|
-
- `options` **[Object][3]**
|
|
52
|
-
- `options.left` **[Number][1]** zero-indexed offset from left edge
|
|
53
|
-
- `options.top` **[Number][1]** zero-indexed offset from top edge
|
|
54
|
-
- `options.width` **[Number][1]** dimension of extracted image
|
|
55
|
-
- `options.height` **[Number][1]** dimension of extracted image
|
|
56
|
-
|
|
57
|
-
### Examples
|
|
58
|
-
|
|
59
|
-
```javascript
|
|
60
|
-
sharp(input)
|
|
61
|
-
.extract({ left: left, top: top, width: width, height: height })
|
|
62
|
-
.toFile(output, function(err) {
|
|
63
|
-
// Extract a region of the input image, saving in the same format.
|
|
64
|
-
});
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
```javascript
|
|
68
|
-
sharp(input)
|
|
69
|
-
.extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre })
|
|
70
|
-
.resize(width, height)
|
|
71
|
-
.extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost })
|
|
72
|
-
.toFile(output, function(err) {
|
|
73
|
-
// Extract a region, resize, then extract from the resized image
|
|
74
|
-
});
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
- Throws **[Error][2]** Invalid parameters
|
|
42
|
+
- Throws **[Error][5]** Invalid parameters
|
|
78
43
|
|
|
79
44
|
Returns **Sharp**
|
|
80
45
|
|
|
@@ -85,7 +50,7 @@ The use of `flip` implies the removal of the EXIF `Orientation` tag, if any.
|
|
|
85
50
|
|
|
86
51
|
### Parameters
|
|
87
52
|
|
|
88
|
-
- `flip` **[Boolean][
|
|
53
|
+
- `flip` **[Boolean][6]** (optional, default `true`)
|
|
89
54
|
|
|
90
55
|
Returns **Sharp**
|
|
91
56
|
|
|
@@ -96,7 +61,7 @@ The use of `flop` implies the removal of the EXIF `Orientation` tag, if any.
|
|
|
96
61
|
|
|
97
62
|
### Parameters
|
|
98
63
|
|
|
99
|
-
- `flop` **[Boolean][
|
|
64
|
+
- `flop` **[Boolean][6]** (optional, default `true`)
|
|
100
65
|
|
|
101
66
|
Returns **Sharp**
|
|
102
67
|
|
|
@@ -114,7 +79,7 @@ Separate control over the level of sharpening in "flat" and "jagged" areas is av
|
|
|
114
79
|
- `jagged` **[Number][1]** the level of sharpening to apply to "jagged" areas. (optional, default `2.0`)
|
|
115
80
|
|
|
116
81
|
|
|
117
|
-
- Throws **[Error][
|
|
82
|
+
- Throws **[Error][5]** Invalid parameters
|
|
118
83
|
|
|
119
84
|
Returns **Sharp**
|
|
120
85
|
|
|
@@ -128,7 +93,7 @@ When used without parameters the default window is 3x3.
|
|
|
128
93
|
- `size` **[Number][1]** square mask size: size x size (optional, default `3`)
|
|
129
94
|
|
|
130
95
|
|
|
131
|
-
- Throws **[Error][
|
|
96
|
+
- Throws **[Error][5]** Invalid parameters
|
|
132
97
|
|
|
133
98
|
Returns **Sharp**
|
|
134
99
|
|
|
@@ -143,59 +108,17 @@ When a `sigma` is provided, performs a slower, more accurate Gaussian blur.
|
|
|
143
108
|
- `sigma` **[Number][1]?** a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`.
|
|
144
109
|
|
|
145
110
|
|
|
146
|
-
- Throws **[Error][
|
|
147
|
-
|
|
148
|
-
Returns **Sharp**
|
|
149
|
-
|
|
150
|
-
## extend
|
|
151
|
-
|
|
152
|
-
Extends/pads the edges of the image with the colour provided to the `background` method.
|
|
153
|
-
This operation will always occur after resizing and extraction, if any.
|
|
154
|
-
|
|
155
|
-
### Parameters
|
|
156
|
-
|
|
157
|
-
- `extend` **([Number][1] \| [Object][3])** single pixel count to add to all edges or an Object with per-edge counts
|
|
158
|
-
- `extend.top` **[Number][1]?**
|
|
159
|
-
- `extend.left` **[Number][1]?**
|
|
160
|
-
- `extend.bottom` **[Number][1]?**
|
|
161
|
-
- `extend.right` **[Number][1]?**
|
|
162
|
-
|
|
163
|
-
### Examples
|
|
164
|
-
|
|
165
|
-
```javascript
|
|
166
|
-
// Resize to 140 pixels wide, then add 10 transparent pixels
|
|
167
|
-
// to the top, left and right edges and 20 to the bottom edge
|
|
168
|
-
sharp(input)
|
|
169
|
-
.resize(140)
|
|
170
|
-
.background({r: 0, g: 0, b: 0, alpha: 0})
|
|
171
|
-
.extend({top: 10, bottom: 20, left: 10, right: 10})
|
|
172
|
-
...
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
- Throws **[Error][2]** Invalid parameters
|
|
111
|
+
- Throws **[Error][5]** Invalid parameters
|
|
176
112
|
|
|
177
113
|
Returns **Sharp**
|
|
178
114
|
|
|
179
115
|
## flatten
|
|
180
116
|
|
|
181
|
-
Merge alpha transparency channel, if any, with
|
|
117
|
+
Merge alpha transparency channel, if any, with a background.
|
|
182
118
|
|
|
183
119
|
### Parameters
|
|
184
120
|
|
|
185
|
-
- `
|
|
186
|
-
|
|
187
|
-
Returns **Sharp**
|
|
188
|
-
|
|
189
|
-
## trim
|
|
190
|
-
|
|
191
|
-
Trim "boring" pixels from all edges that contain values within a percentage similarity of the top-left pixel.
|
|
192
|
-
|
|
193
|
-
### Parameters
|
|
194
|
-
|
|
195
|
-
- `tolerance` **[Number][1]** value between 1 and 99 representing the percentage similarity. (optional, default `10`)
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
- Throws **[Error][2]** Invalid parameters
|
|
121
|
+
- `options`
|
|
199
122
|
|
|
200
123
|
Returns **Sharp**
|
|
201
124
|
|
|
@@ -212,7 +135,7 @@ when applying a gamma correction.
|
|
|
212
135
|
- `gamma` **[Number][1]** value between 1.0 and 3.0. (optional, default `2.2`)
|
|
213
136
|
|
|
214
137
|
|
|
215
|
-
- Throws **[Error][
|
|
138
|
+
- Throws **[Error][5]** Invalid parameters
|
|
216
139
|
|
|
217
140
|
Returns **Sharp**
|
|
218
141
|
|
|
@@ -222,7 +145,7 @@ Produce the "negative" of the image.
|
|
|
222
145
|
|
|
223
146
|
### Parameters
|
|
224
147
|
|
|
225
|
-
- `negate` **[Boolean][
|
|
148
|
+
- `negate` **[Boolean][6]** (optional, default `true`)
|
|
226
149
|
|
|
227
150
|
Returns **Sharp**
|
|
228
151
|
|
|
@@ -232,7 +155,7 @@ Enhance output image contrast by stretching its luminance to cover the full dyna
|
|
|
232
155
|
|
|
233
156
|
### Parameters
|
|
234
157
|
|
|
235
|
-
- `normalise` **[Boolean][
|
|
158
|
+
- `normalise` **[Boolean][6]** (optional, default `true`)
|
|
236
159
|
|
|
237
160
|
Returns **Sharp**
|
|
238
161
|
|
|
@@ -242,7 +165,7 @@ Alternative spelling of normalise.
|
|
|
242
165
|
|
|
243
166
|
### Parameters
|
|
244
167
|
|
|
245
|
-
- `normalize` **[Boolean][
|
|
168
|
+
- `normalize` **[Boolean][6]** (optional, default `true`)
|
|
246
169
|
|
|
247
170
|
Returns **Sharp**
|
|
248
171
|
|
|
@@ -252,10 +175,10 @@ Convolve the image with the specified kernel.
|
|
|
252
175
|
|
|
253
176
|
### Parameters
|
|
254
177
|
|
|
255
|
-
- `kernel` **[Object][
|
|
178
|
+
- `kernel` **[Object][2]**
|
|
256
179
|
- `kernel.width` **[Number][1]** width of the kernel in pixels.
|
|
257
180
|
- `kernel.height` **[Number][1]** width of the kernel in pixels.
|
|
258
|
-
- `kernel.kernel` **[Array][
|
|
181
|
+
- `kernel.kernel` **[Array][7]<[Number][1]>** Array of length `width*height` containing the kernel values.
|
|
259
182
|
- `kernel.scale` **[Number][1]** the scale of the kernel in pixels. (optional, default `sum`)
|
|
260
183
|
- `kernel.offset` **[Number][1]** the offset of the kernel in pixels. (optional, default `0`)
|
|
261
184
|
|
|
@@ -275,7 +198,7 @@ sharp(input)
|
|
|
275
198
|
});
|
|
276
199
|
```
|
|
277
200
|
|
|
278
|
-
- Throws **[Error][
|
|
201
|
+
- Throws **[Error][5]** Invalid parameters
|
|
279
202
|
|
|
280
203
|
Returns **Sharp**
|
|
281
204
|
|
|
@@ -286,12 +209,12 @@ Any pixel value greather than or equal to the threshold value will be set to 255
|
|
|
286
209
|
### Parameters
|
|
287
210
|
|
|
288
211
|
- `threshold` **[Number][1]** a value in the range 0-255 representing the level at which the threshold will be applied. (optional, default `128`)
|
|
289
|
-
- `options` **[Object][
|
|
290
|
-
- `options.greyscale` **[Boolean][
|
|
291
|
-
- `options.grayscale` **[Boolean][
|
|
212
|
+
- `options` **[Object][2]?**
|
|
213
|
+
- `options.greyscale` **[Boolean][6]** convert to single channel greyscale. (optional, default `true`)
|
|
214
|
+
- `options.grayscale` **[Boolean][6]** alternative spelling for greyscale. (optional, default `true`)
|
|
292
215
|
|
|
293
216
|
|
|
294
|
-
- Throws **[Error][
|
|
217
|
+
- Throws **[Error][5]** Invalid parameters
|
|
295
218
|
|
|
296
219
|
Returns **Sharp**
|
|
297
220
|
|
|
@@ -304,16 +227,16 @@ the selected bitwise boolean `operation` between the corresponding pixels of the
|
|
|
304
227
|
|
|
305
228
|
### Parameters
|
|
306
229
|
|
|
307
|
-
- `operand` **([Buffer][
|
|
308
|
-
- `operator` **[String][
|
|
309
|
-
- `options` **[Object][
|
|
310
|
-
- `options.raw` **[Object][
|
|
230
|
+
- `operand` **([Buffer][8] \| [String][3])** Buffer containing image data or String containing the path to an image file.
|
|
231
|
+
- `operator` **[String][3]** one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively.
|
|
232
|
+
- `options` **[Object][2]?**
|
|
233
|
+
- `options.raw` **[Object][2]?** describes operand when using raw pixel data.
|
|
311
234
|
- `options.raw.width` **[Number][1]?**
|
|
312
235
|
- `options.raw.height` **[Number][1]?**
|
|
313
236
|
- `options.raw.channels` **[Number][1]?**
|
|
314
237
|
|
|
315
238
|
|
|
316
|
-
- Throws **[Error][
|
|
239
|
+
- Throws **[Error][5]** Invalid parameters
|
|
317
240
|
|
|
318
241
|
Returns **Sharp**
|
|
319
242
|
|
|
@@ -327,20 +250,22 @@ Apply the linear formula a \* input + b to the image (levels adjustment)
|
|
|
327
250
|
- `b` **[Number][1]** offset (optional, default `0.0`)
|
|
328
251
|
|
|
329
252
|
|
|
330
|
-
- Throws **[Error][
|
|
253
|
+
- Throws **[Error][5]** Invalid parameters
|
|
331
254
|
|
|
332
255
|
Returns **Sharp**
|
|
333
256
|
|
|
334
257
|
[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
335
258
|
|
|
336
|
-
[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/
|
|
259
|
+
[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
260
|
+
|
|
261
|
+
[3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
337
262
|
|
|
338
|
-
[
|
|
263
|
+
[4]: https://www.npmjs.org/package/color
|
|
339
264
|
|
|
340
|
-
[
|
|
265
|
+
[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error
|
|
341
266
|
|
|
342
|
-
[
|
|
267
|
+
[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
343
268
|
|
|
344
|
-
[
|
|
269
|
+
[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
|
|
345
270
|
|
|
346
|
-
[
|
|
271
|
+
[8]: https://nodejs.org/api/buffer.html
|