Skip to content

Instantly share code, notes, and snippets.

@lkmill
Last active April 28, 2017 14:13
Show Gist options
  • Save lkmill/ef8b81e05014ef48d7d9341ec979733c to your computer and use it in GitHub Desktop.
Save lkmill/ef8b81e05014ef48d7d9341ec979733c to your computer and use it in GitHub Desktop.

Revisions

  1. lkmill revised this gist Apr 28, 2017. 1 changed file with 6 additions and 4 deletions.
    10 changes: 6 additions & 4 deletions .js
    Original file line number Diff line number Diff line change
    @@ -4,14 +4,16 @@ const _ = require('lodash');

    module.exports = (permissions, requiredPermissions) => {
    if (!_.isPlainObject(requiredPermissions)) {
    throw new TypeError('`requiredPermissions` is not an object')
    throw new TypeError('`requiredPermissions` is not an object');
    } else if (!_.isPlainObject(permissions)) {
    throw new TypeError('`permissions` is not an object')
    throw new TypeError('`permissions` is not an object');
    } else {
    for (const key in requiredPermissions) {
    if (!permissions[key] || permissions[key] & requiredPermissions[key] !== requiredPermissions[key]) return false;
    if (!permissions[key] || permissions[key] & requiredPermissions[key] !== requiredPermissions[key]) {
    return false;
    }
    }

    return true;
    }
    };
    };
  2. lkmill revised this gist Apr 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .js
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@ const _ = require('lodash');
    module.exports = (permissions, requiredPermissions) => {
    if (!_.isPlainObject(requiredPermissions)) {
    throw new TypeError('`requiredPermissions` is not an object')
    } else if (!permissions) {
    } else if (!_.isPlainObject(permissions)) {
    throw new TypeError('`permissions` is not an object')
    } else {
    for (const key in requiredPermissions) {
  3. lkmill created this gist Apr 28, 2017.
    17 changes: 17 additions & 0 deletions .js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    'use strict';

    const _ = require('lodash');

    module.exports = (permissions, requiredPermissions) => {
    if (!_.isPlainObject(requiredPermissions)) {
    throw new TypeError('`requiredPermissions` is not an object')
    } else if (!permissions) {
    throw new TypeError('`permissions` is not an object')
    } else {
    for (const key in requiredPermissions) {
    if (!permissions[key] || permissions[key] & requiredPermissions[key] !== requiredPermissions[key]) return false;
    }

    return true;
    }
    };