denkisil / обробник_подій

Обробник подій у Мавці

Отримати
взяти "хмарний.пак.укр/обробник_подій/0.0.1"
0.0.1
структура ОбробникПодій
	події словник
кінець

дія ОбробникПодій.виконати_створення(словник_подій)
	якщо словник_подій не є пусто
		якщо словник_подій не є словник
			впасти "аргумент `словник_подій` не є словником"
		кінець

		перебрати словник_подій.ключі() як ключ
			якщо ключ не є текст
				впасти "назва події не є текстом"
			кінець

			якщо словник_подій.отримати(ключ) не є Дія
				впасти "обробник події не є дією"
			кінець
		кінець

		я.події = словник_подій
	інакше 
		я.події = словник()
	кінець
кінець

дія ОбробникПодій.додати_подію(назва, обробник)
	якщо назва не є текст
		впасти "назва події не є текстом"
	кінець

	якщо обробник не є Дія
		впасти "обробник події не є дією"
	кінець

	я.події.покласти(назва, обробник)
кінець

дія ОбробникПодій.обробити(назва, зворот_виклик)
	якщо назва не є текст
		впасти "назва події не є текстом"
	кінець

	якщо зворот_виклик не є Дія
		впасти "зворотній виклик не є дією"
	кінець

	вернути зворот_виклик(я.події.отримати(назва).виконати_виклик())
кінець


дати ОбробникПодій
Версії