@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 703 B
JavaScript
import{__decorate as t}from"tslib";import{observable as r,runInAction as o}from"mobx";export default class n{constructor(e){this.keys=e,this.enginePromise=null,this.lastCollection=null}loadEngine(){return this.enginePromise||(this.enginePromise=this.buildEngine()),this.enginePromise}async buildEngine(){try{const{default:e}=await import("fuse.js");o(()=>{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,i){return!this.engine||!e?.length||!i?[]:(this.lastCollection!==e&&(this.engine.setCollection(e),this.lastCollection=e),this.engine.search(i))}}t([r],n.prototype,"engine",void 0);