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