atriusmaps-node-sdk 3.3.365 → 3.3.367

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "web-engine";
6
- var version = "3.3.365";
6
+ var version = "3.3.367";
7
7
  var license = "UNLICENSED";
8
8
  var type = "module";
9
9
  var main = "src/main.js";
@@ -30,8 +30,9 @@ var processors = require('./processors.js');
30
30
 
31
31
 
32
32
  const REFRESH_FREQUENCY = 1000 * 30; // every 30 seconds
33
- const V3_URL_BASE = 'https://rest.locuslabs.com/v3';
34
- const V1_URL_BASE = 'https://rest.locuslabs.com/v1';
33
+ const MARKETPLACE_URL_BASE = 'https://marketplace.locuslabs.com';
34
+
35
+ const ACCOUNT_ID_HEADER = 'x-account-id';
35
36
 
36
37
  function create (app) {
37
38
  const state = {
@@ -48,21 +49,16 @@ function create (app) {
48
49
  app.bus.get('venueData/getVenueId')
49
50
  ]);
50
51
 
51
- const dynamicPoisUrl = `${V1_URL_BASE}/venue/${venueId}/account/${accountId}/get-all-dynamic-pois/`;
52
- const waitTimesUrl = `${V3_URL_BASE}/venueId/${venueId}/accountId/${accountId}/get-dynamic-queue-times/`;
52
+ const dynamicPoisUrl = `${MARKETPLACE_URL_BASE}/venueId/${venueId}/dynamic-poi`;
53
53
 
54
54
  const updateFromAPI = async () =>
55
- Promise.all([
56
- fetch(dynamicPoisUrl)
57
- .then(r => r.json())
58
- .then(poiMap => processDynamicPois(poiMap)),
59
- fetch(waitTimesUrl)
60
- .then(r => r.json())
61
- .then(waitTimes => processSecurityWaitTimes(waitTimes))
62
- ])
55
+ fetch(dynamicPoisUrl, { headers: { [ACCOUNT_ID_HEADER]: accountId } })
56
+ .then(r => r.json())
57
+ .then(({ data }) => processDynamicPois(data))
63
58
  .catch(err => {
64
59
  console.error(err);
65
- }).finally(() => state.dynamicDataNotPending.resolve(true));
60
+ })
61
+ .finally(() => state.dynamicDataNotPending.resolve(true));
66
62
 
67
63
  // Currently, the only way to know if a venue has dynamic POIs is if they have security wait times
68
64
  // and the only way we know that is if they have queueTypes.
