UNPKG

@hokuto/jam-node

Version:

JAM Node TS, guardians and utils

56 lines (55 loc) 1.72 kB
import fetch from "node-fetch"; import { CoreApi, } from "@hokuto/jam-core"; export function getJamData(url, options = {}) { return fetch(url, { method: "GET", headers: { "Content-Type": "application/json", Accept: "application/json", ...options, }, }) .then((res) => { return res.ok ? res.json() : res.text().then((err) => Promise.reject(new Error(err))); }) .then((data) => { return Promise.resolve(data); }, (err) => { return Promise.reject(err); }); } export function getJamImage(baseurl, options = {}) { return fetch(baseurl, { method: "GET", headers: { "Content-Type": "image/png", Accept: "application/json", ...options, }, }).then((res) => res.blob()); } export function getFeaturesMap(args) { const url = CoreApi.Map.Search.Feature.Items(args); const baseOptions = CoreApi.Options.getBaseOptions(args); const searchPinOptions = CoreApi.Options.getSearchPinOptions(args); const headers = { ...baseOptions, ...searchPinOptions, }; // const headers = Api.getRequestOptions(args); return getJamData(url, headers); } export function getFeaturesAtlas(args) { const url = CoreApi.Atlas.Search.Feature.Items(args); const baseOptions = CoreApi.Options.getBaseOptions(args); const searchPinOptions = CoreApi.Options.getSearchPinOptions(args); const atlasOptions = CoreApi.Options.getAtlasOptions(args); const headers = { ...baseOptions, ...searchPinOptions, ...atlasOptions, }; return getJamData(url, headers); }