;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (require 'cl-lib) #@55 Create nREPL dict from KEY-VALS. (fn &rest KEY-VALS) (defalias 'nrepl-dict #[128 "\300B\207" [dict] 3 (#$ . 105)]) #@41 Create nREPL dict from HASH. (fn HASH) (defalias 'nrepl-dict-from-hash #[257 "\300 \301\302\303\"\"\210\207" [nrepl-dict maphash make-closure #[514 "\301\300#\207" [V0 nrepl-dict-put] 6 "\n\n(fn K V)"]] 6 (#$ . 228)]) #@51 Return t if OBJECT is an nREPL dict. (fn OBJECT) (defalias 'nrepl-dict-p #[257 "\211<\205 \211@\300=\207" [dict] 3 (#$ . 457)]) #@50 Return t if nREPL dict DICT is empty. (fn DICT) (defalias 'nrepl-dict-empty-p #[257 "\211A?\207" [] 2 (#$ . 593)]) #@264 Return nil if nREPL dict DICT doesn't contain KEY. If DICT does contain KEY, then a non-nil value is returned. Due to the current implementation, this return value is the tail of DICT's key-list whose car is KEY. Comparison is done with `equal'. (fn DICT KEY) (defalias 'nrepl-dict-contains #[514 "\211\300!\235\207" [nrepl-dict-keys] 5 (#$ . 716)]) #@257 Get from DICT value associated with KEY, optional DEFAULT if KEY not in DICT. If dict is nil, return nil. If DEFAULT not provided, and KEY not in DICT, return nil. If DICT is not an nREPL dict object, an error is thrown. (fn DICT KEY &optional DEFAULT) (defalias 'nrepl-dict-get #[770 "\205\300!\203\301\"\203\302A\"\207\207\303\304\"\207" [nrepl-dict-p nrepl-dict-contains lax-plist-get error "Not an nREPL dict object: %s"] 6 (#$ . 1077)]) #@107 Associate in DICT, KEY to VALUE. Return new dict. Dict is modified by side effects. (fn DICT KEY VALUE) (defalias 'nrepl-dict-put #[771 "\204 \300E\207\301!\204\302\303\"\207\304A#\241\210\207" [dict nrepl-dict-p error "Not an nREPL dict object: %s" lax-plist-put] 8 (#$ . 1542)]) #@51 Return all the keys in the nREPL DICT. (fn DICT) (defalias 'nrepl-dict-keys #[257 "\300!\203\211A\301:\203@B\262AA\262\202 \211\237\207\302\303!\207" [nrepl-dict-p nil error "Not an nREPL dict"] 5 (#$ . 1844)]) #@53 Return all the values in the nREPL DICT. (fn DICT) (defalias 'nrepl-dict-vals #[257 "\300!\203 \211A\301:\203A@B\262AA\262\202 \211\237\207\302\303!\207" [nrepl-dict-p nil error "Not an nREPL dict"] 5 (#$ . 2074)]) #@81 Map FN on nREPL DICT. FN must accept two arguments key and value. (fn FN DICT) (defalias 'nrepl-dict-map #[514 "\300!\203$\211A\301:\203!@A@\"B\262AA\262\202 \211\237\207\302\303!\207" [nrepl-dict-p nil error "Not an nREPL dict"] 7 (#$ . 2307)]) #@96 Destructively merge DICT2 into DICT1. Keys in DICT2 override those in DICT1. (fn DICT1 DICT2) (defalias 'nrepl-dict-merge #[514 "\206\300\301\302\303\"\206\304\"\210\207" [(dict) nrepl-dict-map make-closure #[514 "\301\300#\207" [V0 nrepl-dict-put] 6 "\n\n(fn K V)"] (dict)] 7 (#$ . 2572)]) #@154 Return the value in a nested DICT. KEYS is a list of keys. Return nil if any of the keys is not present or if any of the values is nil. (fn DICT KEYS) (defalias 'nrepl-dict-get-in #[514 "\203\211\203\300\211A\262\242\"\262\202\207" [nrepl-dict-get] 7 (#$ . 2880)]) #@210 Map FUNCTION over DICT and flatten the result. FUNCTION follows the same restrictions as in `nrepl-dict-map', and it must also alway return a sequence (since the result will be flattened). (fn FUNCTION DICT) (defalias 'nrepl-dict-flat-map #[514 "\211\205 \300\301\302\"\"\207" [apply append nrepl-dict-map] 7 (#$ . 3166)]) #@61 Generic cons of CAR to LIST-OR-DICT. (fn CAR LIST-OR-DICT) (defalias 'nrepl--cons #[514 "\211@\300=\203\300ABB\207B\207" [dict] 5 (#$ . 3499)]) #@68 Generic `nreverse' which works on LIST-OR-DICT. (fn LIST-OR-DICT) (defalias 'nrepl--nreverse #[257 "\211@\300=\203 \300A\237B\207\211\237\207" [dict] 3 (#$ . 3656)]) #@59 Cons OBJ to the top element of the STACK. (fn OBJ STACK) (defalias 'nrepl--push #[514 "\211@@\300=\203\300@ABBAB\207\211\204\202@BAB\207" [dict] 5 (#$ . 3831)]) #@357 Join nREPL dicts DICT1 and DICT2 in a meaningful way. String values for non "id" and "session" keys are concatenated. Lists are appended. nREPL dicts merged recursively. All other objects are accumulated into a list. DICT1 is modified destructively and then returned. If NO-JOIN is given, return the first non nil dict. (fn DICT1 DICT2 &optional NO-JOIN) (defalias 'nrepl--merge #[770 "\211\203\n\206L\207\204\207\204\207;\203P\207\300!\203/\301\302\303\"\"\210\207<\203><\203>\304\"\207<\203I\304C\"\207D\207" [nrepl-dict-p nrepl-dict-map make-closure #[514 "\301\300\302\303\300\"\304\235##\207" [V0 nrepl-dict-put nrepl--merge nrepl-dict-get ("id" "session")] 10 "\n\n(fn K2 V2)"] append] 7 (#$ . 4013)]) #@122 Destructure an nREPL RESPONSE dict. Bind the value of the provided KEYS and execute BODY. (fn RESPONSE KEYS &rest BODY) (defalias 'nrepl-dbind-response '(macro . #[642 "\300\301\211:\203#@\262\302\303\304\"EDB\262A\262\202\211\237\266\203BB\207" [let nil nrepl-dict-get format "%s"] 13 (#$ . 4769)])) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307!\207" [put nrepl-dbind-response edebug-form-spec (form (&rest symbolp) body) lisp-indent-function 2 provide nrepl-dict] 4)