Skip to content

Commit

Permalink
Fix examples
Browse files Browse the repository at this point in the history
  • Loading branch information
ehmicky committed Mar 20, 2019
1 parent b7ea5c0 commit bbfcd8e
Show file tree
Hide file tree
Showing 2 changed files with 190 additions and 100 deletions.
175 changes: 113 additions & 62 deletions docs/API.md
Expand Up @@ -28,10 +28,13 @@ mean "unset permissions". However you can use
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
convert.symbolic('111') // 'a=x'
positive(convert.symbolic('111')) // 'a+x'
convert.octal('o+x') // '+0001'
convert.octal('o=x') // '0001'
console.log(convert.symbolic('111')) // 'a=x'

console.log(positive(convert.symbolic('111'))) // 'a+x'

console.log(convert.octal('o+x')) // '+0001'

console.log(convert.octal('o=x')) // '0001'
```

## type(permission)
Expand All @@ -41,10 +44,13 @@ Returns the `permission`'s [`type`](types.md) or `'invalid'`.
<!-- eslint-disable line-comment-position, no-inline-comments, no-magic-numbers -->

```js
type('1') // 'octal'
type(1) // 'number'
type(0.5) // 'invalid'
type('a+x') // 'symbolic'
console.log(type('1')) // 'octal'

console.log(type(1)) // 'number'

console.log(type(0.5)) // 'invalid'

console.log(type('a+x')) // 'symbolic'
```

## normalize(permission)
Expand All @@ -56,12 +62,16 @@ Throw an exception if `permission` is invalid.
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
normalize('1') // '0001'
normalize('g+x,o+x') // 'go+x'
normalize('d--- --- ---') // '---------'
normalize({ user: { read: undefined, write: true } })
console.log(normalize('1')) // '0001'

console.log(normalize('g+x,o+x')) // 'go+x'

console.log(normalize('d--- --- ---')) // '---------'

console.log(normalize({ user: { read: undefined, write: true } }))
// { user: { write: true } }
normalize('z+x') // Throws an exception

console.log(normalize('z+x')) // Throws an exception
```

## positive(permission)
Expand All @@ -73,11 +83,15 @@ explanation.
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
positive('o+x,o-rw') // 'o+x'
positive('o=x') // 'o+x'
positive('660') // '+0660'
invert('660') // '0117'
invert(positive('660')) // '-0660'
console.log(positive('o+x,o-rw')) // 'o+x'

console.log(positive('o=x')) // 'o+x'

console.log(positive('660')) // '+0660'

console.log(invert('660')) // '0117'

console.log(invert(positive('660'))) // '-0660'
```

## contain(permission, permissions...)
Expand All @@ -89,16 +103,25 @@ Returns `true` or `false` or (on the CLI) use the exit code `0` or `1`.
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
contain('--x--x--x', 'a=x') // `true`
contain('--x--x--x', 'a+x') // `true`
contain('--x--x--x', 'a-x') // `false`
contain('--x--x--x', 'a-w') // `true`
contain('o+x', 'o+x') // `true`
contain('o+x', 'o+x,o+x') // `true`
contain('o+x', 'o=w') // `false`
contain('o+x,o-w', 'o-w,o+x') // `true`
contain('o+x,o-w', 'o-w') // `true`
contain('o+x,o-w', 'o+x', 'o-w') // `true`
console.log(contain('--x--x--x', 'a=x')) // `true`

console.log(contain('--x--x--x', 'a+x')) // `true`

console.log(contain('--x--x--x', 'a-x')) // `false`

console.log(contain('--x--x--x', 'a-w')) // `true`

console.log(contain('o+x', 'o+x')) // `true`

console.log(contain('o+x', 'o+x,o+x')) // `true`

console.log(contain('o+x', 'o=w')) // `false`

console.log(contain('o+x,o-w', 'o-w,o+x')) // `true`

console.log(contain('o+x,o-w', 'o-w')) // `true`

console.log(contain('o+x,o-w', 'o+x', 'o-w')) // `true`
```

