Public Vars

Back

inst? (clj)

(source)

function

(inst? x)
Return true if x satisfies Inst

Examples

typedclojure/typedclojure
(ns ^:no-doc typed.ann.clojure
  "Type annotations for the base Clojure distribution."
  #?(:cljs (:require-macros [typed.ann-macros.clojure :as macros]))
  (:require [clojure.core :as cc]
            [typed.clojure :as t]
            #?(:clj [typed.ann-macros.clojure :as macros])
            #?(:clj typed.ann.clojure.jvm) ;; jvm annotations
            #?(:clj clojure.core.typed))
  #?(:clj
     (:import (clojure.lang PersistentHashSet PersistentList
                            APersistentMap #_IPersistentCollection
                            #_ITransientSet
                            IRef)
              (java.util Comparator Collection))))

cc/seqable? (t/Pred t/AnySeqable)
cc/indexed? (t/Pred (t/Indexed t/Any))
cc/inst-ms [:-> t/Int]
cc/inst? (t/Pred cc/Inst)
cc/uuid? (t/Pred t/UUID)
cc/random-uuid [:-> t/UUID]
cc/parse-uuid [t/Str :-> (t/Option t/UUID)]
cc/uri? (t/Pred t/URI)
cc/tagged-literal? (t/Pred clojure.lang.TaggedLiteral)
cc/reader-conditional? (t/Pred clojure.lang.ReaderConditional)
replikativ/konserve
(ns konserve.node-filestore-test
  (:require [clojure.core.async :refer [go promise-chan <! put! chan timeout to-chan!]]
            [cljs-node-io.fs :as fs]
            [cljs-node-io.core :as io]
            [cljs.test :refer-macros [deftest is testing async use-fixtures]]
            [fress.api :as fress]
            [konserve.core :as k]
            [konserve.impl.defaults :as d]
            [konserve.node-filestore :as filestore :refer [connect-fs-store]]
            [konserve.protocols :as p]
            [konserve.tests.cache :as ct]
            [konserve.tests.encryptor :as et]
            [konserve.tests.gc :as gct]
            [konserve.tests.serializers :as st]))

(deftest PKeyIterable-async-test
  (async done
         (go
           (let [opts {:sync? false}
                 store (<! (connect-fs-store store-path :opts opts))]
             (is (= #{} (<! (k/keys store opts))))
             (is (= [nil 42] (<! (k/assoc-in store [:value-blob] 42 opts))))
             (is (true? (<! (k/bassoc store :bin-blob #js[255 255 255] opts))))
             (is (= #{{:key :bin-blob :type :binary} {:key :value-blob :type :edn}}
                    (set (map #(dissoc % :last-write) (<! (k/keys store opts))))))
             (is (every? inst? (map :last-write (<! (k/keys store opts)))))
             (done)))))

(deftest append-store-sync-test
  (let [opts {:sync? true}
        store (connect-fs-store store-path :opts opts)]
    (k/append store :foolog {:bar 42} opts)
    (k/append store :foolog {:bar 43} opts)
    (is (= '({:bar 42} {:bar 43}) (k/log store :foolog opts)))
    (is (= [{:bar 42} {:bar 43}] (k/reduce-log store :foolog conj [] opts)))
    (let [{:keys [key type last-write]} (k/get-meta store :foolog :not-found opts)]
      (is (= key :foolog))
      (is (= type :append-log))
      (is (inst? last-write)))))

(deftest append-store-async-test
  (async done
         (go
           (let [opts {:sync? false}
                 store (<! (connect-fs-store store-path :opts opts))]
             (is (uuid? (second (<! (k/append store :foolog {:bar 42} opts)))))
             (is (uuid? (second (<! (k/append store :foolog {:bar 43} opts)))))
             (is (= '({:bar 42} {:bar 43}) (<! (k/log store :foolog opts))))
             (is (=  [{:bar 42} {:bar 43}] (<! (k/reduce-log store :foolog conj [] opts))))
             (let [{:keys [key type last-write]} (<! (k/get-meta store :foolog :not-found opts))]
               (is (= key :foolog))
               (is (= type :append-log))
               (is (inst? last-write)))
             (done)))))
replikativ/konserve
(ns konserve.indexeddb-test
  (:require [clojure.core.async :refer [go <! put! take! promise-chan]]
            [cljs.test :refer-macros [deftest is testing async]]
            [konserve.cache :as kc]
            [konserve.core :as k]
            [konserve.indexeddb :as idb]
            [konserve.protocols :as p]
            [konserve.tests.cache :as ct]
            [konserve.tests.encryptor :as et]
            [konserve.tests.gc :as gct]
            [konserve.tests.serializers :as st])
  (:import [goog userAgent]))

(deftest ^:browser PKeyIterable-async-test
  (async done
         (go
           (let [db-name "pkeyiterable-test"
                 _ (<! (idb/delete-idb db-name))
                 opts {:sync? false}
                 store (<! (idb/connect-idb-store db-name :opts opts))]
             (is (= #{} (<! (k/keys store opts))))
             (is (= [nil 42] (<! (k/assoc-in store [:value-blob] 42 opts))))
             (is (true? (<! (k/bassoc store :bin-blob #js[255 255 255] opts))))
             (is (= #{{:key :bin-blob :type :binary} {:key :value-blob :type :edn}}
                    (set (map #(dissoc % :last-write) (<! (k/keys store opts))))))
             (is (every? inst? (map :last-write (<! (k/keys store opts)))))
             (<! (.close (:backing store)))
             (<! (idb/delete-idb db-name))
             (done)))))

(deftest ^:browser append-store-async-test
  (async done
         (go
           (let [db-name "append-test"
                 _ (<! (idb/delete-idb db-name))
                 opts {:sync? false}
                 store (<! (idb/connect-idb-store db-name :opts opts))]
             (is (uuid? (second (<! (k/append store :foolog {:bar 42} opts)))))
             (is (uuid? (second (<! (k/append store :foolog {:bar 43} opts)))))
             (is (= '({:bar 42} {:bar 43}) (<! (k/log store :foolog opts))))
             (is (=  [{:bar 42} {:bar 43}] (<! (k/reduce-log store :foolog conj [] opts))))
             (let [{:keys [key type last-write]} (<! (k/get-meta store :foolog :not-found opts))]
               (is (= key :foolog))
               (is (= type :append-log))
               (is (inst? last-write)))
             (<! (.close (:backing store)))
             (<! (idb/delete-idb db-name))
             (done)))))