Код: Выделить всё
declare module 'jquery.terminal' {
...
export interface JQueryStatic {
omap(object: { [key: string]: anyFunction }, fn: mapFunction): { [key: string]: anyFunction };
jrpc(url: string, method: string, params: any[], success?: (json: JSONObject, status: string, jqxhr: JQuery.jqXHR) => void, error?: (jqxhr: JQuery.jqXHR, status: string) => void): void;
terminal: JQueryTerminalStatic;
}
...
const JQTerminal: (window: Window, JQuery: JQueryStatic) => void;
export default JQTerminal;
}
< /code>
Проблема заключается в использовании с оригинальной jQuery: < /p>
import jQuery from 'jquery';
import terminal from 'jquery.terminal';
const $ = terminal(window, jQuery);
< /code>
Я получил ошибку: < /p>
type 'jquerystatic' отсутствует следующие свойства от типа 'jquerystatic': omap, jrpc, терминал [2345] < /p>
< /blockquote>
whehy codes jbery jquery jquery jquery>
codes jquery> Код: < /p>
const JQTerminal: (window: Window, JQuery: JQueryStatic) => void;
< /code>
Я пытался создать тип, но похоже, что интерфейсы передаются ссылкой, а не по значению.import jQuery from 'jquery';
type JQueryStaticOriginal = JQueryStatic;
import terminal from 'jquery.terminal';
import type { JQueryTerminal, JQueryStatic } from 'jquery.terminal';
const $ = terminal(window, jQuery);
const hello = (this: JQueryTerminal) => {
this.echo('hello');
}
$('body').terminal({ hello });
Код: Выделить всё
npm install 'github:jcubic/jquery.terminal#docusaurus'
Код на NPM, который используется в настоящее время только экспорт:
Код: Выделить всё
declare module 'jquery.terminal' {
const JQTerminal: (window: Window, JQuery: JQueryStatic) => void;
export default JQTerminal;
}
Код: Выделить всё
JQueryTerminal
Я пытался определить все типы за пределами модуля, но тогда я получил ошибку, что модуль может экспортировать только вещи изнутри.
Я открыт для любых предложений, которые будут делать мой код. Чтобы использовать его при импорте модуля jQuery . Мне нужно иметь возможность использовать
Код: Выделить всё
(globalThis.$ as JQueryStatic).terminal
Прямо сейчас мой d.ts - единственный файл, но я в порядке, если это нужно разделить на несколько файлов.
Подробнее здесь: https://stackoverflow.com/questions/795 ... e-same-mod