@backstage/cli
Version:
CLI for developing Backstage plugins and apps
37 lines (34 loc) • 972 B
JavaScript
class ServerDataStore {
static bind(server) {
const store = /* @__PURE__ */ new Map();
server.registerMethod(
"DevDataStore.save",
async (request, { generation }) => {
const { key, data } = request;
if (!key) {
throw new Error("Key is required in DevDataStore.save");
}
const item = store.get(key);
if (!item) {
store.set(key, { generation, data });
return { saved: true };
}
if (item.generation > generation) {
return { saved: false };
}
store.set(key, { generation, data });
return { saved: true };
}
);
server.registerMethod(
"DevDataStore.load",
async (request) => {
const item = store.get(request.key);
return { loaded: Boolean(item), data: item?.data };
}
);
}
}
exports.ServerDataStore = ServerDataStore;
//# sourceMappingURL=ServerDataStore.cjs.js.map
;