New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@cranium/access

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cranium/access - npm Package Compare versions

Comparing version 1.0.57 to 2.0.2

dist/access.d.ts

16

CHANGELOG.md

@@ -6,2 +6,18 @@ # Change Log

## [2.0.2](https://github.com/alexgul4enko/bones/compare/v1.0.57...v2.0.2) (2022-11-24)
**Note:** Version bump only for package @cranium/access
## [2.0.1](https://github.com/alexgul4enko/bones/compare/v1.0.57...v2.0.1) (2022-11-24)
**Note:** Version bump only for package @cranium/access
## [1.0.57](https://github.com/alexgul4enko/bones/compare/v1.0.55...v1.0.57) (2021-03-17)

@@ -8,0 +24,0 @@

107

dist/access.js

@@ -6,36 +6,24 @@ "use strict";

});
exports.AccessProvider = AccessProvider;
exports.composeAccess = composeAccess;
exports.composeAccess = exports.CheckAccess = exports.AccessProvider = void 0;
exports.hasPermission = hasPermission;
exports.useHasAccess = useHasAccess;
exports.usePermissions = usePermissions;
exports.hasPermission = hasPermission;
exports.CheckAccess = CheckAccess;
exports.F_PUBLIC = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = require("react");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _excluded = ["children", "acessLevels"];
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var F_PUBLIC = undefined;
exports.F_PUBLIC = F_PUBLIC;
var AcessContext = (0, _react.createContext)('access');
AccessProvider.propTypes = {
children: _propTypes.default.node.isRequired,
acessLevels: _propTypes.default.func.isRequired
};
function AccessProvider(_ref) {
var AcessContext = (0, _react.createContext)(new Set());
var AccessProvider = function AccessProvider(_ref) {
var children = _ref.children,
acessLevels = _ref.acessLevels,
props = _objectWithoutProperties(_ref, ["children", "acessLevels"]);
acessLevels = _ref.acessLevels,
props = _objectWithoutProperties(_ref, _excluded);
var permissions = (0, _react.useMemo)(function () {
return acessLevels(props);
return typeof acessLevels === 'function' ? acessLevels(props) : new Set();
}, [acessLevels, props]);

@@ -46,41 +34,56 @@ return (0, _jsxRuntime.jsx)(AcessContext.Provider, {

});
}
function composeAccess() {
var calculateLeveles = Array.prototype.slice.call(arguments);
};
exports.AccessProvider = AccessProvider;
var composeAccess = function composeAccess() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return function (props) {
return new Set(calculateLeveles.map(function (rule) {
return rule(props);
}).filter(Boolean));
return new Set(args.reduce(function (res, rule) {
if (typeof rule !== 'function') {
return res;
}
var rules = rule(props);
if (Array.isArray(rules)) {
return [].concat(_toConsumableArray(res), _toConsumableArray(rules));
}
return [].concat(_toConsumableArray(res), [rules]);
}, []).filter(Boolean));
};
}
};
exports.composeAccess = composeAccess;
function usePermissions() {
return (0, _react.useContext)(AcessContext);
}
function hasPermission(levels) {
if (!levels) {
function useHasAccess(access, operator) {
if (!access) {
return true;
}
var userPermissions = (0, _react.useContext)(AcessContext);
return (0, _react.useMemo)(function () {
if (Array.isArray(levels)) {
return levels.some(function (level) {
if (Array.isArray(access)) {
var operation = operator === 'SOME' ? 'some' : 'every';
return access[operation](function (level) {
return userPermissions.has(level);
});
}
return userPermissions.has(levels);
}, [userPermissions, levels]);
return userPermissions.has(access);
}, [userPermissions, access]);
}
function CheckAccess(_ref2) {
var level = _ref2.level,
_ref2$fallback = _ref2.fallback,
fallback = _ref2$fallback === void 0 ? null : _ref2$fallback,
children = _ref2.children;
return hasPermission(level) ? children : fallback;
function hasPermission(access, operator) {
return useHasAccess(access, operator);
}
var CheckAccess = function CheckAccess(_ref2) {
var access = _ref2.access,
operator = _ref2.operator,
_ref2$fallback = _ref2.fallback,
fallback = _ref2$fallback === void 0 ? null : _ref2$fallback,
children = _ref2.children;
return useHasAccess(access, operator) ? (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: children
}) : (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: fallback
});
};
exports.CheckAccess = CheckAccess;
//# sourceMappingURL=access.js.map

@@ -1,17 +0,1 @@

declare module '@cranium/access' {
import { FC, ReactNode } from 'react'
interface CheckAccessProps = {
level: string | Array<string>
fallback?: ReactNode
}
export const composeAccess = <R>(
fn1: (...args: any[]):string,
...fns: Array<(a: R) => R>
)
export const AccessProvider:FC<any>
export const CheckAccess:FC<CheckAccessProps, any>
export function hasPermission(params:string|string[]):boolean
export function usePermissions():Set<string>
}
export * from './access';

@@ -6,40 +6,13 @@ "use strict";

});
Object.defineProperty(exports, "AccessProvider", {
enumerable: true,
get: function get() {
return _access.AccessProvider;
}
var _access = require("./access");
Object.keys(_access).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _access[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _access[key];
}
});
});
Object.defineProperty(exports, "F_PUBLIC", {
enumerable: true,
get: function get() {
return _access.F_PUBLIC;
}
});
Object.defineProperty(exports, "composeAccess", {
enumerable: true,
get: function get() {
return _access.composeAccess;
}
});
Object.defineProperty(exports, "usePermissions", {
enumerable: true,
get: function get() {
return _access.usePermissions;
}
});
Object.defineProperty(exports, "hasPermission", {
enumerable: true,
get: function get() {
return _access.hasPermission;
}
});
Object.defineProperty(exports, "CheckAccess", {
enumerable: true,
get: function get() {
return _access.CheckAccess;
}
});
var _access = require("./access");
//# sourceMappingURL=index.js.map
{
"name": "@cranium/access",
"version": "1.0.57",
"version": "2.0.2",
"description": "React access manager",

@@ -13,2 +13,3 @@ "author": "Sasha <aleksandr.gulchenko@gmail.com>",

"main": "dist/index.js",
"types": "dist/index.d.ts",
"directories": {

@@ -29,3 +30,5 @@ "lib": "lib"

"test": "echo \"Error: run tests from root\" && exit 1",
"build": "BABEL_ENV=build babel lib --out-dir dist --source-maps --copy-files --extensions .js --delete-dir-on-start --config-file ../../babel.config.js --no-comments",
"compile-js": "BABEL_ENV=build babel lib --out-dir dist --source-maps --copy-files --extensions .js,.ts,.tsx --delete-dir-on-start --config-file ../../babel.config.js --no-comments",
"compile-ts": "tsc",
"build": "npm run compile-js && npm run compile-ts",
"prerelease": "yarn build",

@@ -37,9 +40,3 @@ "release": "lerna publish"

},
"peerDependencies": {
"react": "^17.0.1"
},
"devDependencies": {
"prop-types": "^15.7.2"
},
"gitHead": "889f95e9301b3cb7b8faf328ad13aa4370c08aa4"
"gitHead": "90f67aad4839ae4a475bbb32d41d35a543b21257"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc