datum-focus
Version:
Data shape, model, metadata, JSON, JSON Schema, GraphQL, MongoDB query and aggregations, iterator generators
28 lines (24 loc) • 794 B
text/typescript
import {strict as assert} from 'assert';
import { Enumify } from '../enumify';
class Mode extends Enumify {
static user_r = new Mode(0b100000000);
static user_w = new Mode(0b010000000);
static user_x = new Mode(0b001000000);
static group_r = new Mode(0b000100000);
static group_w = new Mode(0b000010000);
static group_x = new Mode(0b000001000);
static all_r = new Mode(0b000000100);
static all_w = new Mode(0b000000010);
static all_x = new Mode(0b000000001);
static() {
Mode.closeEnum();
}
constructor(public n: any) {
super();
}
}
assert.equal(
Mode.user_r.n | Mode.user_w.n | Mode.user_x.n | Mode.group_r.n | Mode.group_x.n | Mode.all_r.n | Mode.all_x.n,
0o755
);
assert.equal(Mode.user_r.n | Mode.user_w.n | Mode.user_x.n | Mode.group_r.n, 0o740);