openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
125 lines (124 loc) • 5.55 kB
JavaScript
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 memoryStores_exports = {};
__export(memoryStores_exports, {
createSortedMapItem: () => createSortedMapItem,
deleteSortedMapItem: () => deleteSortedMapItem,
dequeueItems: () => dequeueItems,
enqueueItem: () => enqueueItem,
flushAllQueues: () => flushAllQueues,
listSortedMapItems: () => listSortedMapItems,
readQueueItems: () => readQueueItems,
sortedMapItem: () => sortedMapItem,
updateSortedMapItem: () => updateSortedMapItem
});
module.exports = __toCommonJS(memoryStores_exports);
var import_apiGroup = require("../../apiGroup");
var import_utils = require("../../../utils/utils");
const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "MemoryStore", baseUrl: "https://apis.roblox.com/cloud" });
const sortedMapItem = createApiMethod(async ({ universeId, sortedMap, itemId }) => ({
path: `/v2/universes/${universeId}/memory-store/sorted-maps/${sortedMap}/items/${itemId}`,
method: "GET",
name: "sortedMapItem",
formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => obj.expireTime = new Date(obj.expireTime))
}));
const listSortedMapItems = createApiMethod(async ({ universeId, sortedMap, maxPageSize, orderBy, filter, cursor }) => ({
path: `/v2/universes/${universeId}/memory-store/sorted-maps/${sortedMap}/items`,
method: "GET",
searchParams: { maxPageSize, orderBy, filter, pageToken: cursor },
name: "listSortedMapItems",
formatRawDataFn: ({ items }) => (0, import_utils.cloneAndMutateObject)(items, (obj) => {
obj.forEach((value) => {
value.expireTime = new Date(value.expireTime);
});
}),
getCursorsFn: ({ nextPageToken }) => [void 0, nextPageToken]
}));
const createSortedMapItem = createApiMethod(async ({ universeId, sortedMap, item }) => ({
path: `/v2/universes/${universeId}/memory-store/sorted-maps/${sortedMap}/items`,
method: "POST",
body: { Id: item.id, Value: item.value, Ttl: item.ttl, NumericSortKey: item.numericSortKey, StringSortKey: item.stringSortKey },
name: "createSortedMapItem",
formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => obj.expireTime = new Date(obj.expireTime))
}));
const updateSortedMapItem = createApiMethod(async ({ universeId, sortedMap, itemId, updatedItemData, allowMissing }) => ({
path: `/v2/universes/${universeId}/memory-store/sorted-maps/${sortedMap}/items/${itemId}`,
method: "PATCH",
searchParams: { allowMissing },
body: {
Value: updatedItemData.value,
Ttl: updatedItemData.ttl,
NumericSortKey: updatedItemData.numericSortKey,
StringSortKey: updatedItemData.stringSortKey
},
name: "updateSortedMapItem",
formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => obj.expireTime = new Date(obj.expireTime))
}));
const deleteSortedMapItem = createApiMethod(async ({ universeId, sortedMap, itemId, etag }) => ({
path: `/v2/universes/${universeId}/memory-store/sorted-maps/${sortedMap}/items/${itemId}`,
method: "DELETE",
searchParams: { etag },
name: "deleteSortedMapItem"
}));
const enqueueItem = createApiMethod(async ({ universeId, queue, item }) => ({
path: `/v2/universes/${universeId}/memory-store/queues/${queue}/items`,
method: "POST",
body: {
data: { name: item.name, value: item.value },
ttl: item.ttl,
priority: item.priority
},
name: "enqueueItem",
formatRawDataFn: (rawData) => (0, import_utils.cloneAndMutateObject)(rawData, (obj) => obj.expireTime = new Date(obj.expireTime))
}));
const readQueueItems = createApiMethod(async ({ universeId, queue, limit, allOrNothing, invisibilityTimeoutSeconds }) => ({
path: `/v2/universes/${universeId}/memory-store/queues/${queue}/items:read`,
method: "GET",
searchParams: { count: limit, allOrNothing, invisibilityTimeoutSeconds },
name: "readQueueItems",
formatRawDataFn: ({ data, id }) => ({ items: data, readId: id })
}));
const dequeueItems = createApiMethod(async ({ universeId, queue, readId }) => ({
path: `/v2/universes/${universeId}/memory-store/queues/${queue}/items:discard`,
method: "POST",
searchParams: { readId },
name: "dequeueItems"
}));
const flushAllQueues = createApiMethod(async ({ universeId }) => ({
path: `/v2/universes/${universeId}/memory-store:flush`,
method: "POST",
name: "flushQueue",
pathToPoll: ({ path }) => `/universes/${universeId}/memory-store/operations/${path.split("/")[5]}`,
formatRawDataFn: ({ path, done }) => ({
path,
done: done ? true : false
})
}));
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
createSortedMapItem,
deleteSortedMapItem,
dequeueItems,
enqueueItem,
flushAllQueues,
listSortedMapItems,
readQueueItems,
sortedMapItem,
updateSortedMapItem
});
;