@ distilled.cloud/forgejo (英语)
效应原生SDK 福吉乔 爱普,
由 Swagger 2.0 文档生成
/swagger.v1.json。 。 。 .
光谱源
生成器从包的光谱镜读取出一个文件:
specs/spec-mirror-forgejo/specs/forgejo.spec.json
Forgejo没有出版独立的谱系动画. 每个运行中的实例服务
描述其版本的文档 : /swagger.v1.json从
检查到 Forgejo 仓库的去模板
(单位:千美元)templates/swagger/v1_json.tmpl) (中文(简体) ). 镜子
(单位:千美元)蒸馏-镜像/光谱-镜像-福热霍, (中文(简体) ),
在下面获取脚本 stacks/distilled-submodules/spec-repos/forgejo/(快照)
该模板在一个 绑定释放标签 与两个服务器侧
占位符 (info.version, (中文(简体) ), basePath以根架的方式填满
可能的话 弹出 FORGEJO_VERSION 在获取脚本中移动到更新
释放.
pnpm specs:fetch # check out the mirror (from packages/forgejo)
pnpm generate # convert + compile (see scripts/convert.ts)
在镜像存在之前, 或者对今天的上游进行再生 触摸子模块,从 repo 根实现本地化:
pnpm specs:local forgejo
DISTILLED_SPECS_LOCAL=1 pnpm generate forgejo
版式
scripts/convert.ts——将文档的操作用标记桶,应用 rFC-6902 补丁链patches/<tag>/<operationId>.json,以及 每个标签制作一个 Smithy 模型(pnpm convert写给 带子.generated-specs/页:1.scripts/generate.ts——运行在进程中转换并编译模型 输入src/services/<tag>.ts。 。 。 .src/credentials.ts, (中文(简体) ),src/protocol.ts, (中文(简体) ),src/errors.ts, (中文(简体) ),src/retry.ts, (中文(简体) ),src/traits.ts——手写;一切下src/services/实值 生成且从未用手编辑 .
使用量
import * as Redacted from "effect/Redacted";
import * as Forgejo from "@distilled.cloud/forgejo";
const program = Effect.gen(function* () {
const repo = yield* Forgejo.repository.repoGet({
owner: "acme",
repo: "api",
});
return repo.clone_url;
}).pipe(
Effect.provide(
Forgejo.credentials({
baseUrl: "https://git.example.com",
token: Redacted.make(process.env.FORGEJO_TOKEN!),
}),
),
);
baseUrl 是实例来源 /api/v1 前缀在
失踪. FORGEJO_URL 编号 : FORGEJO_TOKEN 驱动 CredentialsFromEnv。 。 。 .