Merge with map literal
(merge a {:a 1 :b 2})
-> (assoc a :a 1 :b2)
(-> foo (merge {:foo :bar})
-> (-> foo (assoc :foo :bar))
Reasoning:
- Performance
- Easier to read?
(ns app.dev.shadow | |
(:require [shadow.cljs.devtools.api :as shadow] | |
[clojure.edn :as edn])) | |
;; Run this with: | |
;; npx shadow-cljs clj-run app.dev.shadow/watch | |
(set! *warn-on-reflection* true) | |
(defn watch |
(def start (atom nil)) | |
(def log (atom [])) | |
(defn latency-test [] | |
(let [a (r/atom 0)] | |
(fn [] | |
(let [[b update-b] (react/useState 0)] | |
(react/useEffect | |
(fn [] |
alias: TV valot | |
description: "" | |
trigger: | |
- platform: state | |
entity_id: | |
- media_player.tv | |
not_to: | |
- unknown | |
for: | |
seconds: 5 |
(ns metosin.common.edn | |
#+clj | |
(:require [clj-time.format :as f]) | |
#+cljs | |
(:require [cljs-time.format :as f] | |
cljs.reader) | |
#+clj (:import [org.joda.time DateTime LocalDate])) | |
;; | |
;; #DateTime tagging |
var vm = require("vm"); | |
var fs = require("fs"); | |
function nodeGlobalRequire(file) { | |
var _module = global.module, | |
_exports = global.exports, | |
exportedRequire = false; | |
// to circumvent Node.js environment detection in bundled libraries | |
global.module = undefined; |
(ns frontend.view.editor | |
(:require [reagent.core :as reagent] | |
[goog.dom :as dom]) | |
(:import [goog.editor Field ContentEditableField Command] | |
[goog.ui.editor DefaultToolbar ToolbarController ToolbarFactory] | |
[goog.editor.plugins BasicTextFormatter RemoveFormatting ListTabHandler | |
SpacesTabHandler EnterHandler HeaderFormatter TableEditor])) | |
(defn editor-view [] | |
(let [field-name (gensym) |
# Create build-directory in project and place this package.json in that dir | |
{ | |
"name": "build", | |
"version": "0.0.0", | |
"private": true, | |
"description": "Grunt-cli & Bower", | |
"dependencies": { | |
"grunt-cli": "0.1.11", | |
"bower": "1.2.8" | |
}, |
(ns foobar.components | |
(:require [com.stuartsierra.component :as component] | |
[compojure.api.sweet :refer :all])) | |
(defmethod compojure.api.meta/restructure-param :components | |
[_ components acc] | |
(update-in acc [:letks] into [components `(::components ~'+compojure-api-request+)])) | |
(defn wrap-components [handler components] | |
(fn [req] |
(merge a {:a 1 :b 2})
-> (assoc a :a 1 :b2)
(-> foo (merge {:foo :bar})
-> (-> foo (assoc :foo :bar))
Reasoning:
(:identity req)
is auth backend independent way to access user data:current-user
doesn't imply that authentication is required, route should also have :auth-rules
if authentication is required