Alterator/woo
Тут приведены основные форматы woo-команд для использования из интерфейсов:
Все функции выполняющие запросы к бэкендам возвращают список команд:
- (woo-list 'url 'param 'value ...) — вызывает функцию list для запроса списка подобъектов у бакэнда.
- (woo-read 'url 'param 'value.. ) — читает некоторые данные для указанного объекта (функция read)
- (woo-write 'url 'param 'value.. ) — пишет некоторые данные в указанный объект (фунция write)
- (woo-new 'url 'param 'value..) — создаёт некий объект (функция new)
- (woo-delete 'url 'param 'value) — уничтожает некий объект (функция delete)
Все эти функции могут кинуть исключение типа woo-error, в случае если бэкенд сообщит об ошибке. Для более удобной работы именно с этим типом исключения существует функция woo-catch (обычный catch может использоваться с любыми видами исключений). Также доступны:
- woo-catch/message — вариант woo-catch где обработчик ошибки состоит в выдаче окна с сообщением и возврата значения #f.
- woo-throw — выбрасывает исключение типа woo-error.
Для более удобного вытаскивания имени подобъекта существует функция woo-extract-name.
Для более удобного вытаскивания первой команды из ответа существует команда woo-first-command.
- woo-list-names — делает запрос list к бэкенду и возвращает список имён подобъектов (без параметров)
- woo-read-first — считывает данные для указанного объекта. Композиция woo-read и woo-first-command.
- woo-get-option — возвращает значение параметра из ответа бэкенда, возможно задание ответа по-умолчанию.
TODO
- woo-leaf-props: родом из vm/functions.scm
(define (woo-leaf-props url . args) (car (apply woo 'props url 'props args)))