version.d.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /// <reference types="node" />
  2. /// <reference types="node" />
  3. import { inspect } from "util";
  4. import { Buffer } from "buffer";
  5. import { PrimitiveDelta } from "./delta";
  6. import { Delta } from "./delta";
  7. type DiffType = Delta;
  8. type OverridingsMap = Map<Delta, Delta>;
  9. export interface Embedding {
  10. version: Version;
  11. overridings: OverridingsMap;
  12. }
  13. export type Embeddings = Map<string, Embedding>;
  14. export type ParentLink = [Version, DiffType];
  15. export type ChildLink = [Version, DiffType];
  16. type PathLink = [('p' | 'c'), DiffType, Version];
  17. export declare class Version {
  18. readonly parents: Array<ParentLink>;
  19. readonly children: Array<ChildLink>;
  20. readonly embeddings: Embeddings;
  21. readonly reverseEmbeddings: Map<string, Version[]>;
  22. readonly hash: Buffer;
  23. readonly size: number;
  24. constructor(parents: Array<ParentLink>, hash: Buffer, size: number, embeddings: (Version: any) => Embeddings);
  25. implicitSelfEmbedding: Embedding;
  26. [Symbol.iterator](): Iterator<DiffType>;
  27. iterPrimitiveDeltas(): Iterable<PrimitiveDelta>;
  28. [inspect.custom](depth: number, options: object): string;
  29. isSubSetOf(otherVersion: Version): boolean;
  30. contains(delta: Delta): boolean;
  31. containsPrimitive(delta: PrimitiveDelta): boolean;
  32. findPathTo(otherVersion: Version): Array<PathLink> | undefined;
  33. findDescendant(otherVersion: Version): Array<PathLink> | undefined;
  34. getEmbedding(key: string): Embedding;
  35. getReverseEmbeddings(key: string): Version[];
  36. serialize(alreadyHave?: Set<Version>): {
  37. externalDependencies: string[];
  38. deltas: never[];
  39. versions: never[];
  40. };
  41. private serializeInternal;
  42. }
  43. export declare class VersionRegistry {
  44. readonly initialVersion: Version;
  45. readonly versionMap: Map<string, Version>;
  46. lookupOptional(hash: Buffer): Version | undefined;
  47. lookup(hash: Buffer): Version;
  48. private putVersion;
  49. createVersion(parent: Version, delta: DiffType, embeddings?: (Version: any) => Embeddings): Version;
  50. createVersionUnsafe(parent: Version, delta: DiffType, embeddings?: (Version: any) => Embeddings): Version;
  51. quickVersion(deltas: Array<DiffType>): Version;
  52. getIntersection(versions: Array<Version>): Version;
  53. private getLCAInternal;
  54. getLCA(versions: Array<Version>): Version;
  55. merge(versions: Array<Version>, debugNames?: (Delta: any) => string): Array<Version>;
  56. crazyMerge(versions: Array<Version>, debugNames?: (Delta: any) => string): Array<Version>;
  57. }
  58. export {};