@@ -79,6 +75,7 @@ function create (app) {
79
75
  function processDynamicPois (pois) {
80
76
  processParkingPOIS(pois);
81
77
  processOpenClosedPois(pois);
78
+ processSecurityWaitTimes(pois);
82
79
  }
83
80
 
84
81
  function processParkingPOIS (poiMap) {
@@ -99,8 +96,8 @@ function create (app) {
99
96
  /*
100
97
  API response: https://gitlab.com/locuslabs/core-data-team/json-schemas/-/blob/develop/src/api-marketplace/dynamic-queue-data.json
101
98
  */
102
- async function processSecurityWaitTimes (waitTimes) {
103
- const idValuesMap = processors.processSecurityWaitTimes(waitTimes);
99
+ async function processSecurityWaitTimes (poiMap) {
100
+ const idValuesMap = processors.processSecurityWaitTimes(poiMap);
104
101
 
105
102
  app.bus.send('poi/setDynamicData', { plugin: 'security', idValuesMap });
106
103
 
@@ -41,7 +41,6 @@ const mutateSecurityCheckpointLabel = (T, queueTimes, labels) => feature => {
41
41
  };
42
42
 
43
43
  const processParkingPOIS = (poiMap) => {
44
- console.log({ poiMap });
45
44
  const idValuesMap =
46
45
  R__namespace.pipe(
47
46
  R__namespace.filter(poi => poi.category === 'parking'),
@@ -74,23 +73,19 @@ const processOpenClosedPois = (poiMap) => {
74
73
  }
75
74
  };
76
75
 
77
- const toDynamicWaitTime = (waitTime) => ({
78
- queueTime: waitTime.queueTime,
79
- isTemporarilyClosed: waitTime.isTemporarilyClosed,
80
- timeIsReal: !waitTime.isQueueTimeDefault && waitTime.expiration > Date.now(),
81
- lastUpdated: Date.now()
82
- });
83
-
84
76
  /*
85
77
  API response: https://gitlab.com/locuslabs/core-data-team/json-schemas/-/blob/develop/src/api-marketplace/dynamic-queue-data.json
86
78
  */
87
- const processSecurityWaitTimes = (waitTimes) => {
88
- const idValuesMap = R__namespace.pipe(
89
- R__namespace.map(waitTime => [waitTime.poiId, toDynamicWaitTime(waitTime)]),
90
- R__namespace.fromPairs
91
- )(waitTimes);
92
-
93
- return idValuesMap
79
+ const processSecurityWaitTimes = (poiMap) => {
80
+ const queuePath = ['dynamicData', 'queue'];
81
+ const queuePois = R__namespace.filter(R__namespace.hasPath(queuePath), poiMap);
82
+ const queues = R__namespace.map(R__namespace.path(queuePath), queuePois);
83
+ return R__namespace.map(queue => ({
84
+ isTemporarilyClosed: queue.isTemporarilyClosed,
85
+ queueTime: queue.queueTime,
86
+ timeIsReal: !queue.isQueueTimeDefault && queue.expiration > Date.now(),
87
+ lastUpdated: Date.now()
88
+ }), queues)
94
89
  };
95
90
 
96
91
  exports.mutateSecurityCheckpointLabel = mutateSecurityCheckpointLabel;
@@ -7,7 +7,7 @@ const NON_ASCII_LANGUAGES = ['ko', 'ja', 'zh-Hans', 'zh-Hant'];
7
7
 
8
8
  const getFlexSearchInstance = ({ lang, type = 'standard' }) => {
9
9
  const options = {
10
- tokenize: 'forward',
10
+ tokenize: 'reverse',
11
11
  rtl: lang === 'ar', // only for arabic
12
12
  stemmer: {
13
13
  s: '',
@@ -1 +1 @@
1
- var e="web-engine",s="3.3.365",o="UNLICENSED",r="module",l="src/main.js",t=["demo","deploy","nodesdk","src/extModules/flexapi","services/*","libraries/*"],a={colors:"cat utils/colors1.txt && node utils/processColors.js | pbcopy && cat utils/colors2.txt","cypress:a11y":"APPLITOOLS_IS_DISABLED=true && cypress open --browser chrome --env INPUT_MODALITY='keyboard'","cypress:comp":"APPLITOOLS_IS_DISABLED=true && cypress open --component --browser chrome","cypress:e2e":"APPLITOOLS_IS_DISABLED=true && cypress open --e2e --browser chrome",demo:"cd demo/ && yarn start","e2e:comp":"cypress run --component","e2e:record":"yarn cypress run --env RECORD_MODE=true",e2eSDKTest:"yarn start-server-and-test 'cd ./deploy && yarn buildDev && yarn serveLocal' 8085 'cd ./cypress/e2e/sdk && npx http-server' 8080 'yarn cypress run --spec cypress/e2e/sdk/**'",e2eTest:"cypress run --browser chrome",goProd:"cd deploy && scripts/goProd.sh",goStaging:"deploy/scripts/goStaging.sh",i18nOverrides:"yarn node utils/i18nOverrideCli src/i18n src/i18n-overrides",lint:"eslint .",mod:"demo/startMod.sh",mol:"demo/startMol.sh","mol:build":"demo/startMolBuild.sh",molProd:"cd deploy && yarn buildAndRunMol",prepare:"husky install",test:"jest --no-cache --verbose","test-watch":"jest --verbose --watch","test:e2e:video":"cypress run","test:vitest":"vitest"},i=["defaults"],n={"@azure/event-hubs":"^5.12.2","@dnd-kit/core":"^6.1.0","@dnd-kit/modifiers":"^7.0.0","@dnd-kit/sortable":"^8.0.0","@dnd-kit/utilities":"^3.2.2","@john-osullivan/react-window-dynamic-fork":"^1.9.0-alpha.1","@locus-labs/mod-badge":"^0.1.102","@locus-labs/mod-default-theme":"^0.0.113","@locus-labs/mod-footer":"^0.0.111","@locus-labs/mod-header":"^0.0.105","@locus-labs/mod-location-marker":"^0.0.104","@locus-labs/mod-map-legend":"^0.0.104","@locus-labs/mod-offscreen-indicator":"^0.0.104","@locus-labs/mod-pin":"^0.0.104","@locus-labs/mod-qr-code-card":"^0.0.104","@locus-labs/mod-qr-code-window":"^0.0.105","@locus-labs/mod-walk-time-matrix":"^0.0.103","@locus-labs/mol-desktop-building-level-selector":"^0.1.119","@locus-labs/mol-desktop-compass":"^0.1.120","@locus-labs/mol-desktop-default-theme":"^0.2.105","@locus-labs/mol-desktop-icon":"^0.1.131","@locus-labs/mol-desktop-logo":"^0.1.101","@locus-labs/mol-desktop-map-nav-button":"^0.1.130","@locus-labs/mol-desktop-tooltip":"^0.3.102","@locus-labs/mol-desktop-zoom-control":"^0.1.141","@locus-labs/mol-mobile-box":"^0.1.115","@locus-labs/mol-mobile-floating-action-button":"^0.0.117","@locus-labs/mol-mobile-icon":"^0.1.118","@locus-labs/mol-mobile-text":"^0.1.116","@locus-labs/mol-mobile-toast":"^0.1.102","@mapbox/mapbox-gl-draw":"^1.4.3","@mapbox/mapbox-gl-draw-static-mode":"^1.0.1","@microsoft/applicationinsights-web":"^3.3.4","@turf/circle":"^6.5.0","@turf/helpers":"^6.5.0","@turf/point-to-line-distance":"^6.5.0","@vitejs/plugin-react":"^4.0.1",IObject:"^0.7.2","axe-core":"^4.9.0",browserslist:"^4.24.2","crypto-browserify":"^3.12.0","cypress-axe":"^1.5.0","cypress-multi-reporters":"^1.6.4","file-loader":"^6.2.0",flexsearch:"^0.7.43","h3-js":"^4.1.0",i18next:"^20.3.4","i18next-browser-languagedetector":"^6.1.1","jest-transform-css":"6.0.1",jsdom:"^25.0.1",jsonschema:"^1.2.6",luxon:"^3.3.0","maplibre-gl":"^4.7.1","mini-css-extract-plugin":"^1.6.0","mocha-junit-reporter":"^2.2.1",mochawesome:"^7.1.3","node-polyfill-webpack-plugin":"^1.1.4","path-browserify":"^1.0.1",polished:"^4.0.2","prop-types":"^15.7.2","query-string":"^8.1.0",ramda:"^0.30.1",react:"^17.0.2","react-compound-slider":"^3.3.1","react-dom":"^17.0.2","react-json-editor-ajrm":"^2.5.13","react-qr-svg":"^2.2.1","react-svg":"^16.1.29","react-tageditor":"^0.2.3","react-virtualized-auto-sizer":"^1.0.2","smoothscroll-polyfill":"^0.4.4","styled-components":"5.1.0","styled-normalize":"^8.0.6","throttle-debounce":"^3.0.1",trackjs:"^3.7.4","ua-parser-js":"^0.7.23",uuid:"3.3.2",zousan:"^3.0.1","zousan-plus":"^4.0.1"},c={"@applitools/eyes-cypress":"^3.47.0","@babel/core":"^7.26.0","@babel/eslint-parser":"^7.25.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-syntax-import-assertions":"^7.26.0","@babel/plugin-transform-modules-commonjs":"^7.25.9","@babel/plugin-transform-runtime":"^7.25.9","@babel/preset-env":"^7.26.0","@babel/preset-react":"^7.25.9","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/eslint-plugin":"^7.13.0","@typescript-eslint/parser":"^7.13.0","babel-jest":"^27.0.6","babel-loader":"^8.2.2","babel-plugin-inline-json-import":"^0.3.2","babel-plugin-module-resolver":"^5.0.0","babel-polyfill":"^6.26.0","chai-colors":"^1.0.1","css-loader":"^5.2.4",cypress:"^12.17.2","cypress-browser-permissions":"^1.1.0","cypress-real-events":"^1.11.0","cypress-wait-until":"^1.7.1",eslint:"^8.57.0","eslint-config-standard":"^16.0.3","eslint-import-resolver-typescript":"^3.6.1","eslint-plugin-cypress":"^2.11.1","eslint-plugin-import":"^2.16.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^5.1.0","eslint-plugin-react":"^7.12.4","eslint-plugin-standard":"^5.0.0","fetch-mock-jest":"^1.3.0",glob:"^10.3.3",husky:"^6.0.0",jest:"29.7.0","jest-environment-jsdom":"^29.7.0","lint-staged":"^11.0.1","node-fetch":"^2.6.0","null-loader":"^4.0.1",nx:"19.4.2","nx-remotecache-azure":"^19.0.0","start-server-and-test":"^2.0.0",typescript:"^5.4.5",vite:"^4.3.9",vitest:"^2.1.5",webpack:"^5.96.1","webpack-merge":"^6.0.1"},p="yarn@4.3.1",d={node:">=20"},m={},u={name:e,version:s,private:!0,license:o,type:r,main:l,workspaces:t,scripts:a,"lint-staged":{"*.js":["eslint --fix"]},browserslist:i,dependencies:n,devDependencies:c,packageManager:p,engines:d,nx:m};export{i as browserslist,u as default,n as dependencies,c as devDependencies,d as engines,o as license,l as main,e as name,m as nx,p as packageManager,a as scripts,r as type,s as version,t as workspaces};
1
+ var e="web-engine",s="3.3.367",o="UNLICENSED",r="module",l="src/main.js",t=["demo","deploy","nodesdk","src/extModules/flexapi","services/*","libraries/*"],a={colors:"cat utils/colors1.txt && node utils/processColors.js | pbcopy && cat utils/colors2.txt","cypress:a11y":"APPLITOOLS_IS_DISABLED=true && cypress open --browser chrome --env INPUT_MODALITY='keyboard'","cypress:comp":"APPLITOOLS_IS_DISABLED=true && cypress open --component --browser chrome","cypress:e2e":"APPLITOOLS_IS_DISABLED=true && cypress open --e2e --browser chrome",demo:"cd demo/ && yarn start","e2e:comp":"cypress run --component","e2e:record":"yarn cypress run --env RECORD_MODE=true",e2eSDKTest:"yarn start-server-and-test 'cd ./deploy && yarn buildDev && yarn serveLocal' 8085 'cd ./cypress/e2e/sdk && npx http-server' 8080 'yarn cypress run --spec cypress/e2e/sdk/**'",e2eTest:"cypress run --browser chrome",goProd:"cd deploy && scripts/goProd.sh",goStaging:"deploy/scripts/goStaging.sh",i18nOverrides:"yarn node utils/i18nOverrideCli src/i18n src/i18n-overrides",lint:"eslint .",mod:"demo/startMod.sh",mol:"demo/startMol.sh","mol:build":"demo/startMolBuild.sh",molProd:"cd deploy && yarn buildAndRunMol",prepare:"husky install",test:"jest --no-cache --verbose","test-watch":"jest --verbose --watch","test:e2e:video":"cypress run","test:vitest":"vitest"},i=["defaults"],n={"@azure/event-hubs":"^5.12.2","@dnd-kit/core":"^6.1.0","@dnd-kit/modifiers":"^7.0.0","@dnd-kit/sortable":"^8.0.0","@dnd-kit/utilities":"^3.2.2","@john-osullivan/react-window-dynamic-fork":"^1.9.0-alpha.1","@locus-labs/mod-badge":"^0.1.102","@locus-labs/mod-default-theme":"^0.0.113","@locus-labs/mod-footer":"^0.0.111","@locus-labs/mod-header":"^0.0.105","@locus-labs/mod-location-marker":"^0.0.104","@locus-labs/mod-map-legend":"^0.0.104","@locus-labs/mod-offscreen-indicator":"^0.0.104","@locus-labs/mod-pin":"^0.0.104","@locus-labs/mod-qr-code-card":"^0.0.104","@locus-labs/mod-qr-code-window":"^0.0.105","@locus-labs/mod-walk-time-matrix":"^0.0.103","@locus-labs/mol-desktop-building-level-selector":"^0.1.119","@locus-labs/mol-desktop-compass":"^0.1.120","@locus-labs/mol-desktop-default-theme":"^0.2.105","@locus-labs/mol-desktop-icon":"^0.1.131","@locus-labs/mol-desktop-logo":"^0.1.101","@locus-labs/mol-desktop-map-nav-button":"^0.1.130","@locus-labs/mol-desktop-tooltip":"^0.3.102","@locus-labs/mol-desktop-zoom-control":"^0.1.141","@locus-labs/mol-mobile-box":"^0.1.115","@locus-labs/mol-mobile-floating-action-button":"^0.0.117","@locus-labs/mol-mobile-icon":"^0.1.118","@locus-labs/mol-mobile-text":"^0.1.116","@locus-labs/mol-mobile-toast":"^0.1.102","@mapbox/mapbox-gl-draw":"^1.4.3","@mapbox/mapbox-gl-draw-static-mode":"^1.0.1","@microsoft/applicationinsights-web":"^3.3.4","@turf/circle":"^6.5.0","@turf/helpers":"^6.5.0","@turf/point-to-line-distance":"^6.5.0","@vitejs/plugin-react":"^4.0.1",IObject:"^0.7.2","axe-core":"^4.9.0",browserslist:"^4.24.2","crypto-browserify":"^3.12.0","cypress-axe":"^1.5.0","cypress-multi-reporters":"^1.6.4","file-loader":"^6.2.0",flexsearch:"^0.7.43","h3-js":"^4.1.0",i18next:"^20.3.4","i18next-browser-languagedetector":"^6.1.1","jest-transform-css":"6.0.1",jsdom:"^25.0.1",jsonschema:"^1.2.6",luxon:"^3.3.0","maplibre-gl":"^4.7.1","mini-css-extract-plugin":"^1.6.0","mocha-junit-reporter":"^2.2.1",mochawesome:"^7.1.3","node-polyfill-webpack-plugin":"^1.1.4","path-browserify":"^1.0.1",polished:"^4.0.2","prop-types":"^15.7.2","query-string":"^8.1.0",ramda:"^0.30.1",react:"^17.0.2","react-compound-slider":"^3.3.1","react-dom":"^17.0.2","react-json-editor-ajrm":"^2.5.13","react-qr-svg":"^2.2.1","react-svg":"^16.1.29","react-tageditor":"^0.2.3","react-virtualized-auto-sizer":"^1.0.2","smoothscroll-polyfill":"^0.4.4","styled-components":"5.1.0","styled-normalize":"^8.0.6","throttle-debounce":"^3.0.1",trackjs:"^3.7.4","ua-parser-js":"^0.7.23",uuid:"3.3.2",zousan:"^3.0.1","zousan-plus":"^4.0.1"},c={"@applitools/eyes-cypress":"^3.47.0","@babel/core":"^7.26.0","@babel/eslint-parser":"^7.25.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-syntax-import-assertions":"^7.26.0","@babel/plugin-transform-modules-commonjs":"^7.25.9","@babel/plugin-transform-runtime":"^7.25.9","@babel/preset-env":"^7.26.0","@babel/preset-react":"^7.25.9","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/eslint-plugin":"^7.13.0","@typescript-eslint/parser":"^7.13.0","babel-jest":"^27.0.6","babel-loader":"^8.2.2","babel-plugin-inline-json-import":"^0.3.2","babel-plugin-module-resolver":"^5.0.0","babel-polyfill":"^6.26.0","chai-colors":"^1.0.1","css-loader":"^5.2.4",cypress:"^12.17.2","cypress-browser-permissions":"^1.1.0","cypress-real-events":"^1.11.0","cypress-wait-until":"^1.7.1",eslint:"^8.57.0","eslint-config-standard":"^16.0.3","eslint-import-resolver-typescript":"^3.6.1","eslint-plugin-cypress":"^2.11.1","eslint-plugin-import":"^2.16.0","eslint-plugin-jest":"^28.6.0","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^5.1.0","eslint-plugin-react":"^7.12.4","eslint-plugin-standard":"^5.0.0","fetch-mock-jest":"^1.3.0",glob:"^10.3.3",husky:"^6.0.0",jest:"29.7.0","jest-environment-jsdom":"^29.7.0","lint-staged":"^11.0.1","node-fetch":"^2.6.0","null-loader":"^4.0.1",nx:"19.4.2","nx-remotecache-azure":"^19.0.0","start-server-and-test":"^2.0.0",typescript:"^5.4.5",vite:"^4.3.9",vitest:"^2.1.5",webpack:"^5.96.1","webpack-merge":"^6.0.1"},p="yarn@4.3.1",d={node:">=20"},m={},u={name:e,version:s,private:!0,license:o,type:r,main:l,workspaces:t,scripts:a,"lint-staged":{"*.js":["eslint --fix"]},browserslist:i,dependencies:n,devDependencies:c,packageManager:p,engines:d,nx:m};export{i as browserslist,u as default,n as dependencies,c as devDependencies,d as engines,o as license,l as main,e as name,m as nx,p as packageManager,a as scripts,r as type,s as version,t as workspaces};
@@ -1 +1 @@
1
- import e from"zousan";import{processParkingPOIS as t,processSecurityWaitTimes as n,mutateSecurityCheckpointLabel as a,processOpenClosedPois as s}from"./processors.js";function o(o){const c={dynamicDataNotPending:new e},u=o.gt();o.bus.on("system/readywhenyouare",(()=>c.dynamicDataNotPending));const i=async e=>{const t={};for(const n of e){const e=await o.bus.get("poi/getById",{id:n});e&&(t[n]=e.name)}return t};return{init:async()=>{const[e,r]=await Promise.all([o.bus.get("venueData/getAccountId"),o.bus.get("venueData/getVenueId")]),d=`https://rest.locuslabs.com/v1/venue/${r}/account/${e}/get-all-dynamic-pois/`,l=`https://rest.locuslabs.com/v3/venueId/${r}/accountId/${e}/get-dynamic-queue-times/`,y=async()=>Promise.all([fetch(d).then((e=>e.json())).then((e=>{return function(e){const n=t(e);o.bus.send("poi/setDynamicData",{plugin:"parking",idValuesMap:n})}(n=e),void function(e){const t=s(e);o.bus.send("poi/setDynamicData",{plugin:"open-closed-status",idValuesMap:t})}(n);var n})),fetch(l).then((e=>e.json())).then((e=>async function(e){const t=n(e);o.bus.send("poi/setDynamicData",{plugin:"security",idValuesMap:t});const s=await i(Object.keys(t));o.bus.send("map/mutateFeature",{functor:a(u,t,s)})}(e)))]).catch((e=>{console.error(e)})).finally((()=>c.dynamicDataNotPending.resolve(!0))),m=await o.bus.get("venueData/getQueueTypes");return m.SecurityLane&&m.SecurityLane.length?y().then((()=>setInterval(y,3e4))):c.dynamicDataNotPending.resolve(!0)}}}export{o as create};
1
+ import e from"zousan";import{processParkingPOIS as t,processSecurityWaitTimes as n,mutateSecurityCheckpointLabel as a,processOpenClosedPois as s}from"./processors.js";const o="x-account-id";function c(c){const i={dynamicDataNotPending:new e},u=c.gt();c.bus.on("system/readywhenyouare",(()=>i.dynamicDataNotPending));const r=async e=>{const t={};for(const n of e){const e=await c.bus.get("poi/getById",{id:n});e&&(t[n]=e.name)}return t};return{init:async()=>{const[e,d]=await Promise.all([c.bus.get("venueData/getAccountId"),c.bus.get("venueData/getVenueId")]),y=`https://marketplace.locuslabs.com/venueId/${d}/dynamic-poi`,p=async()=>fetch(y,{headers:{[o]:e}}).then((e=>e.json())).then((({data:e})=>{return function(e){const n=t(e);c.bus.send("poi/setDynamicData",{plugin:"parking",idValuesMap:n})}(o=e),function(e){const t=s(e);c.bus.send("poi/setDynamicData",{plugin:"open-closed-status",idValuesMap:t})}(o),void async function(e){const t=n(e);c.bus.send("poi/setDynamicData",{plugin:"security",idValuesMap:t});const s=await r(Object.keys(t));c.bus.send("map/mutateFeature",{functor:a(u,t,s)})}(o);var o})).catch((e=>{console.error(e)})).finally((()=>i.dynamicDataNotPending.resolve(!0))),l=await c.bus.get("venueData/getQueueTypes");return l.SecurityLane&&l.SecurityLane.length?p().then((()=>setInterval(p,3e4))):i.dynamicDataNotPending.resolve(!0)}}}export{c as create};
@@ -1 +1 @@
1
- import*as e from"ramda";const t=(e,t,i)=>a=>{const o=a.properties.id,r=t[o],p=i[o];if(r){const{queueTime:t,isTemporarilyClosed:i}=r,o=i?e("ui:Closed"):e("ui:_xx_ minute wait",{count:t});a.properties.text=`${p}\n${o}`}return a},i=t=>{console.log({poiMap:t});return e.pipe(e.filter((e=>"parking"===e.category)),e.map((t=>{const i=t.dynamicAttributes;if(!i)throw Error(`No dynamicAttributes defined for parking POI ${t.poiId}`);return{...(Date.now()-t.timestamp)/1e3<i["parking.timeToLive"]?e.pick(["lotStatus","rateDay","rateHour","timeIsReal","timeToTerminal1","timeToTerminal2"],t):{lotStatus:i["parking.default"],rateDay:"$ -",rateHour:"$ -",timeIsReal:!1},lastUpdated:t.timestamp,lotName:t.lotName}})))(t)},a=t=>{const i=["dynamicData","openClosed"],a=e.filter(e.hasPath(i),t),o=e.map(e.path(i),a);if(e.all(e.both(e.has("isOpen"),e.has("expiration")),e.values(o))){const t=e.pipe(e.prop("expiration"),e.lt(Date.now()));return e.filter(t,o)}throw Error("Open Closed poi status is malformed.")},o=e=>({queueTime:e.queueTime,isTemporarilyClosed:e.isTemporarilyClosed,timeIsReal:!e.isQueueTimeDefault&&e.expiration>Date.now(),lastUpdated:Date.now()}),r=t=>e.pipe(e.map((e=>[e.poiId,o(e)])),e.fromPairs)(t);export{t as mutateSecurityCheckpointLabel,a as processOpenClosedPois,i as processParkingPOIS,r as processSecurityWaitTimes};
1
+ import*as e from"ramda";const t=(e,t,a)=>i=>{const r=i.properties.id,o=t[r],s=a[r];if(o){const{queueTime:t,isTemporarilyClosed:a}=o,r=a?e("ui:Closed"):e("ui:_xx_ minute wait",{count:t});i.properties.text=`${s}\n${r}`}return i},a=t=>e.pipe(e.filter((e=>"parking"===e.category)),e.map((t=>{const a=t.dynamicAttributes;if(!a)throw Error(`No dynamicAttributes defined for parking POI ${t.poiId}`);return{...(Date.now()-t.timestamp)/1e3<a["parking.timeToLive"]?e.pick(["lotStatus","rateDay","rateHour","timeIsReal","timeToTerminal1","timeToTerminal2"],t):{lotStatus:a["parking.default"],rateDay:"$ -",rateHour:"$ -",timeIsReal:!1},lastUpdated:t.timestamp,lotName:t.lotName}})))(t),i=t=>{const a=["dynamicData","openClosed"],i=e.filter(e.hasPath(a),t),r=e.map(e.path(a),i);if(e.all(e.both(e.has("isOpen"),e.has("expiration")),e.values(r))){const t=e.pipe(e.prop("expiration"),e.lt(Date.now()));return e.filter(t,r)}throw Error("Open Closed poi status is malformed.")},r=t=>{const a=["dynamicData","queue"],i=e.filter(e.hasPath(a),t),r=e.map(e.path(a),i);return e.map((e=>({isTemporarilyClosed:e.isTemporarilyClosed,queueTime:e.queueTime,timeIsReal:!e.isQueueTimeDefault&&e.expiration>Date.now(),lastUpdated:Date.now()})),r)};export{t as mutateSecurityCheckpointLabel,i as processOpenClosedPois,a as processParkingPOIS,r as processSecurityWaitTimes};
@@ -1 +1 @@
1
- import e from"flexsearch";import{encode as n}from"flexsearch/dist/module/lang/latin/simple.js";const r=["ko","ja","zh-Hans","zh-Hant"],t=({lang:t,type:s="standard"})=>{const o={tokenize:"forward",rtl:"ar"===t,stemmer:{s:"",es:"",ies:"y"},encode:n};return r.includes(t)&&(o.tokenize="full"),new e.Index(o)};export{t as getFlexSearchInstance};
1
+ import e from"flexsearch";import{encode as n}from"flexsearch/dist/module/lang/latin/simple.js";const r=["ko","ja","zh-Hans","zh-Hant"],s=({lang:s,type:t="standard"})=>{const o={tokenize:"reverse",rtl:"ar"===s,stemmer:{s:"",es:"",ies:"y"},encode:n};return r.includes(s)&&(o.tokenize="full"),new e.Index(o)};export{s as getFlexSearchInstance};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atriusmaps-node-sdk",
3
- "version": "3.3.365",
3
+ "version": "3.3.367",
4
4
  "description": "This project provides an API to Atrius Personal Wayfinder maps within a Node environment. See the README.md for more information",
5
5
  "keywords": [
6
6
  "map",