@apistudio/apim-cli
Version:
CLI for API Management Products
27 lines (23 loc) • 644 B
text/typescript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { Assertion as KindAssertion } from '@apic/api-model/test/Assertion.js';
import { AssertionSchema } from '../schemas/assertions.schema.js';
import { transformZodErrors } from '../helpers/zod-error-formatter.helper.js';
export type Assertion = KindAssertion;
export class AssertionFactory {
create(raw: any): Assertion {
let parsed;
try {
parsed = AssertionSchema.parse(raw);
} catch (error) {
throw transformZodErrors(error);
}
const model = {
kind: parsed.kind,
metadata: parsed.metadata,
spec: parsed.spec,
};
return model;
}
}