@umbrik/webtutor-types v8.0.1-2023.2.868
Документация
Скоро документация переедет полностью на GitHub pages
Зачем?
У вас могут возникнуть вопросы А для чего вообще создан этот репозиторий?, Что это за типы такие?, Зачем мне это все нужно?
Для того, чтобы писать чистый код с меньшим количеством ошибок был создан этот репозиторий с типами для объектов WebSoftHCM.
Этот npm пакет позволяет добавить проверку типов и IntelliSense подсказки в ваши проект (см. пример).
📦 Установка
Важно: типы работают только с typescript<=4.4.4 в связи с тем, что при конкатенации строк + теперь превращается в .concat https://github.com/microsoft/TypeScript/pull/45304
Установка типов сводится к установке самой зависимости в ваш проект и typescript:
npm
npm i typescript -D
npm i @umbrik/webtutor-types@4.4.4 -D
or yarn
yarn add typescript -D
yarn add @umbrik/webtutor-types@4.4.4 -D
🔨 Настройка
Типы можно использовать как в проектах, написанных с использованием typescript, так и в проектах, написанных на javascript.
Генерируем конфиг, либо просто создаем вручную файл tsconfig.json
npx tsc -init
Далее обновляем конфиг:
{
"compilerOptions": {
"target": "es5",
"module": "es6",
"esModuleInterop": true,
"strict": false,
"noImplicitAny": true,
"allowJs": true,
"isolatedModules": true,
"moduleResolution": "node",
"baseUrl": "src",
"noLib": true,
"typeRoots": [
"node_modules/@umbrik/webtutor-types/lib",
"node_modules/@umbrik/webtutor-types/lib/xml"
]
}
}
⌨️ Пример использования
type FuncManagerQueryResult = {
person_id: XmlElem<number>;
}
function getManagersByType(bossTypeCode: string = "main") {
const sql = `sql:
SELECT
[t0].[person_id]
FROM [func_managers] AS [t0]
INNER JOIN [boss_types] AS [t1] ON [t1].[id] = [t0].[boss_type_id]
WHERE [t1].[code] = ${SqlLiteral(bossTypeCode)}
`;
const query = ArraySelectAll(tools.xquery<FuncManagerQueryResult>(sql));
const result = [];
let collaboratorDocument;
let personId;
for (let i = 0; i < query.length; i++) {
personId = query[i].person_id.Value;
collaboratorDocument = tools.open_doc<CollaboratorDocument>(personId);
if (collaboratorDocument === undefined) {
alert(`Can't open collaborator document by id ${personId}`);
continue;
}
result.push({
personId,
fullname: collaboratorDocument.TopElem.fullname()
});
}
return result;
}
🔨 Тестирование
В репозитории есть базовое тестирования для типов.
Можно руководствоваться документацией для написания тестов.
🤝 Contributing
- Clone
- Code
- PR
1 month ago
1 month ago
2 months ago
3 months ago
3 months ago
3 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
10 months ago
10 months ago
10 months ago
5 months ago
10 months ago
6 months ago
10 months ago
5 months ago
6 months ago
6 months ago
5 months ago
5 months ago
10 months ago
6 months ago
6 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
1 year ago
1 year ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago