oph.common.util.util
deep-merge-with
(deep-merge-with f & maps)
Like merge-with, but merges maps recursively, applying the given fn
only when there's a non-map at a particular level.
(deepmerge + {:a {:b {:c 1 :d {:x 1 :y 2}} :e 3} :f 4}
{:a {:b {:c 2 :d {:z 9} :z 3} :e 100}})
-> {:a {:b {:z 3, :c 3, :d {:z 9, :x 1, :y 2}}, :e 103}, :f 4}deep-update-vals
(deep-update-vals f c)
diff-maps
(diff-maps new-map old-map)
Palauttaa kahden mapin erot muodossa {avain [uusi-arvo vanha-arvo]} tai avaimen arvona nil jos muutoksia ei ole.
erottele-lista
(erottele-lista avain kentat coll)
Ottaa denormalisoidun listan, subentitylle halutun avaimen ja listan subentityn kentistä.
Erottelee subentityt pääentityistä ja liittää ne pääentityyn listaksi.
get-in-list
(get-in-list m ks)(get-in-list m ks not-found)
Like get-in, but also inspects each item of a list
get-json-from-url
(get-json-from-url url)(get-json-from-url url options)
keyword-syntax?
(keyword-syntax? s)
last-arg
(last-arg & args)
map-by
(map-by f coll)
Kuten group-by, mutta jättää vain viimeisen täsmäävän alkion
map-values
(map-values f m)
Applies f to each value in m and returns the resulting map
max-date
(max-date a)(max-date a b)(max-date a b & more)
merkitse-voimassaolevat
(merkitse-voimassaolevat entity avain f)
min-date
(min-date a)(min-date a b)(min-date a b & more)
muunna-avainsanoiksi
(muunna-avainsanoiksi m)
Päivitetty versio clojure.walk/keywordize-keys funktiosta, koska alkuperäinen muuntaa myös numerolla alkavan symbolin avainsanaksi.
muutos
(muutos old-map new-map)
Palauttaa kahden mapin eroavaisuudet
paivita-arvot
(paivita-arvot m avaimet f)
paths
(paths m)(paths m ks)
palauttaa joukon jossa on kaikki polut mapin sisään. Ts. rekursiivinen mapin rakenteen kuvaus
pisteavaimet->puu
(pisteavaimet->puu m)
poista-tyhjat
(poista-tyhjat m)
pvm-menneisyydessa?
(pvm-menneisyydessa? pvm)
pvm-tulevaisuudessa?
(pvm-tulevaisuudessa? pvm)
remove-nil-vals
(remove-nil-vals m)
retrying
macro
(retrying expected-throwable attempts & body)
retrying*
(retrying* expected-throwable attempts f)
select-and-rename-keys
(select-and-rename-keys map keys)
Poimii mapista annetut avaimet. Jos avain on muotoa [:a :b], vaihtaa samalla avaimen nimen :a -> :b.
sisaltaako-kentat?
(sisaltaako-kentat? entity kentat termi)
Predikaatti joka palauttaa true, jos annettujen kenttien sisältö sisältää annetun termin. Kirjainkoolla ei ole väliä.
Kenttien sisältö konkatenoidaan yhteen välilyönnillä erotettuna.
some-value
(some-value pred coll)
some-value-with
(some-value-with f expected coll)
update-in-if-exists
(update-in-if-exists m [k & ks] f & args)
update-vals
(update-vals f c)
uusin-muokkausaika
(uusin-muokkausaika arvot & polut)
Palauttaa uusimman muokkausajan annetuista arvoista.
Polut ovat get-in-tyylisiä avainpolkuja, jotka kertovat mistä muokkausajat haetaan.
uusin-muokkausaika-tai-nykyhetki
(uusin-muokkausaika-tai-nykyhetki arvot & polut)