startup.d.ts 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import { MathJaxObject as MJObject, MathJaxConfig as MJConfig } from './global.js';
  2. import { MathDocument } from '../core/MathDocument.js';
  3. import { MmlNode } from '../core/MmlTree/MmlNode.js';
  4. import { Handler } from '../core/Handler.js';
  5. import { InputJax } from '../core/InputJax.js';
  6. import { OutputJax } from '../core/OutputJax.js';
  7. import { CommonOutputJax } from '../output/common/OutputJax.js';
  8. import { DOMAdaptor } from '../core/DOMAdaptor.js';
  9. import { TeX } from '../input/tex.js';
  10. export interface MathJaxConfig extends MJConfig {
  11. startup?: {
  12. input?: string[];
  13. output?: string;
  14. handler?: string;
  15. adaptor?: string;
  16. document?: any;
  17. elements?: any[];
  18. typeset?: boolean;
  19. ready?: () => void;
  20. pageReady?: () => void;
  21. invalidOption?: 'fatal' | 'warn';
  22. optionError?: (message: string, key: string) => void;
  23. [name: string]: any;
  24. };
  25. }
  26. export declare type MATHDOCUMENT = MathDocument<any, any, any>;
  27. export declare type HANDLER = Handler<any, any, any>;
  28. export declare type DOMADAPTOR = DOMAdaptor<any, any, any>;
  29. export declare type INPUTJAX = InputJax<any, any, any>;
  30. export declare type OUTPUTJAX = OutputJax<any, any, any>;
  31. export declare type COMMONJAX = CommonOutputJax<any, any, any, any, any, any, any>;
  32. export declare type TEX = TeX<any, any, any>;
  33. export declare type HandlerExtension = (handler: HANDLER) => HANDLER;
  34. export interface MathJaxObject extends MJObject {
  35. config: MathJaxConfig;
  36. startup: {
  37. constructors: {
  38. [name: string]: any;
  39. };
  40. input: INPUTJAX[];
  41. output: OUTPUTJAX;
  42. handler: HANDLER;
  43. adaptor: DOMADAPTOR;
  44. elements: any[];
  45. document: MATHDOCUMENT;
  46. promise: Promise<void>;
  47. registerConstructor(name: string, constructor: any): void;
  48. useHandler(name: string, force?: boolean): void;
  49. useAdaptor(name: string, force?: boolean): void;
  50. useOutput(name: string, force?: boolean): void;
  51. useInput(name: string, force?: boolean): void;
  52. extendHandler(extend: HandlerExtension): void;
  53. toMML(node: MmlNode): string;
  54. defaultReady(): void;
  55. defaultPageReady(): Promise<void>;
  56. getComponents(): void;
  57. makeMethods(): void;
  58. makeTypesetMethods(): void;
  59. makeOutputMethods(iname: string, oname: string, input: INPUTJAX): void;
  60. makeMmlMethods(name: string, input: INPUTJAX): void;
  61. makeResetMethod(name: string, input: INPUTJAX): void;
  62. getInputJax(): INPUTJAX[];
  63. getOutputJax(): OUTPUTJAX;
  64. getAdaptor(): DOMADAPTOR;
  65. getHandler(): HANDLER;
  66. };
  67. [name: string]: any;
  68. }
  69. export declare namespace Startup {
  70. const constructors: {
  71. [name: string]: any;
  72. };
  73. let input: INPUTJAX[];
  74. let output: OUTPUTJAX;
  75. let handler: HANDLER;
  76. let adaptor: DOMADAPTOR;
  77. let elements: any[];
  78. let document: MATHDOCUMENT;
  79. let promiseResolve: () => void;
  80. let promiseReject: (reason: any) => void;
  81. let promise: Promise<void>;
  82. let pagePromise: Promise<void>;
  83. function toMML(node: MmlNode): string;
  84. function registerConstructor(name: string, constructor: any): void;
  85. function useHandler(name: string, force?: boolean): void;
  86. function useAdaptor(name: string, force?: boolean): void;
  87. function useInput(name: string, force?: boolean): void;
  88. function useOutput(name: string, force?: boolean): void;
  89. function extendHandler(extend: HandlerExtension, priority?: number): void;
  90. function defaultReady(): void;
  91. function defaultPageReady(): Promise<void>;
  92. function getComponents(): void;
  93. function makeMethods(): void;
  94. function makeTypesetMethods(): void;
  95. function makeOutputMethods(iname: string, oname: string, input: INPUTJAX): void;
  96. function makeMmlMethods(name: string, input: INPUTJAX): void;
  97. function makeResetMethod(name: string, input: INPUTJAX): void;
  98. function getInputJax(): INPUTJAX[];
  99. function getOutputJax(): OUTPUTJAX;
  100. function getAdaptor(): DOMADAPTOR;
  101. function getHandler(): HANDLER;
  102. function getDocument(root?: any): MathDocument<any, any, any>;
  103. }
  104. export declare const MathJax: MathJaxObject;
  105. export declare const CONFIG: {
  106. [name: string]: any;
  107. input?: string[];
  108. output?: string;
  109. handler?: string;
  110. adaptor?: string;
  111. document?: any;
  112. elements?: any[];
  113. typeset?: boolean;
  114. ready?: () => void;
  115. pageReady?: () => void;
  116. invalidOption?: 'fatal' | 'warn';
  117. optionError?: (message: string, key: string) => void;
  118. };