Когда библиотека 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;
}
}
Проблема в том, что это должно быть автоматизировано, чтобы быть масштабируемым и интегрированным в цепочку сборки.
У кого-нибудь есть лучший вариант решения этой проблемы?