Как правильно объявить .d.ts библиотеки GAS? - PullRequest
0 голосов
/ 28 апреля 2019

Когда библиотека GAS (Google Apps Script) добавляется в другой проект GAS, весь ее контент становится доступным через идентификатор (например, MyLib. Это означает, что объект, объявленный в библиотеке, должен быть адресован как MyLib.SomeEntity когда файлы библиотеки .d.ts просто объявляют SomeEntity.

Моя цель - определить наилучший подход к объявлению о том, что содержимое файла .d.ts доступно с префиксом MyLib..

На данный момент единственное решение, которое я смог успешно протестировать, - это вручную отредактировать библиотеку .d.ts file, как указано ниже:

  • удалить все корневые уровни declare ключевое слово
  • объявляет пространство имен MyLib, которое содержит все

Так, например

// MyLib.d.ts (generated by tsc)
declare function callMe(): boolean;
declare enum Ex {
    true = 0,
    false = 1
}
declare namespace ns {
    function fn(): string;
}

станет

// MyLib.d.ts (edited for use with the `MyLib` identifier
declare namespace MyLib {
    function callMe(): boolean;
    enum Ex {
        true = 0,
        false = 1
    }
    namespace ns {
        function fn(): string;
    }
}

Проблема в том, что это должно быть автоматизировано, чтобы быть масштабируемым и интегрированным в цепочку сборки.

У кого-нибудь есть лучший вариант решения этой проблемы?

...