UNPKG

@feltmaps/js-sdk

Version:

An SDK for Felt maps

2 lines (1 loc) 6.6 kB
"use strict";var v=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var pe=Object.prototype.hasOwnProperty;var me=(t,r)=>{for(var f in r)v(t,f,{get:r[f],enumerable:!0})},ce=(t,r,f,M)=>{if(r&&typeof r=="object"||typeof r=="function")for(let g of le(r))!pe.call(t,g)&&g!==f&&v(t,g,{get:()=>r[g],enumerable:!(M=ie(r,g))||M.enumerable});return t};var ye=t=>ce(v({},"__esModule",{value:!0}),t);var lt={};me(lt,{createMessageHandler:()=>tt});module.exports=ye(lt);var i=require("zod");var u=require("zod");var c=require("zod");function e(t,r){return c.z.strictObject({type:c.z.literal(t),params:r})}function h(t,r){return c.z.strictObject({eventName:c.z.literal(t),id:c.z.string(),options:r})}function y(t){return c.z.strictObject({eventName:c.z.literal(t),id:c.z.string()})}var p=require("zod"),V=p.z.number(),P=p.z.number(),x=p.z.object({latitude:P,longitude:V}),k=p.z.number().min(1).max(23),C=p.z.tuple([V,P,V,P]),G=p.z.object({show:p.z.array(p.z.string()).optional(),hide:p.z.array(p.z.string()).optional()});var S=require("zod"),N=S.z.object({ids:S.z.array(S.z.string()).optional()}),R=S.z.object({ids:S.z.array(S.z.string()).optional()});var de=e("getElement",u.z.string()),ge=e("getElementGeometry",u.z.string()),ue=e("getElements",N.optional()),fe=e("getElementGroup",u.z.string()),he=e("getElementGroups",R.optional()),Se=e("setElementGroupVisibility",G),Me=h("onElementChange",u.z.object({id:u.z.string()})),Le=h("onElementGroupChange",u.z.object({id:u.z.string()})),U={methods:[de,ge,ue,fe,he,Se],listeners:[Me,Le]};var be=y("onPointerClick"),Ge=y("onPointerMove"),B={methods:null,listeners:[be,Ge]};var s=require("zod");var o=require("zod"),Ie=o.z.enum(["in","ni"]),xe=o.z.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),Lt=o.z.enum(["and","or"]),Z=o.z.union([o.z.number(),o.z.string(),o.z.boolean(),o.z.null()]),A=o.z.string().or(o.z.null()),Ce=o.z.tuple([A,Ie,o.z.array(Z).or(o.z.null())]),Fe=o.z.tuple([A,xe,Z]),w=o.z.union([Ce,Fe]),O=o.z.tuple([o.z.lazy(()=>o.z.union([O,w,o.z.null(),o.z.boolean()])),o.z.enum(["and","or"]),o.z.lazy(()=>o.z.union([O,w,o.z.null(),o.z.boolean()]))]),q=o.z.union([O,w,o.z.null(),o.z.boolean()]);var n=require("zod");var It=n.z.enum(["processing","completed","failed","incomplete"]),H=n.z.object({ids:n.z.array(n.z.string()).optional()}),_=n.z.object({ids:n.z.array(n.z.string()).optional()}),L=n.z.object({id:n.z.string(),layerId:n.z.string()}),W=n.z.object({ids:L.array().optional(),layerIds:n.z.string().array().optional()}),Q=n.z.object({layerIds:n.z.array(n.z.string()).optional(),areaQuery:n.z.union([n.z.object({coordinates:x}),n.z.object({boundary:C})]).optional()});var Ee=e("getLayer",s.z.string()),ze=e("getLayers",H.optional()),ve=e("setLayerVisibility",G),Ve=h("onLayerChange",s.z.object({id:s.z.string()})),Pe=e("setLayerStyle",s.z.object({id:s.z.string(),style:s.z.object({}).passthrough()})),we=e("getLayerGroup",s.z.string()),Oe=e("getLayerGroups",_.optional()),Te=e("setLayerGroupVisibility",G),je=h("onLayerGroupChange",s.z.object({id:s.z.string()})),ke=e("getLegendItem",L),Ne=e("getLegendItems",W.optional()),Re=h("onLegendItemChange",L),Ue=e("setLegendItemVisibility",s.z.object({show:L.array().optional(),hide:L.array().optional()})),Be=e("getLayerFilters",s.z.string()),Ze=e("setLayerFilters",s.z.object({layerId:s.z.string(),filters:q,note:s.z.string().optional()})),Ae=e("getRenderedFeatures",Q.optional()),D={methods:[Ee,ze,ve,Pe,we,Oe,Te,ke,Ne,Ue,Be,Ze,Ae],listeners:[Ve,je,Re]};var I=require("zod");var d=require("zod"),J=d.z.object({id:d.z.string().or(d.z.number()),layerId:d.z.string(),showPopup:d.z.boolean().optional(),fitViewport:d.z.boolean().or(d.z.object({maxZoom:d.z.number()})).optional()});var qe=e("getSelection",I.z.undefined()),He=y("onSelectionChange"),_e=e("selectFeature",J),We=e("clearSelection",I.z.object({features:I.z.boolean().optional(),elements:I.z.boolean().optional()}).optional()),K={methods:[qe,_e,We],listeners:[He]};var a=require("zod"),X=a.z.object({showLegend:a.z.boolean().optional(),cooperativeGestures:a.z.boolean().optional(),fullScreenButton:a.z.boolean().optional(),geolocation:a.z.boolean().optional(),zoomControls:a.z.boolean().optional(),scaleBar:a.z.boolean().optional()}),Y=a.z.object({featureSelectPanel:a.z.boolean().optional(),featureHoverPanel:a.z.boolean().optional(),elementSelectPanel:a.z.boolean().optional(),linkClickOpen:a.z.boolean().optional(),imageLightboxOpen:a.z.boolean().optional()});var Qe=e("updateUiControls",X),De=e("setOnMapInteractionsUi",Y),$={methods:[Qe,De],listeners:null};var ne=require("zod");var F=require("zod");var ee=F.z.object({center:x,zoom:k}),te=F.z.object({center:ee.shape.center.optional(),zoom:ee.shape.zoom.optional()}),oe=F.z.object({bounds:C});var Je=e("getViewport",ne.z.undefined()),Ke=e("setViewport",te),Xe=e("fitViewportToBounds",oe),Ye=y("onViewportMove"),$e=y("onViewportMoveEnd"),et=y("onMapIdle"),re={methods:[Ke,Je,Xe],listeners:[Ye,$e,et]};var T=[$,re,D,U,K,B];function tt(t,r,f){let M=new Map;async function g(m){if(!it.safeParse(m.data).success){f?.onUnknownMessage?.(m.data);return}let j=ae.safeParse(m.data);if(!j.success){f?.onInvalidMessage?.(m.data);return}let{data:l}=j;if(l.type==="felt.ready")m.ports[0]?.postMessage(!0);else if(l.type==="felt.addListener"){if(l.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let b="options"in l.event?{options:"options"in l.event?l.event.options:void 0,handler:z=>{m.ports[0]?.postMessage(z)}}:{handler:z=>{m.ports[0]?.postMessage(z)}},E=r.listeners[l.event.eventName](b);M.set(l.event.id,E)}else if(l.type==="felt.removeListener")M.get(l.id)?.(),M.delete(l.id);else try{let b=r.methods[l.type],E=await b(l.params);m.ports[0]?.postMessage(E)}catch(b){m.ports[0]?.postMessage({__error__:ot(b)})}}return t.addEventListener("message",g),()=>{t.removeEventListener("message",g)}}function ot(t){return t instanceof Error?t.message:typeof t=="object"&&t!==null&&"message"in t?String(t.message):typeof t=="string"?t:"Unknown error"}var se={methods:T.map(t=>t.methods??[]).flat(),listeners:T.map(t=>t.listeners??[]).flat()},nt=i.z.discriminatedUnion("eventName",[i.z.strictObject({eventName:i.z.literal("")}),...se.listeners]),rt=i.z.strictObject({type:i.z.literal("felt.addListener"),event:nt}),st=i.z.strictObject({type:i.z.literal("felt.removeListener"),id:i.z.string()}),at=i.z.strictObject({type:i.z.literal("felt.ready")}),ae=i.z.discriminatedUnion("type",[at,rt,st,...se.methods]),it=i.z.object({type:i.z.enum(ae.options.map(t=>t.shape.type.value))});0&&(module.exports={createMessageHandler});