Expose runtime format availability

Aids addition of new format/method combos

Dogfood this in the test code
This commit is contained in:
Lovell Fuller
2015-02-26 19:41:33 +00:00
parent 1565522ecc
commit c7ccf6801d
7 changed files with 174 additions and 43 deletions

View File

@@ -218,8 +218,42 @@ sharp(inputBuffer)
});
```
```javascript
// Runtime discovery of available formats
console.dir(sharp.format);
```
## API
### Attributes
#### format
An Object containing nested boolean values
representing the available input and output formats/methods,
for example:
```json
{ jpeg: { id: 'jpeg',
input: { file: true, buffer: true, stream: true },
output: { file: true, buffer: true, stream: true } },
png: { id: 'png',
input: { file: true, buffer: true, stream: true },
output: { file: true, buffer: true, stream: true } },
webp: { id: 'webp',
input: { file: true, buffer: true, stream: true },
output: { file: true, buffer: true, stream: true } },
tiff: { id: 'tiff',
input: { file: true, buffer: true, stream: true },
output: { file: true, buffer: false, stream: false } },
magick: { id: 'magick',
input: { file: true, buffer: true, stream: true },
output: { file: false, buffer: false, stream: false } },
raw: { id: 'raw',
input: { file: false, buffer: false, stream: false },
output: { file: false, buffer: true, stream: true } } }
```
### Input methods
#### sharp([input])
@@ -235,7 +269,7 @@ JPEG, PNG, WebP, GIF* or TIFF format image data can be streamed into the object
JPEG, PNG or WebP format image data can be streamed out from this object.
\* GIF support requires libvips 8.0.0+.
\* libvips 8.0.0+ is required for Buffer/Stream input of GIF and other `magick` formats.
#### metadata([callback])