|
296 | 296 | "Map of print handlers for Java/JavaScript types. This supports syntax for regular |
297 | 297 | expressions, dates, UUIDs, and futures." |
298 | 298 | #?(:clj |
299 | | - {java.lang.Class |
300 | | - (fn class-handler |
301 | | - [printer value] |
302 | | - (format-unknown printer value "Class" (get-type-name value))) |
303 | | - |
304 | | - java.util.concurrent.Future |
305 | | - (fn future-handler |
306 | | - [printer value] |
307 | | - (let [doc (if (future-done? promise) |
308 | | - (format-doc printer @value) |
309 | | - (color/document printer :nil "pending"))] |
310 | | - (format-unknown printer value "Future" doc))) |
311 | | - |
312 | | - java.util.UUID |
313 | | - (tagged-handler 'uuid str) |
314 | | - |
315 | | - java.util.Date |
316 | | - (tagged-handler |
317 | | - 'inst |
318 | | - #(-> (java.text.SimpleDateFormat. inst-pattern) |
319 | | - (doto (.setTimeZone (java.util.TimeZone/getTimeZone "GMT"))) |
320 | | - (.format ^java.util.Date %))) |
321 | | - |
322 | | - java.util.GregorianCalendar |
323 | | - (tagged-handler |
324 | | - 'inst |
325 | | - #(let [formatted (format "%1$tFT%1$tT.%1$tL%1$tz" %) |
326 | | - offset-minutes (- (.length formatted) 2)] |
327 | | - (str (subs formatted 0 offset-minutes) |
328 | | - ":" |
329 | | - (subs formatted offset-minutes)))) |
330 | | - |
331 | | - java.sql.Timestamp |
332 | | - (tagged-handler |
333 | | - 'inst |
334 | | - (fn [ts] |
335 | | - (str (.format ^SimpleDateFormat (utc-timestamp-format) ts) |
336 | | - (format ".%09d-00:00" (.getNanos ^Timestamp ts)))))} |
| 299 | + (-> |
| 300 | + {java.lang.Class |
| 301 | + (fn class-handler |
| 302 | + [printer value] |
| 303 | + (format-unknown printer value "Class" (get-type-name value))) |
| 304 | + |
| 305 | + java.util.concurrent.Future |
| 306 | + (fn future-handler |
| 307 | + [printer value] |
| 308 | + (let [doc (if (future-done? promise) |
| 309 | + (format-doc printer @value) |
| 310 | + (color/document printer :nil "pending"))] |
| 311 | + (format-unknown printer value "Future" doc))) |
| 312 | + |
| 313 | + java.util.UUID |
| 314 | + (tagged-handler 'uuid str) |
| 315 | + |
| 316 | + java.util.Date |
| 317 | + (tagged-handler |
| 318 | + 'inst |
| 319 | + #(-> (java.text.SimpleDateFormat. inst-pattern) |
| 320 | + (doto (.setTimeZone (java.util.TimeZone/getTimeZone "GMT"))) |
| 321 | + (.format ^java.util.Date %))) |
| 322 | + |
| 323 | + java.sql.Timestamp |
| 324 | + (tagged-handler |
| 325 | + 'inst |
| 326 | + (fn [ts] |
| 327 | + (str (.format ^SimpleDateFormat (utc-timestamp-format) ts) |
| 328 | + (format ".%09d-00:00" (.getNanos ^Timestamp ts)))))} |
| 329 | + #?(:bb identity |
| 330 | + :clj (assoc java.util.GregorianCalendar |
| 331 | + (tagged-handler |
| 332 | + 'inst |
| 333 | + #(let [formatted (format "%1$tFT%1$tT.%1$tL%1$tz" %) |
| 334 | + offset-minutes (- (.length formatted) 2)] |
| 335 | + (str (subs formatted 0 offset-minutes) |
| 336 | + ":" |
| 337 | + (subs formatted offset-minutes))))))) |
337 | 338 |
|
338 | 339 | :cljs |
339 | 340 | {inst? |
|
0 commit comments