{"version":3,"file":null,"sources":["../src/request.js","../src/config.js","../src/linkify.js","../src/createMap.js","../src/getLink.js","../src/getMap.js","../src/getMapIds.js","../src/getBranches.js","../src/getApplication.js","../src/loadLink.js"],"sourcesContent":["import json from 'httpplease/plugins/json';\nimport httpplease from 'httpplease';\n\nconst request = httpplease.use(json);\n\nfunction send(method, url, args) {\n  return new Promise((resolve, reject) => {\n    request({ method, url, body: args }, (err, res) => {\n      const error = err || (res.body && res.body.meta && res.body.meta.errorMessage);\n      if (error) {\n        reject(error);\n      } else {\n        resolve(res);\n      }\n    });\n  });\n}\n\nexport function get(url) {\n  return send('GET', url);\n}\n\nexport function post(url, args) {\n  return send('POST', url, args);\n}\n","const config = {\n  baseUrl: 'https://stratumn.rocks',\n  applicationUrl: 'https://%s.stratumn.rocks'\n};\n\nexport default config;\n","import { post } from './request';\nimport config from './config';\n\nexport default function linkify(app, obj) {\n  Object\n    .keys(app.agentInfo.functions)\n    .filter(key => ['init', 'catchAll'].indexOf(key) < 0)\n    .forEach(key => {\n      /*eslint-disable*/\n      obj[key] = (...args) => {\n        const url = `${config.applicationUrl.replace('%s', app.name)}/links/${obj.meta.linkHash}/${key}`;\n        /*eslint-enable*/\n\n        return post(url, args)\n          .then(res => linkify(app, res.body));\n      };\n    });\n\n  /*eslint-disable*/\n  obj.getPrev = () => {\n    /*eslint-enable*/\n    if (obj.link.meta.prevLinkHash) {\n      return app.getLink(obj.link.meta.prevLinkHash);\n    }\n\n    return Promise.resolve(null);\n  };\n\n  /*eslint-disable*/\n  obj.getBranches = tags => {\n    /*eslint-enable*/\n    return app.getBranches(obj.meta.linkHash, tags);\n  };\n\n  /*eslint-disable*/\n  obj.load = () => {\n    /*eslint-enable*/\n    return app.getLink(obj.meta.linkHash);\n  };\n\n  return obj;\n}\n","import { post } from './request';\nimport config from './config';\nimport linkify from './linkify';\n\nexport default function createMap(app, ...args) {\n  const url = `${config.applicationUrl.replace('%s', app.name)}/maps`;\n\n  return post(url, args)\n    .then(res => linkify(app, res.body));\n}\n","import { get } from './request';\nimport config from './config';\nimport linkify from './linkify';\n\nexport default function getLink(app, linkHash) {\n  const url = `${config.applicationUrl.replace('%s', app.name)}/links/${linkHash}`;\n\n  return get(url)\n    .then(res => linkify(app, res.body));\n}\n","import { get } from './request';\nimport config from './config';\nimport linkify from './linkify';\n\nexport default function getMap(app, mapId, tags = []) {\n  let query = '';\n\n  if (tags && tags.length) {\n    query = `?tags=${tags.join('&tags=')}`;\n  }\n\n  const url = `${config.applicationUrl.replace('%s', app.name)}/maps/${mapId}${query}`;\n\n  return get(url)\n    .then(res => res.body.map((link) => linkify(app, link)));\n}\n","import { get } from './request';\n\nexport default function getMapIds(agent) {\n  return get(`${agent.url}/maps`)\n    .then(res => res.body);\n}\n","import { get } from './request';\nimport config from './config';\nimport linkify from './linkify';\n\nexport default function getBranches(app, linkHash, tags = []) {\n  let query = '';\n\n  if (tags && tags.length) {\n    query = `?tags=${tags.join('&tags=')}`;\n  }\n\n  const url = `${config.applicationUrl.replace('%s', app.name)}/branches/${linkHash}${query}`;\n\n  return get(url)\n    .then(res => res.body.map((link) => linkify(app, link)));\n}\n","import { get } from './request';\nimport config from './config';\nimport createMap from './createMap';\nimport getLink from './getLink';\nimport getMap from './getMap';\nimport getMapIds from './getMapIds';\nimport getBranches from './getBranches';\n\nexport default function getApplication(appName, appLocation) {\n  const url = appLocation || config.applicationUrl.replace('%s', appName);\n\n  return get(url)\n    .then(res => {\n      const app = res.body;\n\n      app.url = url;\n      app.createMap = createMap.bind(null, app);\n      app.getLink = getLink.bind(null, app);\n      app.getMap = getMap.bind(null, app);\n      app.getBranches = getBranches.bind(null, app);\n      app.getMapIds = getMapIds.bind(null, app);\n\n      return app;\n    });\n}\n","import { get } from './request';\nimport linkify from './linkify';\nimport getApplication from './getApplication';\n\nexport default function loadLink(segment) {\n  return getApplication(segment.meta.application, segment.meta.applicationLocation)\n    .then(app => {\n      const url = segment.meta.linkLocation;\n\n      return get(url).then(res => linkify(app, res.body));\n    });\n}\n"],"names":["request","httpplease","use","json","send","method","url","args","Promise","resolve","reject","body","err","res","error","meta","errorMessage","get","post","config","linkify","app","obj","keys","agentInfo","functions","filter","indexOf","key","forEach","applicationUrl","replace","name","linkHash","then","getPrev","link","prevLinkHash","getLink","getBranches","tags","load","createMap","getMap","mapId","query","length","join","map","getMapIds","agent","getApplication","appName","appLocation","bind","loadLink","segment","application","applicationLocation","linkLocation"],"mappings":"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"}