8.0.1-2023.2.868 • Published 1 month ago

@umbrik/webtutor-types v8.0.1-2023.2.868

Weekly downloads
-
License
ISC
Repository
github
Last release
1 month ago

Документация

Скоро документация переедет полностью на 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"
    ]
  }
}

⌨️ Пример использования

image

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

  1. Clone
  2. Code
  3. PR
8.0.1-2023.2.868

1 month ago

8.0.0-2023.2.868

1 month ago

8.0.0

2 months ago

7.67.0

3 months ago

7.66.2

3 months ago

7.66.1

3 months ago

7.66.0

4 months ago

7.65.0

5 months ago

7.64.0

5 months ago

7.63.0

5 months ago

7.62.0

5 months ago

7.61.0

5 months ago

7.51.0

10 months ago

7.51.1

10 months ago

7.51.2

10 months ago

7.59.0

5 months ago

7.51.3

10 months ago

7.55.0

6 months ago

7.50.0

10 months ago

7.58.0

5 months ago

7.54.0

6 months ago

7.53.0

6 months ago

7.57.0

5 months ago

7.60.0

5 months ago

7.49.1

10 months ago

7.52.0

6 months ago

7.56.0

6 months ago

7.48.1

11 months ago

7.48.2

11 months ago

7.48.3

11 months ago

7.49.0

11 months ago

7.48.0

1 year ago

7.44.0

1 year ago

7.47.0

1 year ago

7.47.1

1 year ago

7.43.0

1 year ago

7.46.0

1 year ago

7.45.0

1 year ago

7.42.0

1 year ago

7.41.0

1 year ago

7.40.0

1 year ago

7.39.0

1 year ago

7.38.0

1 year ago

7.37.0

1 year ago

7.29.1

2 years ago

7.29.0

2 years ago

7.36.0

1 year ago

7.32.0

1 year ago

7.28.0

2 years ago

7.31.0

2 years ago

7.35.0

1 year ago

7.27.0

2 years ago

7.30.0

2 years ago

7.34.1

1 year ago

7.34.0

1 year ago

7.26.0

2 years ago

7.33.0

1 year ago

7.33.1

1 year ago

7.25.0

2 years ago

7.21.0

2 years ago

7.23.0

2 years ago

7.22.0

2 years ago

7.24.0

2 years ago

7.18.0

2 years ago

7.3.0

2 years ago

7.8.0

2 years ago

7.6.0

2 years ago

7.17.0

2 years ago

7.15.0

2 years ago

7.13.0

2 years ago

7.11.0

2 years ago

7.19.0

2 years ago

7.20.0

2 years ago

7.4.0

2 years ago

7.2.0

2 years ago

7.7.0

2 years ago

7.5.0

2 years ago

7.9.0

2 years ago

7.16.0

2 years ago

7.14.0

2 years ago

7.12.0

2 years ago

7.10.0

2 years ago

7.1.0

2 years ago

7.0.0

2 years ago

3.1.12

2 years ago

3.1.11

2 years ago

3.1.14

2 years ago

5.3.0

2 years ago

3.1.13

2 years ago

3.1.16

2 years ago

5.1.0

2 years ago

3.1.15

2 years ago

1.8.2

2 years ago

1.8.1

2 years ago

6.1.0

2 years ago

3.1.10

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

3.1.9

2 years ago

3.1.8

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

3.2.0

2 years ago

3.0.2

2 years ago

3.0.0

2 years ago

4.0.2

2 years ago

5.2.0

2 years ago

5.0.0

2 years ago

6.0.0

2 years ago

6.2.0

2 years ago

3.3.1

2 years ago

3.1.3

2 years ago

3.3.0

2 years ago

3.1.2

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.1.7

2 years ago

3.1.6

2 years ago

3.3.3

2 years ago

3.1.5

2 years ago

3.3.2

2 years ago

3.1.4

2 years ago

4.1.0

2 years ago

1.8.0

2 years ago

1.7.1

2 years ago

1.7.0

2 years ago

1.6.1

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.20

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago