package.d.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. export declare type PackageMap = Map<string, Package>;
  2. export declare class PackageError extends Error {
  3. package: string;
  4. constructor(message: string, name: string);
  5. }
  6. export declare type PackageReady = (name: string) => string | void;
  7. export declare type PackageFailed = (message: PackageError) => void;
  8. export declare type PackagePromise = (resolve: PackageReady, reject: PackageFailed) => void;
  9. export interface PackageConfig {
  10. ready?: PackageReady;
  11. failed?: PackageFailed;
  12. checkReady?: () => Promise<void>;
  13. }
  14. export declare class Package {
  15. static packages: PackageMap;
  16. name: string;
  17. isLoaded: boolean;
  18. promise: Promise<string>;
  19. protected isLoading: boolean;
  20. protected hasFailed: boolean;
  21. protected noLoad: boolean;
  22. protected resolve: PackageReady;
  23. protected reject: PackageFailed;
  24. protected dependents: Package[];
  25. protected dependencies: Package[];
  26. protected dependencyCount: number;
  27. protected provided: Package[];
  28. get canLoad(): boolean;
  29. static resolvePath(name: string, addExtension?: boolean): string;
  30. static loadAll(): void;
  31. constructor(name: string, noLoad?: boolean);
  32. protected makeDependencies(): Promise<string>[];
  33. protected makePromise(promises: Promise<string>[]): Promise<string>;
  34. load(): void;
  35. protected loadCustom(url: string): void;
  36. protected loadScript(url: string): void;
  37. loaded(): void;
  38. protected failed(message: string): void;
  39. protected checkLoad(): void;
  40. requirementSatisfied(): void;
  41. provides(names?: string[]): void;
  42. addDependent(extension: Package, noLoad: boolean): void;
  43. checkNoLoad(): void;
  44. }