## equal(permission, permissions...)
Expand All @@ -110,16 +133,25 @@ Returns `true` or `false` or (on the CLI) use the exit code `0` or `1`.
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
equal('--x--x--x', 'a=x') // `true`
equal('--x--x--x', 'a+x') // `false`
equal('--x--x--x', 'a-x') // `false`
equal('--x--x--x', 'a-w') // `false`
equal('o+x', 'o+x') // `true`
equal('o+x', 'o+x,o+x') // `true`
equal('o+x', 'o=w') // `false`
equal('o+x,o-w', 'o-w,o+x') // `true`
equal('o+x,o-w', 'o-w') // `false`
equal('o+x,o-w', 'o+x', 'o-w') // `false`
console.log(equal('--x--x--x', 'a=x')) // `true`

console.log(equal('--x--x--x', 'a+x')) // `false`

console.log(equal('--x--x--x', 'a-x')) // `false`

console.log(equal('--x--x--x', 'a-w')) // `false`

console.log(equal('o+x', 'o+x')) // `true`

console.log(equal('o+x', 'o+x,o+x')) // `true`

console.log(equal('o+x', 'o=w')) // `false`

console.log(equal('o+x,o-w', 'o-w,o+x')) // `true`

console.log(equal('o+x,o-w', 'o-w')) // `false`

console.log(equal('o+x,o-w', 'o+x', 'o-w')) // `false`
```

## set(permission, permissions...)
Expand All @@ -135,11 +167,15 @@ This can also be used to remove special permissions using
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
set('---------', 'a+x') // '--x--x--x'
set('---------', 'a+x', 'a+r') // 'r-xr-xr-x'
set('--x--x--x', 'o-x') // '--x--x---'
set('a+x', 'a+r') // 'a+rx'
set('4660', 'a-st') // '0660'
console.log(set('---------', 'a+x')) // '--x--x--x'

console.log(set('---------', 'a+x', 'a+r')) // 'r-xr-xr-x'

console.log(set('--x--x--x', 'o-x')) // '--x--x---'

console.log(set('a+x', 'a+r')) // 'a+rx'

console.log(set('4660', 'a-st')) // '0660'
```

## not(permission)
Expand All @@ -152,16 +188,25 @@ setting them.
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
not('u+xs') // 'u-xs'
not('u-xs') // 'u+xs'
not('u=x') // 'u=rws'
not('a=x') // 'ug=rws,o=rwt'
not('rws-ws-w-') // '---r--r-t'
not('0660') // '7117'
not('1660') // '6117'
set('rwxrwxrwx', not('a+x')) // 'rw-rw-rw-'
set('---------', not('a-x')) // '--x--x--x'
set('a+xr', not('a+r')) // 'a+x,a-r'
console.log(not('u+xs')) // 'u-xs'

console.log(not('u-xs')) // 'u+xs'

console.log(not('u=x')) // 'u=rws'

console.log(not('a=x')) // 'ug=rws,o=rwt'

console.log(not('rws-ws-w-')) // '---r--r-t'

console.log(not('0660')) // '7117'

console.log(not('1660')) // '6117'

console.log(set('rwxrwxrwx', not('a+x'))) // 'rw-rw-rw-'

console.log(set('---------', not('a-x'))) // '--x--x--x'

console.log(set('a+xr', not('a+r'))) // 'a+x,a-r'
```

## invert(permission)
Expand All @@ -174,13 +219,19 @@ files will be created with `661` permissions.
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
invert('u+xs') // 'u-x'
invert('u-xs') // 'u+x'
invert('u=x') // 'u+rw,u-x'
invert('a=x') // 'a+rw,a-x'
invert('rws-ws-w-') // '---r--r-x'
invert('0660') // '0117'
invert('1660') // '0117'
console.log(invert('u+xs')) // 'u-x'

console.log(invert('u-xs')) // 'u+x'

console.log(invert('u=x')) // 'u+rw,u-x'

console.log(invert('a=x')) // 'a+rw,a-x'

console.log(invert('rws-ws-w-')) // '---r--r-x'

console.log(invert('0660')) // '0117'

console.log(invert('1660')) // '0117'
```

## min(permissions...)
Expand All @@ -196,7 +247,7 @@ files, e.g. during a directory recursion.
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
min('404', '440', '402') // '0400'
console.log(min('404', '440', '402')) // '0400'
```

## max(permissions...)
Expand All @@ -206,5 +257,5 @@ Inverse of [`min()`](#minpermissions).
<!-- eslint-disable line-comment-position, no-inline-comments -->

```js
max('404', '440', '402') // '0446'
console.log(max('404', '440', '402')) // '0446'
```

0 comments on commit bbfcd8e

Please sign in to comment.