fast-json-query
Version:
A lightweight and efficient JSON querying utility for filtering and searching data
3 lines (2 loc) • 910 B
JavaScript
import{useMemo as e,useState as r,useEffect as t}from"react";import n from"../index";function o(r,t,o={}){return e((()=>{try{return Array.isArray(r)&&t&&"object"==typeof t?n(r,t,{caseSensitive:o.caseSensitive}):[]}catch(e){return console.error("Error in useJsonQuery:",e),[]}}),[r,t,o.caseSensitive])}function i(o,i,s={}){var c;const[u,a]=r(i),[y,v]=r(!1),f=null!==(c=s.delay)&&void 0!==c?c:300;t((()=>{if(!Array.isArray(o)||!i||"object"!=typeof i)return v(!1),void a(i);v(!0);const e=setTimeout((()=>{a(i),v(!1)}),f);return()=>clearTimeout(e)}),[o,i,f]);const l=e((()=>{try{return Array.isArray(o)&&u&&"object"==typeof u?n(o,u,{caseSensitive:s.caseSensitive}):[]}catch(e){return console.error("Error in useDebounceQuery:",e),[]}}),[o,u,s.caseSensitive]);return u===i?{results:l,isDebouncing:!1}:{results:l,isDebouncing:y}}export{i as useDebounceQuery,o as useJsonQuery};
//# sourceMappingURL=index.esm.js.map