@feltmaps/js-sdk 1.0.0
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/LICENSE.txt +7 -0
- package/README.md +26 -0
- package/dist/client.cjs +1 -0
- package/dist/client.d.cts +946 -0
- package/dist/client.d.ts +946 -0
- package/dist/client.js +1 -0
- package/dist/handler.cjs +1 -0
- package/dist/handler.d.cts +856 -0
- package/dist/handler.d.ts +856 -0
- package/dist/handler.js +1 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/types-0v6svQ9V.d.cts +885 -0
- package/dist/types-0v6svQ9V.d.ts +885 -0
- package/handler.d.ts +856 -0
- package/handler.js +1 -0
- package/package.json +80 -0
- package/types-0v6svQ9V.d.ts +885 -0
package/dist/handler.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{z as a}from"zod";import{z as d}from"zod";import{z as m}from"zod";function e(n,g){return m.strictObject({type:m.literal(n),params:g})}function y(n,g){return m.strictObject({eventName:m.literal(n),id:m.string(),options:g})}function c(n){return m.strictObject({eventName:m.literal(n),id:m.string()})}import{z as i}from"zod";var G=i.number(),I=i.number(),P=i.object({latitude:I,longitude:G}),w=i.number().min(1).max(23),O=i.tuple([G,I,G,I]),f=i.object({show:i.array(i.string()).optional(),hide:i.array(i.string()).optional()});import{z as u}from"zod";var T=u.object({ids:u.array(u.string()).optional()}),j=u.object({ids:u.array(u.string()).optional()});var oe=e("getElement",d.string()),ne=e("getElementGeometry",d.string()),re=e("getElements",T.optional()),se=e("getElementGroup",d.string()),ae=e("getElementGroups",j.optional()),ie=e("setElementGroupVisibility",f),le=y("onElementChange",d.object({id:d.string()})),pe=y("onElementGroupChange",d.object({id:d.string()})),k={methods:[oe,ne,re,se,ae,ie],listeners:[le,pe]};var me=c("onPointerClick"),ce=c("onPointerMove"),R={methods:null,listeners:[me,ce]};import{z as l}from"zod";import{z as t}from"zod";var ye=t.enum(["in","ni"]),de=t.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),lt=t.enum(["and","or"]),U=t.union([t.number(),t.string(),t.boolean(),t.null()]),B=t.string().or(t.null()),ge=t.tuple([B,ye,t.array(U).or(t.null())]),ue=t.tuple([B,de,U]),x=t.union([ge,ue]),C=t.tuple([t.lazy(()=>t.union([C,x,t.null(),t.boolean()])),t.enum(["and","or"]),t.lazy(()=>t.union([C,x,t.null(),t.boolean()]))]),Z=t.union([C,x,t.null(),t.boolean()]);import{z as o}from"zod";var ct=o.enum(["processing","completed","failed","incomplete"]),N=o.object({ids:o.array(o.string()).optional()}),A=o.object({ids:o.array(o.string()).optional()}),h=o.object({id:o.string(),layerId:o.string()}),q=o.object({ids:h.array().optional(),layerIds:o.string().array().optional()}),H=o.object({layerIds:o.array(o.string()).optional()});var he=e("getLayer",l.string()),fe=e("getLayers",N.optional()),Me=e("setLayerVisibility",f),Se=y("onLayerChange",l.object({id:l.string()})),Le=e("getLayerGroup",l.string()),be=e("getLayerGroups",A.optional()),Ge=e("setLayerGroupVisibility",f),Ie=y("onLayerGroupChange",l.object({id:l.string()})),xe=e("getLegendItem",h),Ce=e("getLegendItems",q.optional()),ze=y("onLegendItemChange",h),Ee=e("setLegendItemVisibility",l.object({show:h.array().optional(),hide:h.array().optional()})),Fe=e("getLayerFilters",l.string()),ve=e("setLayerFilters",l.object({layerId:l.string(),filters:Z})),Ve=e("getRenderedFeatures",H.optional()),W={methods:[he,fe,Me,Le,be,Ge,xe,Ce,Ee,Fe,ve,Ve],listeners:[Se,Ie,ze]};import{z as Pe}from"zod";var we=e("getSelection",Pe.undefined()),Oe=c("onSelectionChange"),D={methods:[we],listeners:[Oe]};import{z as s}from"zod";var J=s.object({showLegend:s.boolean().optional(),cooperativeGestures:s.boolean().optional(),fullScreenButton:s.boolean().optional(),geolocation:s.boolean().optional(),zoomControls:s.boolean().optional(),scaleBar:s.boolean().optional()}),K=s.object({featureSelectPanel:s.boolean().optional(),featureHoverPanel:s.boolean().optional(),elementSelectPanel:s.boolean().optional(),linkClickOpen:s.boolean().optional(),imageLightboxOpen:s.boolean().optional()});var Te=e("updateUiControls",J),je=e("setOnMapInteractionsUi",K),Q={methods:[Te,je],listeners:null};import{z as ke}from"zod";import{z}from"zod";var X=z.object({center:P,zoom:w}),Y=z.object({center:X.shape.center.optional(),zoom:X.shape.zoom.optional()}),_=z.object({bounds:O});var Re=e("getViewport",ke.undefined()),Ue=e("setViewport",Y),Be=e("fitViewportToBounds",_),Ze=c("onViewportMove"),Ne=c("onViewportMoveEnd"),$={methods:[Ue,Re,Be],listeners:[Ze,Ne]};var E=[Q,$,W,k,D,R];function qt(n,g,F){let M=new Map;async function v(p){if(!De.safeParse(p.data).success){F?.onUnknownMessage?.(p.data);return}let V=te.safeParse(p.data);if(!V.success){F?.onInvalidMessage?.(p.data);return}let{data:r}=V;if(r.type==="felt.ready")p.ports[0]?.postMessage(!0);else if(r.type==="felt.addListener"){if(r.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let S="options"in r.event?{options:"options"in r.event?r.event.options:void 0,handler:b=>{p.ports[0]?.postMessage(b)}}:{handler:b=>{p.ports[0]?.postMessage(b)}},L=g.listeners[r.event.eventName](S);M.set(r.event.id,L)}else if(r.type==="felt.removeListener")M.get(r.id)?.(),M.delete(r.id);else{let S=g.methods[r.type],L=await S(r.params);p.ports[0]?.postMessage(L)}}return n.addEventListener("message",v),()=>{n.removeEventListener("message",v)}}var ee={methods:E.map(n=>n.methods??[]).flat(),listeners:E.map(n=>n.listeners??[]).flat()},Ae=a.discriminatedUnion("eventName",[a.strictObject({eventName:a.literal("")}),...ee.listeners]),qe=a.strictObject({type:a.literal("felt.addListener"),event:Ae}),He=a.strictObject({type:a.literal("felt.removeListener"),id:a.string()}),We=a.strictObject({type:a.literal("felt.ready")}),te=a.discriminatedUnion("type",[We,qe,He,...ee.methods]),De=a.object({type:a.enum(te.options.map(n=>n.shape.type.value))});export{qt as createMessageHandler};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file is read by tools that parse documentation comments conforming to the TSDoc standard.
|
|
2
|
+
// It should be published with your NPM package. It should not be tracked by Git.
|
|
3
|
+
{
|
|
4
|
+
"tsdocVersion": "0.12",
|
|
5
|
+
"toolPackages": [
|
|
6
|
+
{
|
|
7
|
+
"packageName": "@microsoft/api-extractor",
|
|
8
|
+
"packageVersion": "7.47.9"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|