UNPKG

@safeapi/safeapi

Version:

SafeAPI: Secure, deterministic, and tamper-resistant API policy engine for Node and browser.

32 lines (31 loc) 1.09 kB
import type { Frozen } from "./shared/types"; import type { SafeApiPolicy } from "./SafeApiTypes"; /** @internal */ export declare class SafeApiPolicyError extends Error { code: string; kind: string; constructor(message: string, code: string, kind?: string); } /** @internal */ export type FrozenSafeApiPolicy = Frozen<SafeApiPolicy>; /** @internal */ export interface SafeApiPolicyDiff { policyId: string; fromVersion: string | null; toVersion: string | null; addedRules: string[]; removedRules: string[]; changedRules: Array<{ ruleId: string; fromHash: string | null; toHash: string | null; }>; } /** @internal */ export declare function validatePolicy(policy: SafeApiPolicy): void; /** @internal */ export declare function normalizePolicy(policy: SafeApiPolicy): FrozenSafeApiPolicy; /** @internal */ export declare function computePolicyHash(policy: SafeApiPolicy | FrozenSafeApiPolicy): string; /** @internal */ export declare function diffPolicies(oldPolicy: SafeApiPolicy, newPolicy: SafeApiPolicy): SafeApiPolicyDiff;