UNPKG

atriusmaps-node-sdk

Version:

This project provides an API to Atrius Personal Wayfinder maps within a Node environment. See the README.md for more information

50 lines (44 loc) 1.26 kB
'use strict'; var R = require('ramda'); require('zousan'); function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var R__namespace = /*#__PURE__*/_interopNamespaceDefault(R); function setStateFromStateString(config, stateString, forceCreate = false) { const state = JSON.parse(stateString); Object.keys(state).forEach((id) => { const stateObject = state[id]; let pluginConfig = config.plugins[id]; if (!pluginConfig && forceCreate) { pluginConfig = config.plugins[id] = {}; } if (!pluginConfig) { return; } const currentDeepLinkProps = pluginConfig.deepLinkProps; if (!currentDeepLinkProps) { pluginConfig.deepLinkProps = stateObject; return; } pluginConfig.deepLinkProps = R__namespace.mergeDeepRight( currentDeepLinkProps, stateObject ); }); return config; } exports.setStateFromStateString = setStateFromStateString;