react-code-compare
Version:
A simple and fast text diff viewer component
2 lines (1 loc) • 1.33 kB
JavaScript
var i=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var k=(e,t)=>{for(var o in t)i(e,o,{get:t[o],enumerable:!0})},h=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of R(t))!S.call(e,a)&&a!==o&&i(e,a,{get:()=>t[a],enumerable:!(n=D(t,a))||n.enumerable});return e};var w=e=>h(i({},"__esModule",{value:!0}),e);var E={};k(E,{CodeCompare:()=>A,CodeCompareContext:()=>s,useCodeCompare:()=>B});module.exports=w(E);var r=require("react"),p=require("react/jsx-runtime");function l(e,t){return e?Array.isArray(e)?e.some(o=>l(o.value,t)):e.trim().includes(t):!1}var s=(0,r.createContext)(null);function A({children:e}){let[t,o]=(0,r.useState)([]),[n,a]=(0,r.useState)([]),[f,C]=(0,r.useState)(void 0),x=()=>t.length>0?(o([]),!0):!1,v=d=>n.findIndex(u=>{if(u.type==="skipped")return!1;let{left:c,right:m}=u.data.line;return!!(c&&l(c.value,d)||m&&l(m.value,d))});return(0,p.jsx)(s.Provider,{value:{resetCodeBlocks:x,getIndex:v,expandedBlocks:t,virtualizer:f,items:n,setExpandedBlocks:o,setVirtualizer:C,setItems:a},children:e})}function B(){let e=(0,r.useContext)(s);if(e===void 0)throw new Error("useCodeCompare must be used within a CodeCompareProvider");return e}0&&(module.exports={CodeCompare,CodeCompareContext,useCodeCompare});