1.1.97 • Published 5 years ago

@htmlacademy/courses-task-checks v1.1.97

Weekly downloads
34
License
ISC
Repository
-
Last release
5 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

5 years ago

1.1.96

5 years ago

1.1.95

5 years ago

1.1.92

5 years ago

1.1.94

5 years ago

1.1.93

5 years ago

1.1.90

5 years ago

1.1.89

6 years ago

1.1.88

6 years ago

1.1.87

6 years ago

1.1.86

6 years ago

1.1.85

6 years ago

1.1.84

6 years ago

1.1.83

6 years ago

1.1.82

6 years ago

1.1.81

6 years ago

1.1.80

6 years ago

1.1.78

6 years ago

1.1.77

6 years ago

1.1.76

6 years ago

1.1.75

6 years ago

1.1.73

6 years ago

1.1.72

6 years ago

1.1.71

6 years ago

1.1.70

6 years ago

1.1.68

6 years ago

1.1.67

6 years ago

1.1.66

6 years ago

1.1.65

6 years ago

1.1.62

6 years ago

1.1.61

6 years ago

1.1.60

6 years ago

1.1.59

6 years ago

1.1.58

6 years ago

1.1.57

6 years ago

1.1.56

6 years ago

1.1.55

6 years ago

1.1.54

6 years ago

1.1.53

6 years ago

1.1.50

6 years ago

1.1.47

6 years ago

1.1.46

6 years ago

1.1.45

6 years ago

1.1.43

6 years ago

1.1.42

6 years ago

1.1.39

6 years ago

1.1.38

6 years ago

1.1.37

6 years ago

1.1.36

6 years ago

1.1.35

6 years ago

1.1.34

6 years ago

1.1.33

6 years ago

1.1.30

6 years ago

1.1.29

6 years ago

1.1.28

6 years ago

1.1.27

6 years ago

1.1.26

6 years ago

1.1.25

6 years ago

1.1.24

6 years ago

1.1.23

6 years ago

1.1.22

6 years ago

1.1.21

6 years ago

1.1.20

6 years ago

1.1.19

6 years ago

1.1.18

6 years ago

1.1.17

6 years ago

1.1.16

7 years ago

1.1.15

7 years ago

1.1.14

7 years ago

1.1.13

7 years ago

1.1.12

7 years ago

1.1.11-6

7 years ago

1.1.11-5

7 years ago

1.1.11-4

7 years ago

1.1.11-3

7 years ago

1.1.11-2

7 years ago

1.1.11

7 years ago

1.1.10-22

7 years ago

1.1.10-21

7 years ago

1.1.10-20

7 years ago

1.1.10-19

7 years ago

1.1.10-18

7 years ago

1.1.10-17

7 years ago

1.1.10-16

7 years ago

1.1.10-15

7 years ago

1.1.10-14

7 years ago

1.1.10-13

7 years ago

1.0.10-14

7 years ago

1.1.10-12

7 years ago

1.1.10-11

7 years ago

1.1.10-10

7 years ago

1.1.10-9

7 years ago

1.1.10-8

7 years ago

1.1.10-7

7 years ago

1.1.10-6

7 years ago

1.1.10-5

7 years ago

1.1.10-4

7 years ago

1.1.10-3

7 years ago

1.1.10-2

7 years ago

1.1.10-1

7 years ago

1.1.9-8

7 years ago

1.1.9-7

7 years ago

1.1.9-6

7 years ago

1.1.10

7 years ago

1.1.9-5

7 years ago

1.1.9-4

7 years ago

1.1.9-3

7 years ago

1.1.9-2

7 years ago

1.1.9-1

7 years ago

1.1.9

7 years ago

1.1.8-15

7 years ago

1.1.8-14

7 years ago

1.1.8-13

7 years ago

1.1.8-12

7 years ago

1.1.8-11

7 years ago

1.1.8-10

7 years ago

1.1.8-9

7 years ago

1.1.8-8

7 years ago

1.1.8-7

7 years ago

1.1.8-6

7 years ago

1.1.8-5

7 years ago

1.1.8-4

7 years ago

1.1.8-3

7 years ago

1.1.8-2

7 years ago

1.1.8-1

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.1

7 years ago