1.1.97 • Published 4 years ago

@htmlacademy/courses-task-checks v1.1.97

Weekly downloads
34
License
ISC
Repository
-
Last release
4 years ago

courses-task-checks

Модуль экспортирует функцию createTaskChecker() и объект Logger.

Использование createTaskChecker()

Функция createTaskChecker() принимает один параметр, объект с ключами:

  • bin, содержит объект {compare: '/usr/bin/compare'}, где значение ключа compare указывает на расположение утилиты командной строки compare
  • checks, содержит объект с ключами:
    • baseDir — каталог в котором будут расположены закешированные данные
    • storeFileName — как правило, содержит значение result.json, имя файла, куда будет сохранён результат
    • cacheFileName — как правило, содержит значение cache.json, имя файла-метки
    • baseUrl — базовый url для вычисления адресов картинок в испытаниях
    • logCliDir — каталог, в котором будут сохраняться логи серверных проверок. Если значение не передано, будет использоваться ./log/cli
  • debug — по умолчанию имеет значение Logger.ERROR, управляет тем, что будет выводиться в лог. Чтобы изменить это значение, нужно проимпортировать объект Logger

Функция возвращает другую функцию, которая принимает на вход два параметра.

Первый параметр — объект с ключами:

  • type — тип задания (html-css, html-css-challenge и т.д.)
  • solutionOnly — используется для случаев, когда нужно получить только картинку с образцом для испытания
  • code — код, приходящий от клиента. Это объект, имеющий ключи html, css, js и svg (от одного до трёх) со строковыми значениями (если solutionOnly имеет значение true, не нужен)
  • goals — состояние целей, полученные с клиента. Для каждой цели приходит объект с ключом status и одним из значений: created, solved или answered (если solutionOnly имеет значение true, не нужен)
  • solution — код решения задания. Присутствует не во всех типах заданий, может быть html или js кодом
  • location — объект, который может быть передан из запускающей программы. Может содержать ключи:
    • dir — каталог, в котором будут сохраняться файлы
    • resultJson — путь к файлу, в который будет сохраняться результат (если файл не указан, предполагается, что сохранять его на диск не нужно)
    • cacheJson — путь к файлу, в который будет сохраняться отметка о запуске проверки
    • baseUrl — базовый путь, начиная от которого будут сохраняться картинки для испытаний
    • url — url, по которому можно будет получить результат

В случае, если ключ location не передан, каталог для сохранения данных вычисляется на основе checks.baseDir и md5-суммы полученного кода. В этом случае считается, что файлы result.json и cache.json нужно сохранять.

В случае, если ключ solutionOnly имеет значение true, достаточно передать type (или task.type) — тип задания и solution.

Второй параметр — колбэк, в который передаётся два параметра:

  • Первый — текст ошибки, если она случилась
  • Второй — результат проверки
1.1.97

4 years ago

1.1.96

4 years ago

1.1.95

4 years ago

1.1.92

4 years ago

1.1.94

4 years ago

1.1.93

4 years ago

1.1.90

4 years ago

1.1.89

4 years ago

1.1.88

4 years ago

1.1.87

4 years ago

1.1.86

4 years ago

1.1.85

4 years ago

1.1.84

4 years ago

1.1.83

4 years ago

1.1.82

4 years ago

1.1.81

4 years ago

1.1.80

4 years ago

1.1.78

4 years ago

1.1.77

4 years ago

1.1.76

4 years ago

1.1.75

4 years ago

1.1.73

4 years ago

1.1.72

4 years ago

1.1.71

4 years ago

1.1.70

5 years ago

1.1.68

5 years ago

1.1.67

5 years ago

1.1.66

5 years ago

1.1.65

5 years ago

1.1.62

5 years ago

1.1.61

5 years ago

1.1.60

5 years ago

1.1.59

5 years ago

1.1.58

5 years ago

1.1.57

5 years ago

1.1.56

5 years ago

1.1.55

5 years ago

1.1.54

5 years ago

1.1.53

5 years ago

1.1.50

5 years ago

1.1.47

5 years ago

1.1.46

5 years ago

1.1.45

5 years ago

1.1.43

5 years ago

1.1.42

5 years ago

1.1.39

5 years ago

1.1.38

5 years ago

1.1.37

5 years ago

1.1.36

5 years ago

1.1.35

5 years ago

1.1.34

5 years ago

1.1.33

5 years ago

1.1.30

5 years ago

1.1.29

5 years ago

1.1.28

5 years ago

1.1.27

5 years ago

1.1.26

5 years ago

1.1.25

5 years ago

1.1.24

5 years ago

1.1.23

5 years ago

1.1.22

5 years ago

1.1.21

5 years ago

1.1.20

5 years ago

1.1.19

5 years ago

1.1.18

5 years ago

1.1.17

5 years ago

1.1.16

5 years ago

1.1.15

5 years ago

1.1.14

5 years ago

1.1.13

6 years ago

1.1.12

6 years ago

1.1.11-6

6 years ago

1.1.11-5

6 years ago

1.1.11-4

6 years ago

1.1.11-3

6 years ago

1.1.11-2

6 years ago

1.1.11

6 years ago

1.1.10-22

6 years ago

1.1.10-21

6 years ago

1.1.10-20

6 years ago

1.1.10-19

6 years ago

1.1.10-18

6 years ago

1.1.10-17

6 years ago

1.1.10-16

6 years ago

1.1.10-15

6 years ago

1.1.10-14

6 years ago

1.1.10-13

6 years ago

1.0.10-14

6 years ago

1.1.10-12

6 years ago

1.1.10-11

6 years ago

1.1.10-10

6 years ago

1.1.10-9

6 years ago

1.1.10-8

6 years ago

1.1.10-7

6 years ago

1.1.10-6

6 years ago

1.1.10-5

6 years ago

1.1.10-4

6 years ago

1.1.10-3

6 years ago

1.1.10-2

6 years ago

1.1.10-1

6 years ago

1.1.9-8

6 years ago

1.1.9-7

6 years ago

1.1.9-6

6 years ago

1.1.10

6 years ago

1.1.9-5

6 years ago

1.1.9-4

6 years ago

1.1.9-3

6 years ago

1.1.9-2

6 years ago

1.1.9-1

6 years ago

1.1.9

6 years ago

1.1.8-15

6 years ago

1.1.8-14

6 years ago

1.1.8-13

6 years ago

1.1.8-12

6 years ago

1.1.8-11

6 years ago

1.1.8-10

6 years ago

1.1.8-9

6 years ago

1.1.8-8

6 years ago

1.1.8-7

6 years ago

1.1.8-6

6 years ago

1.1.8-5

6 years ago

1.1.8-4

6 years ago

1.1.8-3

6 years ago

1.1.8-2

6 years ago

1.1.8-1

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago