-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.lisp
65 lines (64 loc) · 1.11 KB
/
package.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
;;;; package.lisp
(defpackage #:cl-ohm
(:documentation "Object-hash mapping for Redis.")
(:nicknames #:ohm)
(:use #:cl)
(:shadow #:remove #:pop #:first #:last #:member
#:replace #:union #:sort)
(:import-from #:redis
#:with-pipelining)
(:import-from #:alexandria
#:define-constant
#:make-keyword
#:once-only)
;; high-level
(:export
#:ohm-id
#:class-key
#:object-key
#:create
#:save
#:del
#:filter
#:filter-id
#:filter-with
#:define-ohm-model)
;; conditions
(:export
#:ohm-missing-id-error
#:ohm-no-index-found-error
#:ohm-unique-constraint-violation)
;; connection
(:export
#:setup-redis-connection
#:with-connection
#:with-transaction
#:flush-db)
;; counter
(:export
#:counter
#:incr
#:decr)
;; sets & lists
(:export
#:add
#:remove
#:replace
#:size
#:member
#:elements
#:add-left
#:pop
#:pop-left
#:index
#:first
#:last
#:list-ids
#:range
#:find-id
#:set-ids
#:union
#:combine
#:except
#:sort
#:sort-by))