UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

78 lines (77 loc) 3.34 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var engine_exports = {}; __export(engine_exports, { instanceChildren: () => instanceChildren, instanceInfo: () => instanceInfo, updateInstance: () => updateInstance }); module.exports = __toCommonJS(engine_exports); var import_apiGroup = require("../../apiGroup"); var import_utils = require("../../../utils/utils"); const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "Engine", baseUrl: "https://apis.roblox.com/cloud" }); const instanceInfo = createApiMethod(async ({ universeId, placeId, instanceId }) => ({ method: "GET", path: `/v2/universes/${universeId}/places/${placeId}/instances/${instanceId}`, name: `instanceInfo`, formatRawDataFn: (rawData) => { const response = rawData.response; if (!response) return rawData; const engineInstance = rawData.response.engineInstance; return { ...rawData, response: { ...response, engineInstance: (0, import_utils.toCamel)(engineInstance) } }; } })); const instanceChildren = createApiMethod(async ({ universeId, placeId, instanceId, limit, cursor }) => ({ method: "GET", path: `/v2/universes/${universeId}/places/${placeId}/instances/${instanceId}:listChildren`, searchParams: { maxPageSize: limit, pageToken: cursor }, name: `instanceChildren`, getCursorsFn: ({ response }) => { if (!response) return [null, null]; return [null, response.nextPageToken]; }, formatRawDataFn: (rawData) => { const response = rawData.response; if (!response) return rawData; const prettifiedInstances = response.instances.map((inst) => (0, import_utils.toCamel)(inst)); return { ...rawData, response: { ...response, instances: prettifiedInstances } }; } })); const updateInstance = createApiMethod(async ({ universeId, placeId, instanceId, newData }) => { const { Name, Parent, ...details } = (0, import_utils.toPascal)(newData); return { method: "PATCH", path: `/v2/universes/${universeId}/places/${placeId}/instances/${instanceId}`, body: { engineInstance: { Name, Parent, Details: { ...details } } }, applyFieldMask: true, name: `updateInstance`, formatRawDataFn: (rawData) => { const response = rawData.response; if (!response) return rawData; const engineInstance = rawData.response.engineInstance; return { ...rawData, response: { ...response, engineInstance: (0, import_utils.toCamel)(engineInstance) } }; } }; }); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { instanceChildren, instanceInfo, updateInstance });