Skip to content

Instantly share code, notes, and snippets.

@awkay
awkay / connect-macros.clj
Last active January 29, 2025 20:46
Macros for making Pathom resolvers/mutations that can be eval'd in the repl to update them without needing a restart.
(ns pathom.connect-macros
(:require
[com.fulcrologic.rad.database-adapters.datomic-options :as do]
[clojure.spec.alpha :as s]
[com.fulcrologic.fulcro.algorithms.do-not-use :as futil]
[com.wsscode.pathom.connect :as pc]))
;; Use @registry as your resolvers in pathom parser def...just make sure you require all nses that define resolvers/mutations in that ns
;; so they all get into the registry first.
(defonce registry (atom []))
@awkay
awkay / routing-helpers.cljc
Created August 12, 2021 20:58
Some functions for working with Fulcro dynamic routers. I'll probably put some version of these once they're refined into Fulcro itself, but for now there are here for reference.
(defn- get-ast-children [query-ast at-depth]
(let [{:keys [children] :as node} query-ast]
(cond
(and (zero? at-depth) (seq children)) children
(zero? at-depth) node
:else (let [sub-children (mapcat :children children)]
(get-ast-children {:type :root
:children sub-children} (dec at-depth))))))
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.openedgepay.settings;
public enum ResultCode {
AIDSELECTIONTIMEOUT("AID Selection Timeout."),
APPROVED("Transaction approved."),
(ns sample.macro-fun)
#?(:clj
(defn some-xform [body] (reverse body)))
#?(:clj
(defn bump-numbers [body]
(map #(if (number? %) (+ 1 %) %) body)))
#?(:clj
(ns om-tutorial.core
(:require [goog.dom :as gdom]
[om.next :as om :refer-macros [defui]]
[cljs.pprint :refer [pprint]]
[om.dom :as dom]))
(enable-console-print!)
(def init-data
{:current-user {:email "[email protected]" :things [[:thing/by-id 1] [:thing/by-id 2]]}
@awkay
awkay / gist:7883750
Created December 10, 2013 00:31
Sample JSON
{
a: 1,
dt: '2012-11-01',
arr: [ 1,2,3 ]
}