mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-09-06 20:16:47 +00:00
Some checks failed
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.10) (push) Failing after 6m39s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.11) (push) Failing after 4m44s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.12) (push) Failing after 5m2s
Code Coverage / Test Coverage (pydantic-v1, ubuntu-latest, 3.9) (push) Failing after 4m31s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.10) (push) Failing after 5m1s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.11) (push) Failing after 2m23s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.12) (push) Failing after 4m30s
Code Coverage / Test Coverage (pydantic-v2, ubuntu-latest, 3.9) (push) Failing after 4m19s
Pyright Lint / Pyright Lint (pydantic-v1) (push) Failing after 4m33s
Ruff Lint / Ruff Lint (push) Successful in 25s
Pyright Lint / Pyright Lint (pydantic-v2) (push) Failing after 4m47s
Site Deploy / publish (push) Failing after 4m9s
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, macos-latest, 3.9) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v1, windows-latest, 3.9) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, macos-latest, 3.9) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.10) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.11) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.12) (push) Has been cancelled
Code Coverage / Test Coverage (pydantic-v2, windows-latest, 3.9) (push) Has been cancelled
49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
import { translate } from "@docusaurus/Translate";
|
|
|
|
import type { Adapter, AdaptersResponse } from "@/types/adapter";
|
|
import type { Bot, BotsResponse } from "@/types/bot";
|
|
import type { Driver, DriversResponse } from "@/types/driver";
|
|
import type { Plugin, PluginsResponse } from "@/types/plugin";
|
|
|
|
type RegistryDataResponseTypes = {
|
|
adapter: AdaptersResponse;
|
|
bot: BotsResponse;
|
|
driver: DriversResponse;
|
|
plugin: PluginsResponse;
|
|
};
|
|
type RegistryDataType = keyof RegistryDataResponseTypes;
|
|
|
|
type ResourceTypes = {
|
|
adapter: Adapter;
|
|
bot: Bot;
|
|
driver: Driver;
|
|
plugin: Plugin;
|
|
};
|
|
|
|
export type Resource = Adapter | Bot | Driver | Plugin;
|
|
|
|
export async function fetchRegistryData<T extends RegistryDataType>(
|
|
dataType: T
|
|
): Promise<ResourceTypes[T][]> {
|
|
const resp = await fetch(
|
|
`https://registry.nonebot.dev/${dataType}s.json`
|
|
).catch((e) => {
|
|
throw new Error(`Failed to fetch ${dataType}s: ${e}`);
|
|
});
|
|
if (!resp.ok) {
|
|
throw new Error(
|
|
`Failed to fetch ${dataType}s: ${resp.status} ${resp.statusText}`
|
|
);
|
|
}
|
|
const data = (await resp.json()) as RegistryDataResponseTypes[T];
|
|
return data.map(
|
|
(resource) => ({ ...resource, resourceType: dataType }) as ResourceTypes[T]
|
|
);
|
|
}
|
|
|
|
export const loadFailedTitle = translate({
|
|
id: "pages.store.loadFailed.title",
|
|
message: "加载失败",
|
|
description: "Title to display when loading content failed",
|
|
});
|