Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

ConnectionPlugin.ts 989B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import Listenable from '../util/Listenable';
  2. /**
  3. * Creates ConnectionPlugin class that extends the passed class.
  4. * @param {Class} base the definition of the class that will be extended by
  5. * ConnectionPlugin
  6. */
  7. function getConnectionPluginDefinition<T extends new (...args: any[]) => {}>(base: T = class {} as T) {
  8. /**
  9. * Base class for strophe connection plugins.
  10. */
  11. return class extends base {
  12. connection: any | null;
  13. /**
  14. *
  15. */
  16. constructor(...args: any[]) {
  17. super(...args);
  18. this.connection = null;
  19. }
  20. /**
  21. *
  22. * @param connection
  23. */
  24. init(connection: any): void {
  25. this.connection = connection;
  26. }
  27. };
  28. }
  29. /**
  30. * ConnectionPlugin class.
  31. */
  32. export default getConnectionPluginDefinition();
  33. /**
  34. * ConnectionPlugin class that extends Listenable.
  35. */
  36. export const ConnectionPluginListenable = getConnectionPluginDefinition(Listenable);