@feltmaps/js-sdk 1.5.0-next.0 → 1.5.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/handler.js CHANGED
@@ -1 +1 @@
1
- import{z as i}from"zod";import{z as u}from"zod";import{z as c}from"zod";function e(o,f){return c.strictObject({type:c.literal(o),params:f})}function d(o,f){return c.strictObject({eventName:c.literal(o),id:c.string(),options:f})}function m(o){return c.strictObject({eventName:c.literal(o),id:c.string()})}import{z as l}from"zod";var F=l.number(),E=l.number(),M=l.object({latitude:E,longitude:F}),j=l.number().min(1).max(23),b=l.tuple([F,E,F,E]),g=l.object({show:l.array(l.string()).optional(),hide:l.array(l.string()).optional()});import{z as h}from"zod";var k=h.object({ids:h.array(h.string()).optional()}),N=h.object({ids:h.array(h.string()).optional()});var se=e("getElement",u.string()),ae=e("getElementGeometry",u.string()),ie=e("getElements",k.optional()),le=e("getElementGroup",u.string()),pe=e("getElementGroups",N.optional()),me=e("setElementGroupVisibility",g),ce=d("onElementChange",u.object({id:u.string()})),ye=d("onElementGroupChange",u.object({id:u.string()})),R={methods:[se,ae,ie,le,pe,me],listeners:[ce,ye]};var de=m("onPointerClick"),ge=m("onPointerMove"),U={methods:null,listeners:[de,ge]};import{z as r}from"zod";import{z as t}from"zod";var ue=t.enum(["in","ni"]),fe=t.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),ht=t.enum(["and","or"]),B=t.union([t.number(),t.string(),t.boolean(),t.null()]),Z=t.string().or(t.null()),he=t.tuple([Z,ue,t.array(B).or(t.null())]),Le=t.tuple([Z,fe,B]),z=t.union([he,Le]),v=t.tuple([t.lazy(()=>t.union([v,z,t.null(),t.boolean()])),t.enum(["and","or"]),t.lazy(()=>t.union([v,z,t.null(),t.boolean()]))]),A=t.union([v,z,t.null(),t.boolean()]);import{z as n}from"zod";var bt=n.enum(["processing","completed","failed","incomplete"]),q=n.object({ids:n.array(n.string()).optional()}),H=n.object({ids:n.array(n.string()).optional()}),L=n.object({id:n.string(),layerId:n.string()}),_=n.object({ids:L.array().optional(),layerIds:n.string().array().optional()}),W=n.object({layerIds:n.array(n.string()).optional(),areaQuery:n.union([n.object({coordinates:M}),n.object({boundary:b})]).optional()});var Se=e("getLayer",r.string()),Me=e("getLayers",q.optional()),be=e("setLayerVisibility",g),Ge=d("onLayerChange",r.object({id:r.string()})),Ie=e("setLayerStyle",r.object({id:r.string(),style:r.object({}).passthrough()})),xe=e("setLayerLegendVisibility",g),Ce=e("getLayerGroup",r.string()),Fe=e("getLayerGroups",H.optional()),Ee=e("setLayerGroupVisibility",g),ze=e("setLayerGroupLegendVisibility",g),ve=d("onLayerGroupChange",r.object({id:r.string()})),Ve=e("getLegendItem",L),Pe=e("getLegendItems",_.optional()),we=d("onLegendItemChange",L),Oe=e("setLegendItemVisibility",r.object({show:L.array().optional(),hide:L.array().optional()})),Te=e("getLayerFilters",r.string()),je=e("setLayerFilters",r.object({layerId:r.string(),filters:A,note:r.string().optional()})),ke=e("getRenderedFeatures",W.optional()),Q={methods:[Se,Me,be,Ie,xe,Ce,Fe,Ee,ze,Ve,Pe,Oe,Te,je,ke],listeners:[Ge,ve,we]};import{z as G}from"zod";import{z as y}from"zod";var D=y.object({id:y.string().or(y.number()),layerId:y.string(),showPopup:y.boolean().optional(),fitViewport:y.boolean().or(y.object({maxZoom:y.number()})).optional()});var Ne=e("getSelection",G.undefined()),Re=m("onSelectionChange"),Ue=e("selectFeature",D),Be=e("clearSelection",G.object({features:G.boolean().optional(),elements:G.boolean().optional()}).optional()),J={methods:[Ne,Ue,Be],listeners:[Re]};import{z as a}from"zod";var K=a.object({showLegend:a.boolean().optional(),cooperativeGestures:a.boolean().optional(),fullScreenButton:a.boolean().optional(),geolocation:a.boolean().optional(),zoomControls:a.boolean().optional(),scaleBar:a.boolean().optional()}),X=a.object({featureSelectPanel:a.boolean().optional(),featureHoverPanel:a.boolean().optional(),elementSelectPanel:a.boolean().optional(),linkClickOpen:a.boolean().optional(),imageLightboxOpen:a.boolean().optional()});var Ze=e("updateUiControls",K),Ae=e("setOnMapInteractionsUi",X),Y={methods:[Ze,Ae],listeners:null};import{z as qe}from"zod";import{z as V}from"zod";var $=V.object({center:M,zoom:j}),ee=V.object({center:$.shape.center.optional(),zoom:$.shape.zoom.optional()}),te=V.object({bounds:b});var He=e("getViewport",qe.undefined()),_e=e("setViewport",ee),We=e("fitViewportToBounds",te),Qe=m("onViewportMove"),De=m("onViewportMoveEnd"),Je=m("onMapIdle"),oe={methods:[_e,He,We],listeners:[Qe,De,Je]};var P=[Y,oe,Q,R,J,U];function oo(o,f,w){let I=new Map;async function O(p){if(!tt.safeParse(p.data).success){w?.onUnknownMessage?.(p.data);return}let T=re.safeParse(p.data);if(!T.success){w?.onInvalidMessage?.(p.data);return}let{data:s}=T;if(s.type==="felt.ready")p.ports[0]?.postMessage(!0);else if(s.type==="felt.addListener"){if(s.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let S="options"in s.event?{options:"options"in s.event?s.event.options:void 0,handler:C=>{p.ports[0]?.postMessage(C)}}:{handler:C=>{p.ports[0]?.postMessage(C)}},x=f.listeners[s.event.eventName](S);I.set(s.event.id,x)}else if(s.type==="felt.removeListener")I.get(s.id)?.(),I.delete(s.id);else try{let S=f.methods[s.type],x=await S(s.params);p.ports[0]?.postMessage(x)}catch(S){p.ports[0]?.postMessage({__error__:Ke(S)})}}return o.addEventListener("message",O),()=>{o.removeEventListener("message",O)}}function Ke(o){return o instanceof Error?o.message:typeof o=="object"&&o!==null&&"message"in o?String(o.message):typeof o=="string"?o:"Unknown error"}var ne={methods:P.map(o=>o.methods??[]).flat(),listeners:P.map(o=>o.listeners??[]).flat()},Xe=i.discriminatedUnion("eventName",[i.strictObject({eventName:i.literal("")}),...ne.listeners]),Ye=i.strictObject({type:i.literal("felt.addListener"),event:Xe}),$e=i.strictObject({type:i.literal("felt.removeListener"),id:i.string()}),et=i.strictObject({type:i.literal("felt.ready")}),re=i.discriminatedUnion("type",[et,Ye,$e,...ne.methods]),tt=i.object({type:i.enum(re.options.map(o=>o.shape.type.value))});export{oo as createMessageHandler};
1
+ import{z as g}from"zod";import{z as y}from"zod";import{z as M}from"zod";function t(i,T){return M.strictObject({type:M.literal(i),params:T})}function h(i,T){return M.strictObject({eventName:M.literal(i),id:M.string(),options:T})}function l(i){return M.strictObject({eventName:M.literal(i),id:M.string()})}import{z as n}from"zod";var F=n.number(),k=n.number(),w=n.object({latitude:k,longitude:F}),b=n.tuple([F,k]),me=n.object({type:n.literal("Point"),coordinates:b}),ce=n.object({type:n.literal("Polygon"),coordinates:n.array(n.array(b))}),et=n.object({type:n.literal("LineString"),coordinates:n.array(b)}),L=n.object({type:n.literal("MultiLineString"),coordinates:n.array(et.shape.coordinates)}),ge=n.number().min(1).max(23),I=n.tuple([F,k,F,k]),G=n.object({show:n.array(n.string()).optional(),hide:n.array(n.string()).optional()}),tt=n.enum(["asc","desc"]),de=n.object({attribute:n.string(),direction:tt});import{z as e}from"zod";var d=e.object({id:e.string(),groupId:e.string().nullable(),color:e.string(),name:e.union([e.string(),e.null()]),description:e.union([e.string(),e.null()]),attributes:e.record(e.string(),e.unknown()),interaction:e.enum(["default","locked"]).optional()}),v=e.object({imageUrl:e.string().nullable()}),A=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),ot=e.enum(["meter","kilometer","foot","mile"]),ye=d.extend(v.shape).extend({type:e.literal("Place"),coordinates:me.shape.coordinates,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),B=d.extend(v.shape).extend(A.shape).extend({type:e.literal("Path"),coordinates:L.shape.coordinates,distanceMarker:e.boolean(),endCaps:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable()}),D=d.extend(v.shape).extend(A.shape).extend({type:e.literal("Polygon"),coordinates:L.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),ue=d.extend(v.shape).extend(A.shape).extend({type:e.literal("Circle"),coordinates:b,radius:e.number(),radiusDisplayAngle:e.number(),radiusDisplayUnit:ot.nullable(),fillOpacity:e.number().min(0).max(1),radiusMarker:e.boolean()}),Z=d.extend({type:e.literal("Marker"),coordinates:L.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),J=d.extend({type:e.literal("Highlighter"),coordinates:L.shape.coordinates,opacity:e.number().min(0).max(1)}),he=e.object({position:b,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),coordinates:L.shape.coordinates}),fe=e.object({text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),W=d.extend(he.shape).extend(fe.shape).extend({type:e.literal("Text")}),_=d.extend(he.shape).extend(fe.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),Q=d.extend({type:e.literal("Image"),coordinates:L.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),rt=d.extend({type:e.literal("Link"),coordinates:L.shape.coordinates,url:e.string()}),f={type:!0,coordinates:!0},S={id:!0},$=ye.partial().required(f).omit(S),V=B.partial().required(f).omit(S),K=D.partial().required(f).omit(S),X=ue.partial().required(f).required({radius:!0}).omit(S),Y=Z.partial().required(f).omit(S),ee=J.partial().required(f).omit(S),te=W.partial().required(f).required({text:!0}).omit(S).omit({coordinates:!0,name:!0}),oe=_.partial().required(f).required({text:!0}).omit(S).omit({coordinates:!0,name:!0}),nt=Q.partial().required(f).required({imageUrl:!0}).omit(S),Se=e.discriminatedUnion("type",[$,V,K,X,Y,ee,nt,te,oe]);var or=B.omit({coordinates:!0}),rr=D.omit({coordinates:!0});var nr=Z.omit({coordinates:!0}),ar=J.omit({coordinates:!0}),ir=W.omit({coordinates:!0}),sr=_.omit({coordinates:!0}),lr=Q.omit({coordinates:!0}),pr=rt.omit({coordinates:!0}),x={type:!0,id:!0},at=ye.partial().required(x),it=B.partial().required(x),st=D.partial().required(x),lt=ue.partial().required(x),pt=Z.partial().required(x),mt=J.partial().required(x),ct=W.partial().required(x).omit({coordinates:!0,name:!0}),gt=_.partial().required(x).omit({coordinates:!0,name:!0}),dt=Q.partial().required(x),xe=e.discriminatedUnion("type",[at,it,st,lt,pt,mt,ct,gt,dt]),Me=e.object({ids:e.array(e.string()).optional()}),be=e.object({ids:e.array(e.string()).optional()});var yt=t("getElement",y.string()),ut=t("getElementGeometry",y.string()),ht=t("getElements",Me.optional()),ft=t("getElementGroup",y.string()),St=t("getElementGroups",be.optional()),xt=t("setElementGroupVisibility",G),Mt=h("onElementChange",y.object({id:y.string()})),bt=l("onElementCreate"),Lt=l("onElementCreateEnd"),Ct=h("onElementDelete",y.object({id:y.string()})),It=h("onElementGroupChange",y.object({id:y.string()})),Gt=t("createElement",Se),Et=t("updateElement",xe),Tt=t("deleteElement",y.string()),Le={methods:[yt,ut,ht,ft,St,xt,Gt,Et,Tt],listeners:[Mt,bt,Lt,Ct,It]};var zt=l("onPointerClick"),Pt=l("onPointerMove"),Ce={methods:null,listeners:[zt,Pt]};import{z as a}from"zod";import{z as r}from"zod";var Ft=r.enum(["in","ni"]),kt=r.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),xr=r.enum(["and","or"]),Ie=r.union([r.number(),r.string(),r.boolean(),r.null()]),Ge=r.string().or(r.null()),wt=r.tuple([Ge,Ft,r.array(Ie).or(r.null())]),vt=r.tuple([Ge,kt,Ie]),re=r.union([wt,vt]),ne=r.tuple([r.lazy(()=>r.union([ne,re,r.null(),r.boolean()])),r.enum(["and","or"]),r.lazy(()=>r.union([ne,re,r.null(),r.boolean()]))]),E=r.union([ne,re,r.null(),r.boolean()]);import{z as o}from"zod";var Ee=o.enum(["avg","max","min","sum","median"]),Vt=o.object({method:Ee,attribute:o.string()}),Ot=o.object({methods:o.array(o.union([Ee,o.literal("count")])),attribute:o.string().optional()}),O=o.union([I,ce,o.array(b)]),Te=o.object({boundary:O.optional(),filters:E.optional(),aggregation:Vt.optional()}),ze=o.object({layerId:o.string(),attribute:o.string(),limit:o.number().optional(),boundary:O.optional(),filters:E.optional(),values:Te.optional()}),Ir=o.object({key:o.union([o.number(),o.string(),o.boolean()]),value:o.number().nullable()}),Ut=o.object({type:o.literal("equal-intervals"),count:o.number()}),Rt=o.object({type:o.literal("time-interval"),interval:o.enum(["hour","day","week","month","year"])}),Pe=o.object({layerId:o.string(),attribute:o.string(),steps:o.union([Ut,Rt,o.array(o.number())]),boundary:O.optional(),filters:E.optional(),values:Te.optional()}),Gr=o.object({min:o.number(),max:o.number(),value:o.number()}),Fe=o.object({layerId:o.string(),boundary:O.optional(),filters:E.optional(),aggregation:Ot});import{z as s}from"zod";var Pr=s.enum(["processing","completed","failed","incomplete"]),ke=s.object({ids:s.array(s.string()).optional()}),we=s.object({ids:s.array(s.string()).optional()}),z=s.object({id:s.string(),layerId:s.string()}),ve=s.object({ids:z.array().optional(),layerIds:s.string().array().optional()}),Ve=s.object({layerIds:s.array(s.string()).optional(),areaQuery:s.union([s.object({coordinates:w}),s.object({boundary:I})]).optional()});var Nt=t("getLayer",a.string()),jt=t("getLayers",ke.optional()),qt=t("setLayerVisibility",G),Ht=h("onLayerChange",a.object({id:a.string()})),At=t("setLayerStyle",a.object({id:a.string(),style:a.object({}).passthrough()})),Bt=t("setLayerLegendVisibility",G),Dt=t("getLayerGroup",a.string()),Zt=t("getLayerGroups",we.optional()),Jt=t("setLayerGroupVisibility",G),Wt=t("setLayerGroupLegendVisibility",G),_t=h("onLayerGroupChange",a.object({id:a.string()})),Qt=t("getLegendItem",z),$t=t("getLegendItems",ve.optional()),Kt=h("onLegendItemChange",z),Xt=t("setLegendItemVisibility",a.object({show:z.array().optional(),hide:z.array().optional()})),Yt=t("getLayerFilters",a.string()),eo=t("setLayerFilters",a.object({layerId:a.string(),filters:E,note:a.string().optional()})),to=h("onLayerFiltersChange",a.object({layerId:a.string()})),oo=t("getRenderedFeatures",Ve.optional()),ro=t("getFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),no=t("getGeoJsonFeature",a.object({id:a.string().or(a.number()),layerId:a.string()})),ao=t("getCategoryData",ze),io=t("getHistogramData",Pe),so=t("getAggregates",Fe),Oe={methods:[Nt,jt,qt,At,Bt,Dt,Zt,Jt,Wt,Qt,$t,Xt,Yt,eo,oo,ro,no,ao,io,so],listeners:[Ht,_t,Kt,to]};import{z as lo}from"zod";var po=t("getMapDetails",lo.undefined()),Ue={methods:[po],listeners:[]};import{z as U}from"zod";import{z as C}from"zod";var Re=C.object({id:C.string().or(C.number()),layerId:C.string(),showPopup:C.boolean().optional(),fitViewport:C.boolean().or(C.object({maxZoom:C.number()})).optional()});var mo=t("getSelection",U.undefined()),co=l("onSelectionChange"),go=t("selectFeature",Re),yo=t("clearSelection",U.object({features:U.boolean().optional(),elements:U.boolean().optional()}).optional()),Ne={methods:[mo,go,yo],listeners:[co]};import{z as Io}from"zod";import{z as p}from"zod";var je=["pin","line","route","polygon","circle","marker","highlighter","text","note"],qe=p.enum([...je,"link"]),He=p.enum(je),uo=$.pick({color:!0,symbol:!0,frame:!0}).extend({afterCreation:p.enum(["enter name","add another","select"])}).required(),ho=V.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),fo=V.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),So=K.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),xo=X.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),Mo=Y.pick({color:!0,opacity:!0,size:!0}).required(),bo=ee.pick({color:!0,opacity:!0}).extend({size:p.number().min(0).max(200)}).required(),Lo=te.pick({color:!0,align:!0,style:!0}).required(),Co=oe.pick({color:!0,align:!0,style:!0}).required(),Ae=p.discriminatedUnion("tool",[uo.partial().extend({tool:p.literal("pin")}),ho.partial().extend({tool:p.literal("line")}),fo.partial().extend({tool:p.literal("route")}),So.partial().extend({tool:p.literal("polygon")}),xo.partial().extend({tool:p.literal("circle")}),Mo.partial().extend({tool:p.literal("marker")}),bo.partial().extend({tool:p.literal("highlighter")}),Lo.partial().extend({tool:p.literal("text")}),Co.partial().extend({tool:p.literal("note")})]);var Go=t("setTool",qe.nullable()),Eo=t("getTool",Io.undefined()),To=l("onToolChange"),zo=t("setToolSettings",Ae),Po=t("getToolSettings",He),Fo=l("onToolSettingsChange"),Be={methods:[Go,Eo,zo,Po],listeners:[To,Fo]};import{z as ae}from"zod";import{z as c}from"zod";var De=c.object({showLegend:c.boolean().optional(),cooperativeGestures:c.boolean().optional(),fullScreenButton:c.boolean().optional(),geolocation:c.boolean().optional(),zoomControls:c.boolean().optional(),scaleBar:c.boolean().optional()}),Ze=c.object({featureSelectPanel:c.boolean().optional(),featureHoverPanel:c.boolean().optional(),elementSelectPanel:c.boolean().optional(),linkClickOpen:c.boolean().optional(),imageLightboxOpen:c.boolean().optional()});var ko=t("updateUiControls",De),wo=t("setOnMapInteractionsUi",Ze),vo=t("showLayerDataTable",ae.object({layerId:ae.string(),sorting:de.optional()}).optional()),Vo=t("hideLayerDataTable",ae.undefined()),Je={methods:[ko,wo,vo,Vo],listeners:null};import{z as $e}from"zod";import{z as N}from"zod";var R=N.object({center:w,zoom:ge}),We=N.object({center:R.shape.center.optional(),zoom:R.shape.zoom.optional()}),_e=N.object({minZoom:R.shape.zoom.nullish(),maxZoom:R.shape.zoom.nullish(),bounds:I.nullish()}).nullable(),Qe=N.object({bounds:I});var Oo=t("getViewport",$e.undefined()),Uo=t("setViewport",We),Ro=t("getViewportConstraints",$e.undefined()),No=t("setViewportConstraints",_e),jo=t("fitViewportToBounds",Qe),qo=l("onViewportMove"),Ho=l("onViewportMoveEnd"),Ao=l("onMapIdle"),Ke={methods:[Uo,Oo,Ro,No,jo],listeners:[qo,Ho,Ao]};var ie=[Je,Ke,Oe,Le,Ne,Ce,Be,Ue];function En(i,T,se){let j=new Map;async function le(u){if(!_o.safeParse(u.data).success){se?.onUnknownMessage?.(u.data);return}let pe=Ye.safeParse(u.data);if(!pe.success){se?.onInvalidMessage?.(u.data);return}let{data:m}=pe;if(m.type==="felt.ready")u.ports[0]?.postMessage(!0);else if(m.type==="felt.addListener"){if(m.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let P="options"in m.event?{options:"options"in m.event?m.event.options:void 0,handler:H=>{u.ports[0]?.postMessage(H)}}:{handler:H=>{u.ports[0]?.postMessage(H)}},q=T.listeners[m.event.eventName](P);j.set(m.event.id,q)}else if(m.type==="felt.removeListener")j.get(m.id)?.(),j.delete(m.id);else try{let P=T.methods[m.type],q=await P(m.params);u.ports[0]?.postMessage(q)}catch(P){u.ports[0]?.postMessage({__error__:Bo(P)})}}return i.addEventListener("message",le),()=>{i.removeEventListener("message",le)}}function Bo(i){return i instanceof Error?i.message:typeof i=="object"&&i!==null&&"message"in i?String(i.message):typeof i=="string"?i:"Unknown error"}var Xe={methods:ie.map(i=>i.methods??[]).flat(),listeners:ie.map(i=>i.listeners??[]).flat()},Do=g.discriminatedUnion("eventName",[g.strictObject({eventName:g.literal("")}),...Xe.listeners]),Zo=g.strictObject({type:g.literal("felt.addListener"),event:Do}),Jo=g.strictObject({type:g.literal("felt.removeListener"),id:g.string()}),Wo=g.strictObject({type:g.literal("felt.ready")}),Ye=g.discriminatedUnion("type",[Wo,Zo,Jo,...Xe.methods]),_o=g.object({type:g.enum(Ye.options.map(i=>i.shape.type.value))});export{En as createMessageHandler};