@fragment-dev/cli
Version:
63 lines (60 loc) • 1.45 kB
JavaScript
import {
Schema,
parseWithError
} from "./chunk-66MREU45.js";
import {
formatValidationErrors
} from "./chunk-AY76YKC7.js";
import {
BadRequestError
} from "./chunk-CFMJRPDM.js";
import {
init_cjs_shims
} from "./chunk-7GH3YGSC.js";
// src/utils/schemaValidation.ts
init_cjs_shims();
var validateSchemaStructure = (schema) => {
try {
parseWithError(
Schema,
schema,
BadRequestError,
{
message: `Invalid schema provided`
}
);
} catch (e) {
const { errors } = formatValidationErrors(e);
const error = new Error("Schema validation failed");
error.validationErrors = errors;
throw error;
}
};
var countAccountsRecursively = (accounts) => {
let count = accounts.length;
for (const account of accounts) {
if (account.children) {
count += countAccountsRecursively(account.children);
}
}
return count;
};
var extractSchemaMetadata = (schema) => {
const accountCount = countAccountsRecursively(schema.chartOfAccounts?.accounts || []);
const entryTypeCount = (schema.ledgerEntries?.types || []).length;
return {
key: schema.key,
name: schema.name || "Not specified",
accountCount,
entryTypeCount
};
};
var isJsonParseError = (error) => {
return error.isParseError === true || error.message?.includes("Failed to parse");
};
export {
validateSchemaStructure,
countAccountsRecursively,
extractSchemaMetadata,
isJsonParseError
};