input.esl 432 B

1234567891011121314
  1. ((lambda ()
  2. (var throttle null)
  3. (var last-query "")
  4. (var empty-search (object "query" "" "results" (array)))
  5. (return (lambda search (id evt)
  6. (var q evt.target.value)
  7. (= q (q.trim))
  8. (if throttle (clear-timeout throttle))
  9. (if (!== q last-query) (block
  10. (= last-query q)
  11. (if (== q "")
  12. (./results id empty-search)
  13. (= throttle (set-timeout (.bind ./search null id q) 400)))))))))