Skip to content

Commit 6ba05ed

Browse files
authored
Update README.md (#307)
1 parent 46a7bba commit 6ba05ed

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

README.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,14 +334,20 @@ const data = await FileAttachment("cars.tsv").tsv();
334334

335335
If <i>array</i> is true, an array of arrays is returned; otherwise, the first row is assumed to be the header row and an array of objects is returned, and the returned array has a <i>data</i>.columns property that is an array of column names. (See <a href="https://github.com/d3/d3-dsv/blob/main/README.md#dsv_parseRows">d3.tsvParseRows</a>.) If <i>typed</i> is true, [automatic type inference](https://observablehq.com/@d3/d3-autotype) is applied; only use this feature if you know your data is compatible.
336336

337-
<a href="#attachment_image" name="attachment_image">#</a> *attachment*.<b>image</b>() [<>](https://github.com/observablehq/stdlib/blob/main/src/fileAttachment.mjs "Source")
337+
<a href="#attachment_image" name="attachment_image">#</a> *attachment*.<b>image</b>(<i>options</i>) [<>](https://github.com/observablehq/stdlib/blob/main/src/fileAttachment.mjs "Source")
338338

339339
Returns a promise to a file loaded as an [Image](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image). The promise resolves when the image has finished loading, making this useful for reading the image pixels in Canvas, or for loading the image into a WebGL texture. Consider [*attachment*.url](#attachment_url) if you want to embed an image in HTML or Markdown.
340340

341341
```js
342342
const image = await FileAttachment("sunset.jpg").image();
343343
```
344344

345+
If desired, additional image properties can be passed in as *options*.
346+
347+
```js
348+
const image = await FileAttachment("sunset.jpg").image({width: 400, height: 400});
349+
```
350+
345351
<a href="#attachment_arrayBuffer" name="attachment_arrayBuffer">#</a> *attachment*.<b>arrayBuffer</b>() [<>](https://github.com/observablehq/stdlib/blob/main/src/fileAttachment.mjs "Source")
346352

347353
Returns a promise to the file’s contents as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer).
@@ -404,12 +410,40 @@ Returns a promise to an [HTMLDocument](https://developer.mozilla.org/en-US/docs/
404410
const document = await FileAttachment("index.html").html();
405411
```
406412

413+
<a href="#attachment_zip" name="attachment_zip">#</a> *attachment*.<b>zip</b>() [<>](https://github.com/observablehq/stdlib/blob/main/src/fileAttachment.mjs "Source")
414+
415+
Returns a promise to a [ZipArchive](#zip-archives) containing the contents of the file.
416+
417+
```js
418+
const archive = await FileAttachment("archive.zip").zip();
419+
```
420+
407421
<a href="#FileAttachments" name="FileAttachments">#</a> <b>FileAttachments</b>(<i>resolve</i>) [<>](https://github.com/observablehq/stdlib/blob/main/src/fileAttachment.mjs "Source")
408422

409423
*Note: this function is not part of the Observable standard library (in notebooks), but is provided by this module as a means for defining custom file attachment implementations when working directly with the Observable runtime.*
410424

411425
Returns a [*FileAttachment*](#FileAttachment) function given the specified *resolve* function. The *resolve* function is a function that takes a *name* and returns either an object {url, mimeType} representing the requested file if it exists, or null if the file does not exist. The url field (though not the object itself!) may be represented as a Promise if the URL is not yet known, such as for a file that is currently being uploaded. The mimeType must be a string, or undefined if the mime type is not known. For backwards compatibility, the *resolve* function may instead return just a URL, either a string or a promise.
412426

427+
#### Zip archives
428+
429+
<a href="#ZipArchive_filenames" name="ZipArchive_filenames">#</a> *archive*.<b>filenames</b> [<>](https://github.com/observablehq/stdlib/blob/main/src/fileAttachment.mjs "Source")
430+
431+
Returns an array of paths representing the files contained within the archive.
432+
433+
```js
434+
const archive = await FileAttachment("archive.zip").zip();
435+
console.log(archive.filenames);
436+
```
437+
438+
<a href="#ZipArchive_file" name="ZipArchive_file">#</a> *archive*.<b>file</b>(<i>path</i>) [<>](https://github.com/observablehq/stdlib/blob/main/src/fileAttachment.mjs "Source")
439+
440+
Returns a [file attachment](#file-attachments) for the file with the specified *path*. One of the file attachment methods can then be called to access the contents of the file. For example, to read a text file, use [*attachment*.text](#attachment_text).
441+
442+
```js
443+
const archive = await FileAttachment("archive.zip").zip();
444+
const text = await archive.file("readme.txt").text();
445+
```
446+
413447
### Generators
414448

415449
<a href="#Generators_disposable" name="Generators_disposable">#</a> Generators.<b>disposable</b>(<i>value</i>, <i>dispose</i>) [<>](https://github.com/observablehq/stdlib/blob/main/src/generators/disposable.mjs "Source")

0 commit comments

Comments
 (0)