diff options
author | dubiousjim <dubiousjim@gmail.com> | 2020-03-07 22:29:12 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-07 22:29:12 -0500 |
commit | 0dd131d4a512e8e8370b571d6801eabb4cb30e58 (patch) | |
tree | 24471f2f1c33cd6516b0cd1bc8efeb07576b83ad /cli/js | |
parent | 8d1ba3552fbbcae9284fdab63cc6613045684d01 (diff) |
Rename perm to mode (#4276)
There's a lot of variation in doc comments and internal code about
whether chmod/0o777-style permissions are called `mode` or `perm`. (For
example, mkdir and writeFile choose differently.)
Had proposed earlier to go consistently with `perm`, but on balance devs
prefer to go with `mode`.
Diffstat (limited to 'cli/js')
-rw-r--r-- | cli/js/chmod_test.ts | 8 | ||||
-rw-r--r-- | cli/js/copy_file_test.ts | 2 | ||||
-rw-r--r-- | cli/js/file_info.ts | 7 | ||||
-rw-r--r-- | cli/js/lib.deno.ns.d.ts | 4 | ||||
-rw-r--r-- | cli/js/metrics_test.ts | 4 | ||||
-rw-r--r-- | cli/js/remove_test.ts | 12 | ||||
-rw-r--r-- | cli/js/stat_test.ts | 4 | ||||
-rw-r--r-- | cli/js/tls_test.ts | 4 | ||||
-rw-r--r-- | cli/js/utime_test.ts | 4 | ||||
-rw-r--r-- | cli/js/write_file.ts | 10 | ||||
-rw-r--r-- | cli/js/write_file_test.ts | 12 |
11 files changed, 36 insertions, 35 deletions
diff --git a/cli/js/chmod_test.ts b/cli/js/chmod_test.ts index 9edc7afee..8731fad22 100644 --- a/cli/js/chmod_test.ts +++ b/cli/js/chmod_test.ts @@ -10,7 +10,7 @@ unitTest( const data = enc.encode("Hello"); const tempDir = Deno.makeTempDirSync(); const filename = tempDir + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); // On windows no effect, but should not crash Deno.chmodSync(filename, 0o777); @@ -36,7 +36,7 @@ unitTest( const tempDir = Deno.makeTempDirSync(); const filename = tempDir + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const symlinkName = tempDir + "/test_symlink.txt"; Deno.symlinkSync(filename, symlinkName); @@ -85,7 +85,7 @@ unitTest( const data = enc.encode("Hello"); const tempDir = Deno.makeTempDirSync(); const filename = tempDir + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); // On windows no effect, but should not crash await Deno.chmod(filename, 0o777); @@ -112,7 +112,7 @@ unitTest( const tempDir = Deno.makeTempDirSync(); const filename = tempDir + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const symlinkName = tempDir + "/test_symlink.txt"; Deno.symlinkSync(filename, symlinkName); diff --git a/cli/js/copy_file_test.ts b/cli/js/copy_file_test.ts index 39e1c0256..986bab53b 100644 --- a/cli/js/copy_file_test.ts +++ b/cli/js/copy_file_test.ts @@ -10,7 +10,7 @@ function readFileString(filename: string): string { function writeFileString(filename: string, s: string): void { const enc = new TextEncoder(); const data = enc.encode(s); - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); } function assertSameContent(filename1: string, filename2: string): void { diff --git a/cli/js/file_info.ts b/cli/js/file_info.ts index 71ecbee89..5e4da2a77 100644 --- a/cli/js/file_info.ts +++ b/cli/js/file_info.ts @@ -30,9 +30,10 @@ export interface FileInfo { * * _Linux/Mac OS only._ */ ino: number | null; - /** The underlying raw st_mode bits that contain the standard Unix permissions - * for this file/directory. TODO Match behavior with Go on windows for mode. - */ + /** **UNSTABLE**: Match behavior with Go on windows for `mode`. + * + * The underlying raw `st_mode` bits that contain the standard Unix + * permissions for this file/directory. */ mode: number | null; /** Number of hard links pointing to this file. * diff --git a/cli/js/lib.deno.ns.d.ts b/cli/js/lib.deno.ns.d.ts index 2acf62874..8eb2e1f4d 100644 --- a/cli/js/lib.deno.ns.d.ts +++ b/cli/js/lib.deno.ns.d.ts @@ -1023,7 +1023,7 @@ declare namespace Deno { ino: number | null; /** **UNSTABLE**: Match behavior with Go on Windows for `mode`. * - * The underlying raw `st_mod`e bits that contain the standard Linux/Mac OS + * The underlying raw `st_mode` bits that contain the standard Unix * permissions for this file/directory. */ mode: number | null; /** Number of hard links pointing to this file. @@ -1233,7 +1233,7 @@ declare namespace Deno { * exist at the specified path (defaults to `true`). */ create?: boolean; /** Permissions always applied to file. */ - perm?: number; + mode?: number; } /** Synchronously write data to the given path, by default creating a new diff --git a/cli/js/metrics_test.ts b/cli/js/metrics_test.ts index 5433fc921..9b7d83887 100644 --- a/cli/js/metrics_test.ts +++ b/cli/js/metrics_test.ts @@ -34,7 +34,7 @@ unitTest( const filename = Deno.makeTempDirSync() + "/test.txt"; const data = new Uint8Array([41, 42, 43]); - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const metrics = Deno.metrics(); assert(metrics.opsDispatched === metrics.opsCompleted); @@ -48,7 +48,7 @@ unitTest( const filename = Deno.makeTempDirSync() + "/test.txt"; const data = new Uint8Array([41, 42, 43]); - await Deno.writeFile(filename, data, { perm: 0o666 }); + await Deno.writeFile(filename, data, { mode: 0o666 }); const metrics = Deno.metrics(); assert(metrics.opsDispatched === metrics.opsCompleted); diff --git a/cli/js/remove_test.ts b/cli/js/remove_test.ts index 1e7b31ff0..fac5ba303 100644 --- a/cli/js/remove_test.ts +++ b/cli/js/remove_test.ts @@ -31,7 +31,7 @@ unitTest( const enc = new TextEncoder(); const data = enc.encode("Hello"); const filename = Deno.makeTempDirSync() + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const fileInfo = Deno.statSync(filename); assert(fileInfo.isFile()); // check exist first Deno.removeSync(filename); // remove @@ -115,7 +115,7 @@ unitTest( const tempDir = Deno.makeTempDirSync(); const filePath = tempDir + "/test.txt"; const validSymlinkPath = tempDir + "/valid_symlink"; - Deno.writeFileSync(filePath, data, { perm: 0o666 }); + Deno.writeFileSync(filePath, data, { mode: 0o666 }); // TODO(#3832): Remove "Not Implemented" error checking when symlink creation is implemented for Windows let errOnWindows; try { @@ -199,7 +199,7 @@ unitTest( const enc = new TextEncoder(); const data = enc.encode("Hello"); const filename = Deno.makeTempDirSync() + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const fileInfo = Deno.statSync(filename); assert(fileInfo.isFile()); // check exist first Deno.removeSync(filename, { recursive: true }); // remove @@ -268,7 +268,7 @@ unitTest( const enc = new TextEncoder(); const data = enc.encode("Hello"); const filename = Deno.makeTempDirSync() + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const fileInfo = Deno.statSync(filename); assert(fileInfo.isFile()); // check exist first await Deno.remove(filename); // remove @@ -351,7 +351,7 @@ unitTest( const tempDir = Deno.makeTempDirSync(); const filePath = tempDir + "/test.txt"; const validSymlinkPath = tempDir + "/valid_symlink"; - Deno.writeFileSync(filePath, data, { perm: 0o666 }); + Deno.writeFileSync(filePath, data, { mode: 0o666 }); // TODO(#3832): Remove "Not Implemented" error checking when symlink creation is implemented for Windows let errOnWindows; try { @@ -437,7 +437,7 @@ unitTest( const enc = new TextEncoder(); const data = enc.encode("Hello"); const filename = Deno.makeTempDirSync() + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const fileInfo = Deno.statSync(filename); assert(fileInfo.isFile()); // check exist first await Deno.remove(filename, { recursive: true }); // remove diff --git a/cli/js/stat_test.ts b/cli/js/stat_test.ts index e97396c4f..0a33901b7 100644 --- a/cli/js/stat_test.ts +++ b/cli/js/stat_test.ts @@ -190,7 +190,7 @@ unitTest( const data = enc.encode("Hello"); const tempDir = Deno.makeTempDirSync(); const filename = tempDir + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); const s = Deno.statSync(filename); assert(s.dev === null); assert(s.ino === null); @@ -212,7 +212,7 @@ unitTest( const tempDir = Deno.makeTempDirSync(); const filename = tempDir + "/test.txt"; const filename2 = tempDir + "/test2.txt"; - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); // Create a link Deno.linkSync(filename, filename2); const s = Deno.statSync(filename); diff --git a/cli/js/tls_test.ts b/cli/js/tls_test.ts index a60e18507..99900ab57 100644 --- a/cli/js/tls_test.ts +++ b/cli/js/tls_test.ts @@ -105,7 +105,7 @@ unitTest( const testDir = Deno.makeTempDirSync(); const keyFilename = testDir + "/key.pem"; Deno.writeFileSync(keyFilename, new Uint8Array([]), { - perm: 0o666 + mode: 0o666 }); try { @@ -134,7 +134,7 @@ unitTest( const testDir = Deno.makeTempDirSync(); const certFilename = testDir + "/cert.crt"; Deno.writeFileSync(certFilename, new Uint8Array([]), { - perm: 0o666 + mode: 0o666 }); try { diff --git a/cli/js/utime_test.ts b/cli/js/utime_test.ts index 89b60f870..8cd34d39a 100644 --- a/cli/js/utime_test.ts +++ b/cli/js/utime_test.ts @@ -15,7 +15,7 @@ unitTest( const testDir = Deno.makeTempDirSync(); const filename = testDir + "/file.txt"; Deno.writeFileSync(filename, new TextEncoder().encode("hello"), { - perm: 0o666 + mode: 0o666 }); const atime = 1000; @@ -115,7 +115,7 @@ unitTest( const testDir = Deno.makeTempDirSync(); const filename = testDir + "/file.txt"; Deno.writeFileSync(filename, new TextEncoder().encode("hello"), { - perm: 0o666 + mode: 0o666 }); const atime = 1000; diff --git a/cli/js/write_file.ts b/cli/js/write_file.ts index 3986eed78..d57274228 100644 --- a/cli/js/write_file.ts +++ b/cli/js/write_file.ts @@ -13,7 +13,7 @@ export interface WriteFileOptions { * exist at the specified path (defaults to `true`). */ create?: boolean; /** Permissions always applied to file. */ - perm?: number; + mode?: number; } /** Synchronously write data to the given path, by default creating a new @@ -41,8 +41,8 @@ export function writeFileSync( const openMode = !!options.append ? "a" : "w"; const file = openSync(path, openMode); - if (options.perm !== undefined && options.perm !== null) { - chmodSync(path, options.perm); + if (options.mode !== undefined && options.mode !== null) { + chmodSync(path, options.mode); } writeAllSync(file, data); @@ -74,8 +74,8 @@ export async function writeFile( const openMode = !!options.append ? "a" : "w"; const file = await open(path, openMode); - if (options.perm !== undefined && options.perm !== null) { - await chmod(path, options.perm); + if (options.mode !== undefined && options.mode !== null) { + await chmod(path, options.mode); } await writeAll(file, data); diff --git a/cli/js/write_file_test.ts b/cli/js/write_file_test.ts index 692290938..c06c5b330 100644 --- a/cli/js/write_file_test.ts +++ b/cli/js/write_file_test.ts @@ -47,14 +47,14 @@ unitTest({ perms: { write: false } }, function writeFileSyncPerm(): void { unitTest( { perms: { read: true, write: true } }, - function writeFileSyncUpdatePerm(): void { + function writeFileSyncUpdateMode(): void { if (Deno.build.os !== "win") { const enc = new TextEncoder(); const data = enc.encode("Hello"); const filename = Deno.makeTempDirSync() + "/test.txt"; - Deno.writeFileSync(filename, data, { perm: 0o755 }); + Deno.writeFileSync(filename, data, { mode: 0o755 }); assertEquals(Deno.statSync(filename).mode! & 0o777, 0o755); - Deno.writeFileSync(filename, data, { perm: 0o666 }); + Deno.writeFileSync(filename, data, { mode: 0o666 }); assertEquals(Deno.statSync(filename).mode! & 0o777, 0o666); } } @@ -163,14 +163,14 @@ unitTest( unitTest( { perms: { read: true, write: true } }, - async function writeFileUpdatePerm(): Promise<void> { + async function writeFileUpdateMode(): Promise<void> { if (Deno.build.os !== "win") { const enc = new TextEncoder(); const data = enc.encode("Hello"); const filename = Deno.makeTempDirSync() + "/test.txt"; - await Deno.writeFile(filename, data, { perm: 0o755 }); + await Deno.writeFile(filename, data, { mode: 0o755 }); assertEquals(Deno.statSync(filename).mode! & 0o777, 0o755); - await Deno.writeFile(filename, data, { perm: 0o666 }); + await Deno.writeFile(filename, data, { mode: 0o666 }); assertEquals(Deno.statSync(filename).mode! & 0o777, 0o666); } } |