cleaker
Version:
Who am I here.
51 lines • 1.31 kB
TypeScript
export interface NamespacePublicKey {
kid: string;
alg: string;
key: string;
}
export interface NamespaceSelectorPolicy {
visibility?: 'public' | 'private' | 'scoped';
protocols?: string[];
auth?: string[];
}
export interface NamespaceHostRecord {
id: string;
endpoints: string[];
transport?: string[];
attrs?: Record<string, unknown>;
}
export interface NamespaceRecord {
constant: string;
version: number;
publicKeys: NamespacePublicKey[];
selectors: Record<string, NamespaceSelectorPolicy>;
hosts: NamespaceHostRecord[];
signature?: string;
}
export interface NamespaceSelectorAtom {
key: string;
value: string;
raw: string;
}
export type NamespaceSelectorClause = NamespaceSelectorAtom[];
export type NamespaceSelectorSet = NamespaceSelectorClause[];
export interface ParsedNamespaceExpression {
raw: string;
expression: string;
base: string;
fqdn: string;
prefix: string | null;
constant: string;
labels: string[];
contextRaw: string | null;
context: NamespaceSelectorSet;
operation: string | null;
path: string;
transport: {
protocol: 'http' | 'https';
host: string;
port: number | null;
origin: string;
};
}
//# sourceMappingURL=namespace.d.ts.map