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

39 lines (33 loc) 1.15 kB
'use strict'; var R = require('ramda'); 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); const buildStructuresLookup = (structures) => { const floors = R__namespace.mergeAll(structures.map(R__namespace.prop("levels"))); const floorIdToFloor = (floorId) => floors[floorId]; const floorIdToOrdinal = R__namespace.pipe(floorIdToFloor, R__namespace.prop("ordinal")); const floorIdToStructure = (floorId) => R__namespace.find((s) => s.levels && s.levels[floorId])(structures); const floorIdToStructureId = (floorId) => floorIdToStructure(floorId)?.id; return { floorIdToOrdinal, floorIdToFloor, floorIdToStructureId, floorIdToStructure }; }; exports.buildStructuresLookup = buildStructuresLookup;