UNPKG

dcl-catalyst-client

Version:

A client to query and perform changes on Decentraland's catalyst servers

55 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCatalystClient = void 0; const ContentClient_1 = require("./ContentClient"); const LambdasClient_1 = require("./LambdasClient"); const Helper_1 = require("./utils/Helper"); function createCatalystClient(options) { const catalystUrl = (0, Helper_1.sanitizeUrl)(options.url); const { fetcher } = options; let contentClient = undefined; let lambdasClient = undefined; let about = undefined; async function fetchAbout() { const result = await fetcher.fetch(catalystUrl + '/about'); const response = await result.json(); if (!response) { throw new Error('Invalid about response'); } about = response; return response; } async function getContentClient() { if (contentClient) { return contentClient; } if (!about) { about = await fetchAbout(); } contentClient = (0, ContentClient_1.createContentClient)({ url: about.content.publicUrl, fetcher }); return contentClient; } async function getLambdasClient() { if (lambdasClient) { return lambdasClient; } if (!about) { about = await fetchAbout(); } lambdasClient = (0, LambdasClient_1.createLambdasClient)({ url: about.lambdas.publicUrl, fetcher }); return lambdasClient; } return { fetchAbout, getContentClient, getLambdasClient }; } exports.createCatalystClient = createCatalystClient; //# sourceMappingURL=CatalystClient.js.map