11import { Bun , getPackageJson , getPackageTypes } from "@jsdocs-io/extractor" ;
22import { goTry } from "go-go-try" ;
33import { join } from "pathe" ;
4+ import { PackageApiMemDb } from "../../db/package-api-mem-db" ;
5+ import { PackageApiR2Bucket } from "../../db/package-api-r2-bucket" ;
46import { serverEnv } from "../../server-env" ;
57import { checkLicense } from "../../utils/check-license" ;
68import { getDTPackageName , isDTPackage } from "../../utils/definitely-typed" ;
@@ -12,6 +14,7 @@ import { redirect } from "../redirect";
1214import { parsePackageSlug } from "./parse-package-slug" ;
1315
1416const bun = new Bun ( serverEnv . BUN_PATH ) ;
17+ const db = serverEnv . CF_BUCKET_NAME ? new PackageApiR2Bucket ( ) : new PackageApiMemDb ( ) ;
1518
1619export interface HandlePackageOutput { }
1720
@@ -116,25 +119,23 @@ export async function handlePackage(slug: string) {
116119 } ;
117120 }
118121
119- // // Check if the DB already has the package API.
120- // const db = yield * Db;
121- // yield * Effect.logInfo(`using db: ${db.name}`);
122- // const getPkgApiRes = yield * Effect.either(db.getPackageApi({ pkg, subpath }));
123- // if (Either.isLeft(getPkgApiRes)) {
124- // yield * Effect.logWarning(getPkgApiRes.left);
125- // } else {
126- // yield * Effect.logInfo(`db has package api for: ${pkgId}`);
127- // const pkgApi = getPkgApiRes.right;
128- // return {
129- // status: "with-api" as const,
130- // pkgId,
131- // subpath,
132- // pkgJson,
133- // pkgApi,
134- // generatedAt: generatedAt(),
135- // generatedIn: generatedIn(start),
136- // };
137- // }
122+ // Check if the DB already has the package API.
123+ const [ dbErr , dbPkgApi ] = await goTry ( db . getPackageApi ( pkgId ) ) ;
124+ if ( dbErr !== undefined ) {
125+ log . warn ( { db : db . dbName , warn : dbErr } ) ;
126+ }
127+ if ( dbPkgApi ) {
128+ log . info ( { db : db . dbName , pkgId, hasApi : true } ) ;
129+ return {
130+ status : "has-api" as const ,
131+ pkgId,
132+ subpath,
133+ pkgJson,
134+ pkgApi : dbPkgApi ,
135+ generatedAt : generatedAt ( ) ,
136+ generatedIn : generatedIn ( start ) ,
137+ } ;
138+ }
138139
139140 // // Extract the package API.
140141 // const pkgApiRes = yield * Effect.either(extractPackageApi({ pkg, subpath }));
0 commit comments