mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-12 04:50:18 +00:00
[stat-mode] add typings (#18907)
This commit is contained in:
committed by
Mohamed Hegazy
parent
3b62816f0e
commit
6bfa5328c8
Vendored
+33
@@ -0,0 +1,33 @@
|
||||
// Type definitions for stat-mode 0.2
|
||||
// Project: https://github.com/TooTallNate/stat-mode
|
||||
// Definitions by: BendingBender <https://github.com/BendingBender>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
export = Mode;
|
||||
|
||||
declare class Mode {
|
||||
owner: Mode.Permissions;
|
||||
group: Mode.Permissions;
|
||||
others: Mode.Permissions;
|
||||
setuid: boolean;
|
||||
setgid: boolean;
|
||||
sticky: boolean;
|
||||
constructor(stat: {mode: number});
|
||||
isBlockDevice(isBlockDevice?: boolean): boolean;
|
||||
isCharacterDevice(isCharacterDevice?: boolean): boolean;
|
||||
isDirectory(isDirectory?: boolean): boolean;
|
||||
isFIFO(isFIFO?: boolean): boolean;
|
||||
isFile(isFile?: boolean): boolean;
|
||||
isSocket(isSocket?: boolean): boolean;
|
||||
isSymbolicLink(isSymbolicLink?: boolean): boolean;
|
||||
valueOf(): number;
|
||||
toOctal(): string;
|
||||
}
|
||||
|
||||
declare namespace Mode {
|
||||
interface Permissions {
|
||||
read: boolean;
|
||||
write: boolean;
|
||||
execute: boolean;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
/// <reference types="node" />
|
||||
|
||||
import fs = require('fs');
|
||||
import Mode = require('stat-mode');
|
||||
|
||||
fs.stat('/bin/echo', (err, stat) => {
|
||||
if (err) throw err;
|
||||
|
||||
const mode = new Mode(stat);
|
||||
// $ExpectType Mode
|
||||
mode;
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.isDirectory();
|
||||
mode.isDirectory(false);
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.isFIFO();
|
||||
mode.isFIFO(false);
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.isFile();
|
||||
mode.isFile(false);
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.isBlockDevice();
|
||||
mode.isBlockDevice(false);
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.isCharacterDevice();
|
||||
mode.isCharacterDevice(false);
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.isSocket();
|
||||
mode.isSocket(false);
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.isSymbolicLink();
|
||||
mode.isSymbolicLink(false);
|
||||
|
||||
// $ExpectType Permissions
|
||||
mode.owner;
|
||||
// $ExpectType boolean
|
||||
mode.owner.read;
|
||||
// $ExpectType boolean
|
||||
mode.owner.write;
|
||||
// $ExpectType boolean
|
||||
mode.owner.execute;
|
||||
|
||||
// $ExpectType Permissions
|
||||
mode.group;
|
||||
// $ExpectType boolean
|
||||
mode.group.read;
|
||||
// $ExpectType boolean
|
||||
mode.group.write;
|
||||
// $ExpectType boolean
|
||||
mode.group.execute;
|
||||
|
||||
// $ExpectType Permissions
|
||||
mode.others;
|
||||
// $ExpectType boolean
|
||||
mode.others.read;
|
||||
// $ExpectType boolean
|
||||
mode.others.write;
|
||||
// $ExpectType boolean
|
||||
mode.others.execute;
|
||||
|
||||
// $ExpectType boolean
|
||||
mode.setuid;
|
||||
// $ExpectType boolean
|
||||
mode.setgid;
|
||||
// $ExpectType boolean
|
||||
mode.sticky;
|
||||
|
||||
// $ExpectType number
|
||||
mode.valueOf();
|
||||
mode.toString();
|
||||
// $ExpectType string
|
||||
mode.toOctal();
|
||||
});
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"stat-mode-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user