5d42cf4bc1ba1f2cf58ce77ff62c49ddc23c95884838333dae3454fe62aaf6006caebc0b4678a050e8686f2e92958593777a7476b13f04e56e645ae774af18 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. declare type Line = number;
  2. declare type Column = number;
  3. declare type Kind = number;
  4. declare type Name = number;
  5. declare type Var = number;
  6. declare type SourcesIndex = number;
  7. declare type ScopesIndex = number;
  8. declare type Mix<A, B, O> = (A & O) | (B & O);
  9. export declare type OriginalScope = Mix<[
  10. Line,
  11. Column,
  12. Line,
  13. Column,
  14. Kind
  15. ], [
  16. Line,
  17. Column,
  18. Line,
  19. Column,
  20. Kind,
  21. Name
  22. ], {
  23. vars: Var[];
  24. }>;
  25. export declare type GeneratedRange = Mix<[
  26. Line,
  27. Column,
  28. Line,
  29. Column
  30. ], [
  31. Line,
  32. Column,
  33. Line,
  34. Column,
  35. SourcesIndex,
  36. ScopesIndex
  37. ], {
  38. callsite: CallSite | null;
  39. bindings: Binding[];
  40. isScope: boolean;
  41. }>;
  42. export declare type CallSite = [SourcesIndex, Line, Column];
  43. declare type Binding = BindingExpressionRange[];
  44. export declare type BindingExpressionRange = [Name] | [Name, Line, Column];
  45. export declare function decodeOriginalScopes(input: string): OriginalScope[];
  46. export declare function encodeOriginalScopes(scopes: OriginalScope[]): string;
  47. export declare function decodeGeneratedRanges(input: string): GeneratedRange[];
  48. export declare function encodeGeneratedRanges(ranges: GeneratedRange[]): string;
  49. export {};