1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00

adjust docs for Deno.seek (#4610)

This commit is contained in:
dubiousjim 2020-04-03 13:45:44 -04:00 committed by GitHub
parent c0cb198114
commit c5c3abc517
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View file

@ -703,7 +703,8 @@ declare namespace Deno {
export function write(rid: number, data: Uint8Array): Promise<number>; export function write(rid: number, data: Uint8Array): Promise<number>;
/** Synchronously seek a resource ID (`rid`) to the given `offset` under mode /** Synchronously seek a resource ID (`rid`) to the given `offset` under mode
* given by `whence`. The current position within the resource is returned. * given by `whence`. The new position within the resource (bytes from the
* start) is returned.
* *
* const file = Deno.openSync('hello.txt', {read: true, write: true, truncate: true, create: true}); * const file = Deno.openSync('hello.txt', {read: true, write: true, truncate: true, create: true});
* Deno.writeSync(file.rid, new TextEncoder().encode("Hello world")); * Deno.writeSync(file.rid, new TextEncoder().encode("Hello world"));
@ -731,7 +732,7 @@ declare namespace Deno {
): number; ): number;
/** Seek a resource ID (`rid`) to the given `offset` under mode given by `whence`. /** Seek a resource ID (`rid`) to the given `offset` under mode given by `whence`.
* The call resolves to the current position within the resource. * The call resolves to the new position within the resource (bytes from the start).
* *
* const file = await Deno.open('hello.txt', {read: true, write: true, truncate: true, create: true}); * const file = await Deno.open('hello.txt', {read: true, write: true, truncate: true, create: true});
* await Deno.write(file.rid, new TextEncoder().encode("Hello world")); * await Deno.write(file.rid, new TextEncoder().encode("Hello world"));

View file

@ -226,12 +226,14 @@ fn op_seek(
}; };
let mut file = futures::executor::block_on(tokio_file.try_clone())?; let mut file = futures::executor::block_on(tokio_file.try_clone())?;
let is_sync = args.promise_id.is_none();
let fut = async move { let fut = async move {
debug!("op_seek {} {} {}", rid, offset, whence);
let pos = file.seek(seek_from).await?; let pos = file.seek(seek_from).await?;
Ok(json!(pos)) Ok(json!(pos))
}; };
if args.promise_id.is_none() { if is_sync {
let buf = futures::executor::block_on(fut)?; let buf = futures::executor::block_on(fut)?;
Ok(JsonOp::Sync(buf)) Ok(JsonOp::Sync(buf))
} else { } else {