"use strict";var E=Object.create;var c=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var x=(t,e)=>{for(var r in e)c(t,r,{get:e[r],enumerable:!0})},h=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of d(e))!F.call(t,n)&&n!==r&&c(t,n,{get:()=>e[n],enumerable:!(o=T(e,n))||o.enumerable});return t};var V=(t,e,r)=>(r=t!=null?E(w(t)):{},h(e||!t||!t.__esModule?c(r,"default",{value:t,enumerable:!0}):r,t)),N=t=>h(c({},"__esModule",{value:!0}),t);var B={};x(B,{compareFunctions:()=>b,default:()=>v,generateTruthTable:()=>j});module.exports=N(B);var l=V(require("bin-perm-gen"),1);function f(t){return(t.toString().match(/\(([^)]*)\)/)?.[1]||"").split(",").map(r=>r.trim()).filter(Boolean)}function b(t,e){if(typeof t!="function")throw new Error("Argument funcA must be a function, received "+typeof t);if(typeof e!="function")throw new Error("Argument funcB must be a function, received "+typeof e);if(t.length!==e.length)throw new Error("Both functions must have the same number of parameters");let r=f(t),o=f(e),n=[],m=(0,l.default)(t.length);for(let a of m){let i=t(...a),s=e(...a),g=Object.fromEntries(r.map((u,p)=>[u,a[p]])),y=Object.fromEntries(o.map((u,p)=>[u,a[p]]));i!==s&&n.push([{...g,result:i},{...y,result:s}])}return{isEqual:n.length===0,differences:n}}function j(t){let e=(0,l.default)(t.length),r=f(t),o=[];for(let n of e){let m=t(...n),a=Object.fromEntries(r.map((i,s)=>[i,n[s]]));o.push({...a,result:m})}return o}var v=b;0&&(module.exports={compareFunctions,generateTruthTable}); //# sourceMappingURL=index.cjs.map