Skip to content

Commit 8c301e7

Browse files
authored
Merge pull request #46 from commandlayer/fix/agent-sdk-ajv2020-constructor-interop
fix: resolve Ajv2020 constructor interop
2 parents 048e848 + ccd483b commit 8c301e7

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

src/trust.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
import { createRequire } from "node:module";
22
import { type ErrorObject } from "ajv";
3-
import Ajv2020 from "ajv/dist/2020.js";
3+
import * as Ajv2020Module from "ajv/dist/2020.js";
44
import * as addFormatsModule from "ajv-formats";
55

66
export interface TrustValidationResult {
77
ok: boolean;
88
errors: string[];
99
}
1010

11-
type AddFormats = (ajv: Ajv2020) => Ajv2020;
11+
type Ajv2020Instance = InstanceType<typeof Ajv2020Ctor>;
12+
type AddFormats = (ajv: Ajv2020Instance) => Ajv2020Instance;
13+
14+
const Ajv2020Ctor = (Ajv2020Module as unknown as { default?: typeof import("ajv/dist/2020.js").default }).default
15+
?? (Ajv2020Module as unknown as typeof import("ajv/dist/2020.js").default);
1216

1317
const addFormats = (addFormatsModule as unknown as { default?: AddFormats }).default
1418
?? (addFormatsModule as unknown as AddFormats);
@@ -17,7 +21,7 @@ const _require = createRequire(import.meta.url);
1721
const trustRequestSchema = _require("./schemas.trust-request-v1.json") as Record<string, unknown>;
1822
const trustReceiptSchema = _require("./schemas.trust-receipt-v1.json") as Record<string, unknown>;
1923

20-
const ajv = new Ajv2020({ allErrors: true, strict: false });
24+
const ajv = new Ajv2020Ctor({ allErrors: true, strict: false });
2125
addFormats(ajv);
2226
ajv.addSchema(trustRequestSchema, "trust-request-v1");
2327

0 commit comments

Comments
 (0)