1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-23 23:59:59 -05:00

feat(std/node): add os.tmpdir() implementation (#4213)

This commit is contained in:
ecyrbe 2020-03-02 01:05:04 +01:00 committed by GitHub
parent ad21210edd
commit 2a594bd3b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 38 additions and 11 deletions

View file

@ -116,6 +116,7 @@ declare namespace Deno {
| "picture"
| "public"
| "template"
| "tmp"
| "video";
// TODO(ry) markdown in jsdoc broken https://deno.land/typedoc/index.html#dir
@ -131,7 +132,7 @@ declare namespace Deno {
*
* Argument values: `"home"`, `"cache"`, `"config"`, `"executable"`, `"data"`,
* `"data_local"`, `"audio"`, `"desktop"`, `"document"`, `"download"`,
* `"font"`, `"picture"`, `"public"`, `"template"`, `"video"`
* `"font"`, `"picture"`, `"public"`, `"template"`, `"tmp"`, `"video"`
*
* `"cache"`
*
@ -237,6 +238,14 @@ declare namespace Deno {
* | macOS | | |
* | Windows | `{FOLDERID_Templates}` | C:\Users\Alice\AppData\Roaming\Microsoft\Windows\Templates |
*
* `"tmp"`
*
* |Platform | Value | Example |
* | ------- | ---------------------- | ---------------------------------------------------------- |
* | Linux | `TMPDIR` | /tmp |
* | macOS | `TMPDIR` | /tmp |
* | Windows | `{TMP}` | C:\Users\Alice\AppData\Local\Temp |
*
* `"video"`
*
* |Platform | Value | Example |

View file

@ -88,6 +88,7 @@ type DirKind =
| "picture"
| "public"
| "template"
| "tmp"
| "video";
/**
@ -191,6 +192,14 @@ type DirKind =
* | macOS | | |
* | Windows | `{FOLDERID_Templates}` | C:\Users\Alice\AppData\Roaming\Microsoft\Windows\Templates |
*
* "tmp"
*
* |Platform | Value | Example |
* | ------- | ---------------------- | ---------------------------------------------------------- |
* | Linux | `TMPDIR` | /tmp |
* | macOS | `TMPDIR` | /tmp |
* | Windows | `{TMP}` | C:\Users\Alice\AppData\Local\Temp |
*
* "video"
* |Platform | Value | Example |
* | ------- | ------------------- | --------------------- |

View file

@ -234,6 +234,14 @@ testPerm({ env: true }, function getDir(): void {
{ os: "linux", shouldHaveValue: false }
]
},
{
kind: "tmp",
runtime: [
{ os: "mac", shouldHaveValue: true },
{ os: "win", shouldHaveValue: true },
{ os: "linux", shouldHaveValue: true }
]
},
{
kind: "video",
runtime: [

View file

@ -49,6 +49,7 @@ fn op_get_dir(
"picture" => dirs::picture_dir(),
"public" => dirs::public_dir(),
"template" => dirs::template_dir(),
"tmp" => Some(std::env::temp_dir()),
"video" => dirs::video_dir(),
_ => {
return Err(

View file

@ -180,9 +180,9 @@ export function setPriority(pid: number, priority?: number): void {
notImplemented(SEE_GITHUB_ISSUE);
}
/** Not yet implemented */
export function tmpdir(): string {
notImplemented(SEE_GITHUB_ISSUE);
/** Returns the operating system's default directory for temporary files as a string. */
export function tmpdir(): string | null {
return Deno.dir("tmp");
}
/** Not yet implemented */

View file

@ -16,6 +16,13 @@ test({
}
});
test({
name: "tmp directory is a string",
fn() {
assertEquals(typeof os.tmpdir(), "string");
}
});
test({
name: "hostname is a string",
fn() {
@ -230,13 +237,6 @@ test({
Error,
"Not implemented"
);
assertThrows(
() => {
os.tmpdir();
},
Error,
"Not implemented"
);
assertThrows(
() => {
os.totalmem();