UNPKG

@merncloud/permission-resolver

Version:

Reusable RBAC + ABAC permission resolver for Node.js

27 lines (26 loc) 819 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.evaluateCondition = evaluateCondition; const json_logic_js_1 = __importDefault(require("json-logic-js")); function evaluateCondition(condition, subject, resource) { const context = { subject: { ...subject, attributes: subject.attributes || {}, }, resource: { ...resource, attributes: resource.attributes || {}, }, }; try { return json_logic_js_1.default.apply(condition, context); } catch (err) { console.error("Condition evaluation failed:", err); return false; } }