@mappedin/react-native-sdk 3.4.4 → 4.0.4-alpha.8
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/README.md +12 -8
- package/dist/index.d.ts +5753 -0
- package/dist/index.js +3552 -0
- package/dist/index.js.map +7 -0
- package/package.json +26 -22
- package/CHANGELOG.md +0 -42
- package/dist/get-venue/package.json +0 -44
- package/dist/get-venue/src/Mappedin.API.types.d.ts +0 -203
- package/dist/get-venue/src/Mappedin.API.types.d.ts.map +0 -1
- package/dist/get-venue/src/Mappedin.API.types.js +0 -4
- package/dist/get-venue/src/Mappedin.d.ts +0 -256
- package/dist/get-venue/src/Mappedin.d.ts.map +0 -1
- package/dist/get-venue/src/Mappedin.js +0 -248
- package/dist/get-venue/src/Mappedin.types.d.ts +0 -30
- package/dist/get-venue/src/Mappedin.types.d.ts.map +0 -1
- package/dist/get-venue/src/Mappedin.types.js +0 -1
- package/dist/get-venue/src/MappedinCategory.d.ts +0 -48
- package/dist/get-venue/src/MappedinCategory.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinCategory.js +0 -87
- package/dist/get-venue/src/MappedinCoordinate.d.ts +0 -42
- package/dist/get-venue/src/MappedinCoordinate.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinCoordinate.js +0 -43
- package/dist/get-venue/src/MappedinCoordinate.test.d.ts +0 -2
- package/dist/get-venue/src/MappedinCoordinate.test.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinCoordinate.test.js +0 -19
- package/dist/get-venue/src/MappedinDestinationSet.d.ts +0 -8
- package/dist/get-venue/src/MappedinDestinationSet.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinDestinationSet.js +0 -6
- package/dist/get-venue/src/MappedinDirections.d.ts +0 -56
- package/dist/get-venue/src/MappedinDirections.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinDirections.js +0 -42
- package/dist/get-venue/src/MappedinEvent.d.ts +0 -30
- package/dist/get-venue/src/MappedinEvent.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinEvent.js +0 -67
- package/dist/get-venue/src/MappedinJSONScene.d.ts +0 -9
- package/dist/get-venue/src/MappedinJSONScene.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinJSONScene.js +0 -24
- package/dist/get-venue/src/MappedinLocation.d.ts +0 -89
- package/dist/get-venue/src/MappedinLocation.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinLocation.js +0 -223
- package/dist/get-venue/src/MappedinLocationRankings.d.ts +0 -12
- package/dist/get-venue/src/MappedinLocationRankings.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinLocationRankings.js +0 -26
- package/dist/get-venue/src/MappedinLocationState.d.ts +0 -14
- package/dist/get-venue/src/MappedinLocationState.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinLocationState.js +0 -33
- package/dist/get-venue/src/MappedinMap.d.ts +0 -64
- package/dist/get-venue/src/MappedinMap.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinMap.js +0 -215
- package/dist/get-venue/src/MappedinMapGroup.d.ts +0 -23
- package/dist/get-venue/src/MappedinMapGroup.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinMapGroup.js +0 -62
- package/dist/get-venue/src/MappedinNavigatable.d.ts +0 -38
- package/dist/get-venue/src/MappedinNavigatable.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinNavigatable.js +0 -82
- package/dist/get-venue/src/MappedinNode.d.ts +0 -65
- package/dist/get-venue/src/MappedinNode.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinNode.js +0 -153
- package/dist/get-venue/src/MappedinPolygon.d.ts +0 -60
- package/dist/get-venue/src/MappedinPolygon.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinPolygon.js +0 -164
- package/dist/get-venue/src/MappedinRankings.d.ts +0 -32
- package/dist/get-venue/src/MappedinRankings.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinRankings.js +0 -46
- package/dist/get-venue/src/MappedinTheme.d.ts +0 -15
- package/dist/get-venue/src/MappedinTheme.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinTheme.js +0 -41
- package/dist/get-venue/src/MappedinVenue.d.ts +0 -47
- package/dist/get-venue/src/MappedinVenue.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinVenue.js +0 -61
- package/dist/get-venue/src/MappedinVortex.d.ts +0 -26
- package/dist/get-venue/src/MappedinVortex.d.ts.map +0 -1
- package/dist/get-venue/src/MappedinVortex.js +0 -54
- package/dist/get-venue/src/default-things.d.ts +0 -14
- package/dist/get-venue/src/default-things.d.ts.map +0 -1
- package/dist/get-venue/src/default-things.js +0 -60
- package/dist/get-venue/src/fixtures/MappedinDemoMall.json +0 -1
- package/dist/get-venue/src/index.cjs.js +0 -16
- package/dist/get-venue/src/index.d.ts +0 -65
- package/dist/get-venue/src/index.d.ts.map +0 -1
- package/dist/get-venue/src/index.js +0 -16
- package/dist/get-venue/src/utils.d.ts +0 -15
- package/dist/get-venue/src/utils.d.ts.map +0 -1
- package/dist/get-venue/src/utils.js +0 -188
- package/dist/get-venue/tsconfig.docs.json +0 -7
- package/dist/get-venue/tsconfig.isomorphic.json +0 -20
- package/dist/get-venue/tsconfig.isomorphic.tsbuildinfo +0 -2262
- package/dist/get-venue/tsconfig.json +0 -19
- package/dist/get-venue/tsconfig.tsbuildinfo +0 -2758
- package/dist/sdk/src/MappedinController.d.ts +0 -45
- package/dist/sdk/src/MappedinController.d.ts.map +0 -1
- package/dist/sdk/src/MappedinController.js +0 -1
- package/dist/sdk/src/MiMapView.d.ts +0 -80
- package/dist/sdk/src/MiMapView.d.ts.map +0 -1
- package/dist/sdk/src/MiMapView.element.d.ts +0 -8
- package/dist/sdk/src/MiMapView.element.d.ts.map +0 -1
- package/dist/sdk/src/MiMapView.element.js +0 -5
- package/dist/sdk/src/MiMapView.element.web.d.ts +0 -6
- package/dist/sdk/src/MiMapView.element.web.d.ts.map +0 -1
- package/dist/sdk/src/MiMapView.element.web.js +0 -1
- package/dist/sdk/src/MiMapView.js +0 -1
- package/dist/sdk/src/MiMapView.store.d.ts +0 -197
- package/dist/sdk/src/MiMapView.store.d.ts.map +0 -1
- package/dist/sdk/src/MiMapView.store.js +0 -1
- package/dist/sdk/src/MiMapView.store.types.d.ts +0 -202
- package/dist/sdk/src/MiMapView.store.types.d.ts.map +0 -1
- package/dist/sdk/src/MiMapView.store.types.js +0 -1
- package/dist/sdk/src/MiMiniMap.d.ts +0 -31
- package/dist/sdk/src/MiMiniMap.d.ts.map +0 -1
- package/dist/sdk/src/MiMiniMap.js +0 -3
- package/dist/sdk/src/MiMiniMap.store.d.ts +0 -22
- package/dist/sdk/src/MiMiniMap.store.d.ts.map +0 -1
- package/dist/sdk/src/MiMiniMap.store.js +0 -1
- package/dist/sdk/src/assets/index.html.d.ts +0 -3
- package/dist/sdk/src/assets/index.html.d.ts.map +0 -1
- package/dist/sdk/src/assets/index.html.js +0 -1
- package/dist/sdk/src/index.d.ts +0 -186
- package/dist/sdk/src/index.d.ts.map +0 -1
- package/dist/sdk/src/index.js +0 -1
- package/dist/sdk/src/pub-sub.d.ts +0 -27
- package/dist/sdk/src/pub-sub.d.ts.map +0 -1
- package/dist/sdk/src/pub-sub.js +0 -1
- package/dist/sdk/src/utils.d.ts +0 -18
- package/dist/sdk/src/utils.d.ts.map +0 -1
- package/dist/sdk/src/utils.js +0 -1
- package/dist/sdk/tsconfig.build.tsbuildinfo +0 -6928
- package/dist/types/src/Mappedin.bridge.events.d.ts +0 -74
- package/dist/types/src/Mappedin.bridge.events.d.ts.map +0 -1
- package/dist/types/src/Mappedin.bridge.events.js +0 -1
- package/dist/types/src/index.d.ts +0 -4
- package/dist/types/src/index.d.ts.map +0 -1
- package/dist/types/src/index.js +0 -1
- package/dist/types/src/navigator.d.ts +0 -78
- package/dist/types/src/navigator.d.ts.map +0 -1
- package/dist/types/src/navigator.js +0 -1
- package/dist/types/tsconfig.tsbuildinfo +0 -1819
- package/dist/types_mappedin__mappedin-js/tsconfig.tsbuildinfo +0 -1781
- package/dist/types_mappedin__mappedin-js/types.d.ts +0 -205
- package/dist/types_mappedin__mappedin-js/types.d.ts.map +0 -1
- package/dist/types_mappedin__mappedin-js/types.js +0 -53
- package/docs/assets/css/main.css +0 -2660
- package/docs/assets/images/icons.png +0 -0
- package/docs/assets/images/icons@2x.png +0 -0
- package/docs/assets/images/widgets.png +0 -0
- package/docs/assets/images/widgets@2x.png +0 -0
- package/docs/assets/js/main.js +0 -248
- package/docs/assets/js/search.js +0 -1
- package/docs/classes/mappedin.html +0 -560
- package/docs/classes/mappedincategory.html +0 -373
- package/docs/classes/mappedindestinationset.html +0 -184
- package/docs/classes/mappedindirections.html +0 -258
- package/docs/classes/mappedinevent.html +0 -387
- package/docs/classes/mappedinlocation.html +0 -942
- package/docs/classes/mappedinmap.html +0 -501
- package/docs/classes/mappedinmapgroup.html +0 -329
- package/docs/classes/mappedinnode.html +0 -717
- package/docs/classes/mappedinpolygon.html +0 -714
- package/docs/classes/mappedinrankings.html +0 -288
- package/docs/classes/mappedinvenue.html +0 -494
- package/docs/classes/mappedinvortex.html +0 -331
- package/docs/classes/mapviewstore.html +0 -1233
- package/docs/enums/action_type.html +0 -188
- package/docs/enums/bearing_type.html +0 -188
- package/docs/enums/collision_ranking_tiers.html +0 -177
- package/docs/enums/e_bluedot_state.html +0 -223
- package/docs/enums/e_bluedot_state_reason.html +0 -197
- package/docs/enums/e_marker_state.html +0 -204
- package/docs/enums/marker_anchor.html +0 -188
- package/docs/enums/state.html +0 -160
- package/docs/index.html +0 -1078
- package/docs/modules.html +0 -1898
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { LatLonSpherical } from 'geodesy';
|
|
2
|
-
import { MappedinLocation } from './MappedinLocation';
|
|
3
|
-
import { MappedinPolygon } from './MappedinPolygon';
|
|
4
|
-
export function isGatewayKey(key) {
|
|
5
|
-
// If the key is a hexidecimal value, it is used for api-gateway
|
|
6
|
-
const re = /^[\da-f]{24}$/i;
|
|
7
|
-
return re.test(key);
|
|
8
|
-
}
|
|
9
|
-
export function stringifyQuery(query, gateway = false) {
|
|
10
|
-
let queryString = '';
|
|
11
|
-
if (query != null) {
|
|
12
|
-
let delim = '?';
|
|
13
|
-
const keys = gateway
|
|
14
|
-
? Object.keys(query).filter((key) => !['slug', 'venue'].includes(key))
|
|
15
|
-
: Object.keys(query);
|
|
16
|
-
for (let i = 0, iLen = keys.length; i < iLen; ++i) {
|
|
17
|
-
const name = keys[i];
|
|
18
|
-
const value = query[name];
|
|
19
|
-
if (value != null) {
|
|
20
|
-
queryString += `${delim + encodeURIComponent(name)}=${encodeURIComponent(value)}`;
|
|
21
|
-
delim = '&';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return queryString;
|
|
26
|
-
}
|
|
27
|
-
export function buildUrl(options, pathname, query, supplementary = false) {
|
|
28
|
-
if (supplementary) {
|
|
29
|
-
return `${options.supplementaryUrl}${pathname}?venue=${query.venue || query.slug}`;
|
|
30
|
-
}
|
|
31
|
-
if (!options.baseUrl?.includes('gateway')) {
|
|
32
|
-
return options.baseUrl + pathname + stringifyQuery(query);
|
|
33
|
-
}
|
|
34
|
-
return `${options.baseUrl}${pathname}/${query.venue || query.slug}${stringifyQuery(query, options.baseUrl?.includes('gateway'))}`;
|
|
35
|
-
}
|
|
36
|
-
export async function getArray(options, pathname, query, supplementary = false) {
|
|
37
|
-
return getObject(options, pathname, query, supplementary, true);
|
|
38
|
-
}
|
|
39
|
-
export async function getObject(options, pathname, query, supplementary = false, isExpectingArray = false) {
|
|
40
|
-
const url = buildUrl(options, pathname, query, supplementary);
|
|
41
|
-
const res = await generateAPIRequest(options, url, supplementary);
|
|
42
|
-
if (!isExpectingArray && Array.isArray(res)) {
|
|
43
|
-
if (res.length === 1) {
|
|
44
|
-
return res[0];
|
|
45
|
-
}
|
|
46
|
-
throw new Error('Invalid response object');
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return res;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
export async function generateAPIRequest(options, url, supplementary = false) {
|
|
53
|
-
/*
|
|
54
|
-
If not supplementary: fail on a non-OK response
|
|
55
|
-
If supplementary: always succeed
|
|
56
|
-
*/
|
|
57
|
-
const requestOptions = {
|
|
58
|
-
language: options.language,
|
|
59
|
-
clientId: options.clientId,
|
|
60
|
-
clientSecret: options.clientSecret,
|
|
61
|
-
};
|
|
62
|
-
if (supplementary) {
|
|
63
|
-
delete requestOptions.language;
|
|
64
|
-
}
|
|
65
|
-
if (requestOptions.language) {
|
|
66
|
-
url += `&lang=${encodeURIComponent(requestOptions.language)}`;
|
|
67
|
-
}
|
|
68
|
-
const { headers } = options;
|
|
69
|
-
headers['Content-Type'] = 'text/json';
|
|
70
|
-
if (options.authorization) {
|
|
71
|
-
headers.Authorization = options.authorization;
|
|
72
|
-
}
|
|
73
|
-
if (requestOptions.language) {
|
|
74
|
-
headers['Accept-Language'] = requestOptions.language;
|
|
75
|
-
}
|
|
76
|
-
const req = {
|
|
77
|
-
method: 'GET',
|
|
78
|
-
headers,
|
|
79
|
-
};
|
|
80
|
-
const response = await fetch(url, req);
|
|
81
|
-
if (!response.ok) {
|
|
82
|
-
throw new Error(`${response.status} ${response.statusText}`);
|
|
83
|
-
}
|
|
84
|
-
return response.json();
|
|
85
|
-
}
|
|
86
|
-
export function addToSet(array, value) {
|
|
87
|
-
if (array.indexOf(value) < 0) {
|
|
88
|
-
array.push(value);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
export function getDistanceBetweenLatLon([lat1, lon1], [lat2, lon2]) {
|
|
92
|
-
const ll1 = new LatLonSpherical(lat1, lon1);
|
|
93
|
-
const ll2 = new LatLonSpherical(lat2, lon2);
|
|
94
|
-
return ll1.distanceTo(ll2);
|
|
95
|
-
}
|
|
96
|
-
export function getMapScale(map) {
|
|
97
|
-
// Current field is x_scale but might move in the future
|
|
98
|
-
if (map.scale || map.x_scale) {
|
|
99
|
-
return 1 / (map.scale || map.x_scale);
|
|
100
|
-
}
|
|
101
|
-
let mapScale;
|
|
102
|
-
try {
|
|
103
|
-
const anchor1 = map.georeference[0];
|
|
104
|
-
const anchor2 = map.georeference[2];
|
|
105
|
-
// create two points, based on top-left, and bottom-right of the map in lat lon
|
|
106
|
-
const ll1 = new LatLonSpherical(anchor1.target.x, anchor1.target.y);
|
|
107
|
-
const ll2 = new LatLonSpherical(anchor2.target.x, anchor2.target.y);
|
|
108
|
-
// get real world distance between these points
|
|
109
|
-
const worldDistance = ll1.distanceTo(ll2);
|
|
110
|
-
const xDiff = anchor1.control.x - anchor2.control.x;
|
|
111
|
-
const yDiff = anchor1.control.y - anchor2.control.y;
|
|
112
|
-
// c = √(a² + b²) get distance in mappedin units
|
|
113
|
-
const mapDistance = Math.sqrt(xDiff * xDiff + yDiff * yDiff);
|
|
114
|
-
// scale === mappedin distance/ world distance
|
|
115
|
-
mapScale = mapDistance / worldDistance;
|
|
116
|
-
}
|
|
117
|
-
catch (e) {
|
|
118
|
-
mapScale = 1;
|
|
119
|
-
console.warn(e);
|
|
120
|
-
console.warn(`Couldn't georeference ${map.name || map.shortName || map.id}. Probably not enough geocoordinates.`);
|
|
121
|
-
}
|
|
122
|
-
return mapScale;
|
|
123
|
-
}
|
|
124
|
-
export function getNodesForNavigatable(obj) {
|
|
125
|
-
if (obj instanceof MappedinPolygon) {
|
|
126
|
-
return obj.entrances.map((node) => node.id);
|
|
127
|
-
}
|
|
128
|
-
else if (obj instanceof MappedinLocation) {
|
|
129
|
-
return obj.nodes?.map((node) => node.id) || [];
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
return [obj.id];
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
export async function preloadImagesFromBundle(data) {
|
|
136
|
-
const imageBlobMap = {};
|
|
137
|
-
const { maps, images, scenes, polygons } = data;
|
|
138
|
-
if (images != null) {
|
|
139
|
-
try {
|
|
140
|
-
const promises = Object.keys(images).map((filename) => {
|
|
141
|
-
return fetch(`data:image/png;base64,${images[filename]}`)
|
|
142
|
-
.then((res) => {
|
|
143
|
-
return res.blob();
|
|
144
|
-
})
|
|
145
|
-
.then((blob) => {
|
|
146
|
-
imageBlobMap[filename] = blob;
|
|
147
|
-
})
|
|
148
|
-
.catch((e) => {
|
|
149
|
-
console.error(e);
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
await Promise.all(promises);
|
|
153
|
-
}
|
|
154
|
-
catch (e) {
|
|
155
|
-
console.error(e);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
maps.forEach((m) => {
|
|
159
|
-
if (scenes != null) {
|
|
160
|
-
m.scene.polygons = scenes[m.id];
|
|
161
|
-
}
|
|
162
|
-
if (images != null) {
|
|
163
|
-
m.scene.images = m.scene.images.map(({ filename }) => ({
|
|
164
|
-
filename,
|
|
165
|
-
url: imageBlobMap[filename],
|
|
166
|
-
}));
|
|
167
|
-
m.scene.polygons.forEach((p) => {
|
|
168
|
-
if (p?.image?.url) {
|
|
169
|
-
p.image.url = imageBlobMap[p.image.url.split('uploads/')[1]];
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
if (images != null) {
|
|
175
|
-
polygons.forEach((p) => {
|
|
176
|
-
if (p?.image?.url) {
|
|
177
|
-
p.image.url = imageBlobMap[p.image.url.split('uploads/')[1]];
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
if (data.images != null) {
|
|
182
|
-
delete data.images;
|
|
183
|
-
}
|
|
184
|
-
if (data.scenes != null) {
|
|
185
|
-
delete data.scenes;
|
|
186
|
-
}
|
|
187
|
-
return data;
|
|
188
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../tsconfig.base.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"jsx": "react-native",
|
|
5
|
-
"outDir": "dist",
|
|
6
|
-
"isolatedModules": true,
|
|
7
|
-
"declaration": true,
|
|
8
|
-
"sourceMap": false,
|
|
9
|
-
"resolveJsonModule": true,
|
|
10
|
-
"declarationMap": true,
|
|
11
|
-
"emitDeclarationOnly": true,
|
|
12
|
-
"composite": true,
|
|
13
|
-
"allowJs": true,
|
|
14
|
-
"lib": ["ES2019"],
|
|
15
|
-
"module": "commonjs",
|
|
16
|
-
"target": "ES2019"
|
|
17
|
-
},
|
|
18
|
-
"include": ["**/*.ts", "**/*.tsx", "**/*.json"],
|
|
19
|
-
"exclude": ["node_modules", "src/**/*.test.ts", "src/fixtures/**"]
|
|
20
|
-
}
|