diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-03-10 00:22:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-10 00:22:15 +0100 |
commit | b7eb241c3569ead990d28b4f4889c2c52fc7894c (patch) | |
tree | f944f3c74741f3b61edae51a796471751ace7b76 /cli/js/ops/fs/make_temp.ts | |
parent | 2115b38fef654c2d7c5998f40967fcfe39d7c515 (diff) |
reorg: move JS ops implementations to cli/js/ops/, part 3 (#4302)
Following JS ops were moved to separate files in cli/js/ops directory:
- net
- tls
- fs
Diffstat (limited to 'cli/js/ops/fs/make_temp.ts')
-rw-r--r-- | cli/js/ops/fs/make_temp.ts | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/cli/js/ops/fs/make_temp.ts b/cli/js/ops/fs/make_temp.ts new file mode 100644 index 000000000..1fbff41d0 --- /dev/null +++ b/cli/js/ops/fs/make_temp.ts @@ -0,0 +1,90 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. +import { sendSync, sendAsync } from "../dispatch_json.ts"; + +export interface MakeTempOptions { + /** Directory where the temporary directory should be created (defaults to + * the env variable TMPDIR, or the system's default, usually /tmp). */ + dir?: string; + /** String that should precede the random portion of the temporary + * directory's name. */ + prefix?: string; + /** String that should follow the random portion of the temporary + * directory's name. */ + suffix?: string; +} + +/** Synchronously creates a new temporary directory in the directory `dir`, + * its name beginning with `prefix` and ending with `suffix`. + * + * It returns the full path to the newly created directory. + * + * If `dir` is unspecified, uses the default directory for temporary files. + * Multiple programs calling this function simultaneously will create different + * directories. It is the caller's responsibility to remove the directory when + * no longer needed. + * + * const tempDirName0 = Deno.makeTempDirSync(); + * const tempDirName1 = Deno.makeTempDirSync({ prefix: 'my_temp' }); + * + * Requires `allow-write` permission. */ +export function makeTempDirSync(options: MakeTempOptions = {}): string { + return sendSync("op_make_temp_dir", options); +} + +/** Creates a new temporary directory in the directory `dir`, its name + * beginning with `prefix` and ending with `suffix`. + * + * It resolves to the full path to the newly created directory. + * + * If `dir` is unspecified, uses the default directory for temporary files. + * Multiple programs calling this function simultaneously will create different + * directories. It is the caller's responsibility to remove the directory when + * no longer needed. + * + * const tempDirName0 = await Deno.makeTempDir(); + * const tempDirName1 = await Deno.makeTempDir({ prefix: 'my_temp' }); + * + * Requires `allow-write` permission. */ +export async function makeTempDir( + options: MakeTempOptions = {} +): Promise<string> { + return await sendAsync("op_make_temp_dir", options); +} + +/** Synchronously creates a new temporary file in the directory `dir`, its name + * beginning with `prefix` and ending with `suffix`. + * + * It returns the full path to the newly created file. + * + * If `dir` is unspecified, uses the default directory for temporary files. + * Multiple programs calling this function simultaneously will create different + * files. It is the caller's responsibility to remove the file when + * no longer needed. + * + * const tempFileName0 = Deno.makeTempFileSync(); + * const tempFileName1 = Deno.makeTempFileSync({ prefix: 'my_temp' }); + * + * Requires `allow-write` permission. */ +export function makeTempFileSync(options: MakeTempOptions = {}): string { + return sendSync("op_make_temp_file", options); +} + +/** Creates a new temporary file in the directory `dir`, its name + * beginning with `prefix` and ending with `suffix`. + * + * It resolves to the full path to the newly created file. + * + * If `dir` is unspecified, uses the default directory for temporary files. + * Multiple programs calling this function simultaneously will create different + * files. It is the caller's responsibility to remove the file when + * no longer needed. + * + * const tempFileName0 = await Deno.makeTempFile(); + * const tempFileName1 = await Deno.makeTempFile({ prefix: 'my_temp' }); + * + * Requires `allow-write` permission. */ +export async function makeTempFile( + options: MakeTempOptions = {} +): Promise<string> { + return await sendAsync("op_make_temp_file", options); +} |