UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

2 lines (1 loc) 1.1 kB
import{__esDecorate as l,__runInitializers as s}from"tslib";import{observable as a,runInAction as c}from"mobx";let u=(()=>{let i,t=[],r=[];return class{static{const e=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;i=[a],l(null,null,i,{kind:"field",name:"engine",static:!1,private:!1,access:{has:n=>"engine"in n,get:n=>n.engine,set:(n,o)=>{n.engine=o}},metadata:e},t,r),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}keys;engine=s(this,t,void 0);enginePromise=(s(this,r),null);lastCollection=null;constructor(e){this.keys=e}loadEngine(){return this.enginePromise||(this.enginePromise=this.buildEngine()),this.enginePromise}async buildEngine(){try{const{default:e}=await import("fuse.js");c(()=>{this.engine=new e([],{keys:this.keys,ignoreFieldNorm:!0,includeScore:!0,threshold:.3,ignoreLocation:!0})})}catch(e){console.error(e),this.enginePromise=null}}search(e,n){return!this.engine||!e?.length||!n?[]:(this.lastCollection!==e&&(this.engine.setCollection(e),this.lastCollection=e),this.engine.search(n))}}})();export default u;