Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; store
- (defn find-by-id [id]
- {})
- (defn find-friends-of [id]
- [])
- (defn find-last-post-of [id]
- {})
- ;; core
- (defn user [service id]
- (service id))
- (defn friends [service id]
- (service id))
- (defn last-post-of [service id]
- (service id))
- (defn user+friends+last-post [user-service friends-service last-post-service id]
- (let [user (user-service id)
- friends (friends-service id)
- friends+last-posts (map #(assoc % :post (last-post-service (:id %))) friends)]
- (assoc user :friends friends+last-posts)))
- ;; public
- (def user (partial user find-by-id))
- (def friends (partial friends find-friends-of))
- (def last-post-of (partial last-post-of find-last-post-of))
- (def user+friends+last-post
- (partial user+friends+last-post find-by-id find-friends-of find-last-post-of))
- ;; client
- (user 1)
- (friends 1)
- (last-post-of 2)
- (user+friends+last-post 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement