UNPKG

1.58 kBTypeScriptView Raw
1import type { Deserializer, Serializer } from "../serialization";
2import type { FileRegistry as JSONFileRegistry } from "../serialization/schema";
3import type { Reflection } from "./reflections";
4export declare class FileRegistry {
5 protected nextId: number;
6 protected mediaToReflection: Map<number, Reflection>;
7 protected mediaToPath: Map<number, string>;
8 protected reflectionToPath: Map<Reflection, string>;
9 protected pathToMedia: Map<string, number>;
10 protected names: Map<number, string>;
11 protected nameUsage: Map<string, number>;
12 registerAbsolute(absolute: string): number;
13 /** Called by {@link ProjectReflection.registerReflection} @internal*/
14 registerReflection(absolute: string, reflection: Reflection): void;
15 register(sourcePath: string, relativePath: string): number | undefined;
16 removeReflection(reflection: Reflection): void;
17 resolve(id: number): string | Reflection | undefined;
18 getName(id: number): string | undefined;
19 getNameToAbsoluteMap(): ReadonlyMap<string, string>;
20 toObject(ser: Serializer): JSONFileRegistry;
21 /**
22 * Revive a file registry from disc.
23 * Note that in the packages context this may be called multiple times on
24 * a single object, and should merge in files from the other registries.
25 */
26 fromObject(de: Deserializer, obj: JSONFileRegistry): void;
27}
28export declare class ValidatingFileRegistry extends FileRegistry {
29 register(sourcePath: string, relativePath: string): number | undefined;
30 fromObject(de: Deserializer, obj: JSONFileRegistry): void;
31}