e549cd5a18d65f2a914d0e1d2a1b2aae8740e50315a1f146a38349be9a8db8d2b255e3cf610440c8e9b9b08cfd147e0ddeed763268256ac74abf173b560a28 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. type Line = number;
  2. type Column = number;
  3. type Kind = number;
  4. type Name = number;
  5. type Var = number;
  6. type SourcesIndex = number;
  7. type ScopesIndex = number;
  8. type Mix<A, B, O> = (A & O) | (B & O);
  9. export 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 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 type CallSite = [SourcesIndex, Line, Column];
  43. type Binding = BindingExpressionRange[];
  44. export 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 {};
  50. //# sourceMappingURL=scopes.d.ts.map