diff --git a/.gitattributes b/.gitattributes index f865be5..6675bdc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ calcit.cirru -diff linguist-generated yarn.lock -diff linguist-generated +config/*-quality.cirru text linguist-generated=true diff --git a/calcit.cirru b/calcit.cirru index 2ac5c6c..deec7a4 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -1,130 +1,186 @@ -{} (:about "|Machine-generated snapshot. Do not edit directly — changes will be overwritten. Use `calcit query` to inspect and `calcit edit`/`calcit tree` to modify. Run `calcit docs agents --full` first. Manual edits must follow format and schema conventions, then run `calcit edit format`.") (:package |app) - :entries $ {} - :default $ {} (:description |) (:init-fn 'app.main/main!) (:mode :native) (:reload-fn 'app.main/reload!) +{} + :about "|Machine-generated snapshot. Do not edit directly — changes will be overwritten. Use `calcit query` to inspect and `calcit edit`/`calcit tree` to modify. Run `calcit docs agents --contract` before mutations; use `--full` for first orientation or changed contract digest. Manual edits must follow format and schema conventions, then run `calcit edit format`." + :package |app + :entries $ {} $ :default + {} (:description |) (:init-fn 'app.main/main!) (:mode :native) (:reload-fn 'app.main/reload!) :feature-policy $ {} :modules $ [] |respo.calcit/ |memof/ |respo-ui.calcit/ |respo-markdown.calcit/ |reel.calcit/ |respo-feather.calcit/ |js-ffi/ :type-slots $ {} :files $ {} 'app.comp.container $ %{} 'FileEntry :defs $ {} + 'HighlightHost $ %{} 'CodeEntry (:doc |) + :code $ quote $ deftrait HighlightHost + .highlight $ :: 'Fn $ {} + :args $ [] 'app.comp.container/HighlightHost 'String 'JsObject + :return 'app.comp.container/HighlightResultHost + :examples $ [] + :ffi $ {} (:backend :js) (:kind :external-object) (:target :browser) + :names $ {} $ :highlight |highlight + :schema $ :: 'Trait + 'HighlightResultHost $ %{} 'CodeEntry (:doc |) + :code $ quote $ deftrait HighlightResultHost (:value 'String) + :examples $ [] + :ffi $ {} (:backend :js) (:kind :external-object) (:target :browser) + :names $ {} $ :value |value + :schema $ :: 'Trait + 'SpeechMessageHost $ %{} 'CodeEntry (:doc |) + :code $ quote $ deftrait SpeechMessageHost (:text 'String) + :examples $ [] + :ffi $ {} (:backend :js) (:kind :external-object) (:target :browser) + :names $ {} $ :text |text + :writable $ #{} :text + :schema $ :: 'Trait + 'SpeechSynthesisHost $ %{} 'CodeEntry (:doc |) + :code $ quote $ deftrait SpeechSynthesisHost + .speak! $ :: 'Fn $ {} + :args $ [] 'app.comp.container/SpeechSynthesisHost 'app.comp.container/SpeechMessageHost + :return 'Unit + :examples $ [] + :ffi $ {} (:backend :js) (:kind :external-object) (:target :browser) + :names $ {} $ :speak! |speak + :schema $ :: 'Trait + 'collect-readable-text $ %{} 'CodeEntry (:doc |) + :code $ quote $ defn collect-readable-text (children idx acc) + if + >= idx $ children :length + , acc $ match (child-element-at children idx) + (:some child) + recur children (inc idx) + if + not= (child :local-name) |pre + match + js-nullish->option $ child :text-content + (:some text) (conj acc text) + (:none) acc + , acc + (:none) + recur children (inc idx) acc + :examples $ [] + :schema $ :: 'Fn $ {} + :args $ [] 'js-ffi.browser/DomChildrenHost 'Number $ :: 'List 'String + :features $ #{} :js-ffi + :return $ :: 'List 'String 'comp-container $ %{} 'CodeEntry (:doc |) - :code $ quote - defcomp comp-container (reel) - let - store $ &map:get reel :store - states $ &map:get store :states - preview? $ &map:get store :preview? + :code $ quote $ defcomp comp-container (reel) + let + store $ &map:get reel :store + states $ &map:get store :states + preview? $ &map:get store :preview? + div + {} $ :class-name style-container div - {} $ :class-name style-container + {} (:id |article) + :style $ merge ui/flex $ {} + :padding $ if preview? "|40px 240px 240px 240px" "|16px 16px 240px 16px" + :flex-shrink 0 + :overflow :auto + comp-md-block (&map:get store :content) + {} (:css |) + :style $ {} $ :font-size 16 + :highlight $ fn (code lang) + highlight-code (assert-type code 'String) (assert-type lang 'String) + if (not preview?) + textarea $ {} (:class-name css-textbox) + :value $ &map:get store :content + :placeholder "|Markdown syntax supported~" + :on-input $ fn (e d!) + d! :content $ &map:get e :value + :autofocus true + div ({}) div - {} (:id |article) - :style $ merge ui/flex - {} - :padding $ if preview? "|40px 240px 240px 240px" "|16px 16px 240px 16px" - :flex-shrink 0 - :overflow :auto - comp-md-block (&map:get store :content) - {} (:css |) - :style $ {} (:font-size 16) - :highlight $ fn (code lang) - if (contains? supported-langs lang) - .-value $ unsafe-coerce - .!highlight hljs code $ {} - :language $ get supported-langs lang - , JsObject - escape-html code - if (not preview?) - textarea $ {} (:class-name css-textbox) - :value $ &map:get store :content - :placeholder "|Markdown syntax supported~" - :on-input $ fn (e d!) - d! :content $ &map:get e :value - :autofocus true - div ({}) + {} $ :style $ {} (:position :fixed) (:top 0) (:right 0) div - {} $ :style - {} (:position :fixed) (:top 0) (:right 0) - div - {} (:class-name css-icon) - :on-click $ fn (e d!) - d! $ :: :toggle - comp-i :film 14 $ hsl 200 80 80 - div - {} (:class-name css-icon) - :on-click $ fn (e d!) (read-from-dom!) - comp-i :volume-2 14 $ hsl 200 80 80 + {} (:class-name css-icon) + :on-click $ fn (e d!) + d! $ :: :toggle + comp-i :film 14 $ hsl 200 80 80 div - {} $ :style - merge ui/center $ {} (:width 40) (:height 40) (:position :fixed) (:right 0) (:bottom 0) - a - {} (:href |https://github.com/Memkits/markdown-editor) (:target |_blank) - comp-i :github 14 $ hsl 200 80 80 - comp-reel (>> states :reel) reel $ {} + {} (:class-name css-icon) + :on-click $ fn (e d!) (read-from-dom!) + comp-i :volume-2 14 $ hsl 200 80 80 + div + {} $ :style $ merge ui/center + {} (:width 40) (:height 40) (:position :fixed) (:right 0) (:bottom 0) + a + {} (:href |https://github.com/Memkits/markdown-editor) (:target |_blank) + comp-i :github 14 $ hsl 200 80 80 + comp-reel (>> states :reel) reel $ {} :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'respo.schema/Component) + :args $ [] 'app.schema/Reel + :features $ #{} :js-ffi 'css-icon $ %{} 'CodeEntry (:doc |) - :code $ quote - defstyle css-icon $ {} - |$0 $ merge ui/center - {} (:width 40) (:height 40) (:cursor :pointer) + :code $ quote $ defstyle css-icon + {} $ |$0 $ merge ui/center + {} (:width 40) (:height 40) (:cursor :pointer) :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'String 'css-textbox $ %{} 'CodeEntry (:doc |) - :code $ quote - defstyle css-textbox $ {} - |$0 $ merge ui/textarea ui/flex - {} (:resize :none) (:flex-shrink 0) (:font-family ui/font-code) (:padding-bottom 240) (:padding 16) (:border-width "|0 0 0 1px") - :border-color $ hsl 0 0 95 - :border-style :solid - :background-color $ hsl 0 0 98 + :code $ quote $ defstyle css-textbox + {} $ |$0 $ merge ui/textarea ui/flex + {} (:resize :none) (:flex-shrink 0) (:font-family ui/font-code) (:padding-bottom 240) (:padding 16) (:border-width "|0 0 0 1px") + :border-color $ hsl 0 0 95 + :border-style :solid + :background-color $ hsl 0 0 98 + :examples $ [] + :schema $ :: 'String + 'highlight-code $ %{} 'CodeEntry (:doc |) + :code $ quote $ defn highlight-code (code lang) + if (contains? supported-langs lang) + let + host $ unsafe-coerce hljs HighlightHost + result $ .highlight host code $ js-object + :language $ option:unwrap $ get supported-langs lang + result :value + escape-html code :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'String) + :args $ [] 'String 'String + :features $ #{} :js-ffi 'read-from-dom! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn read-from-dom! () $ let - el $ unsafe-coerce - .-firstChild $ unsafe-coerce (js/document.getElementById |article) JsObject - , JsObject - text-array $ unsafe-coerce (js/[]) JsObject - .!forEach - unsafe-coerce - js/Array.from $ .-children el - , JsObject - fn (child & _xs) - if - not= |PRE $ unsafe-coerce (.-tagName child) 'String - .!push text-array $ .-innerText child - if-let - key $ get-env |azure-key - speechQueue - join-str (to-calcit-data text-array) &newline - , key |en-US $ fn () - let - msg $ new js/SpeechSynthesisUtterance - -> msg .-text $ set! - join-str (to-calcit-data text-array) &newline - js/speechSynthesis.speak msg + :code $ quote $ defn read-from-dom! () + let + article $ option:unwrap $ query-selector "|#article > *" + children $ article :children + text $ join-str + collect-readable-text children 0 $ [] + , &newline + do + if-let + key $ get-env |azure-key + speechQueue text key |en-US $ fn () &unit + speak-text! text + , &unit :examples $ [] - :schema $ :: 'Fn - {} (:return 'Dynamic) - :args $ [] - :features $ #{} :js-ffi + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] + :features $ #{} :js-ffi + 'speak-text! $ %{} 'CodeEntry (:doc |) + :code $ quote $ defn speak-text! (text) + let + message $ unsafe-coerce (new js/SpeechSynthesisUtterance) SpeechMessageHost + synthesis $ unsafe-coerce js/speechSynthesis SpeechSynthesisHost + do (js-set message :text text) (.speak! synthesis message) + :examples $ [] + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] 'String + :features $ #{} :js-ffi 'style-container $ %{} 'CodeEntry (:doc |) - :code $ quote - defstyle style-container $ {} - |$0 $ merge ui/global ui/row ui/fullscreen - {} $ :overflow |hidden + :code $ quote $ defstyle style-container + {} $ |$0 $ merge ui/global ui/row ui/fullscreen + {} $ :overflow |hidden :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'String 'supported-langs $ %{} 'CodeEntry (:doc |) - :code $ quote - def supported-langs $ {} (|clojure |clojure) (|clj |clojure) (|bash |bash) (|js |javascript) (|javascript |javascript) (|html |xml) (|xml |xml) (|css |css) (|coffeescript |coffeescript) (|coffee |coffeescript) (|ts |typescript) (|typescript |typescript) + :code $ quote $ def supported-langs + {} (|clojure |clojure) (|clj |clojure) (|bash |bash) (|js |javascript) (|javascript |javascript) (|html |xml) (|xml |xml) (|css |css) (|coffeescript |coffeescript) (|coffee |coffeescript) (|ts |typescript) (|typescript |typescript) :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Map 'String 'String :ns $ %{} 'NsEntry (:doc |) - :code $ quote - ns app.comp.container $ :require + :code $ quote $ ns app.comp.container + :require [] respo-ui.core :refer $ [] hsl [] respo-ui.core :as ui [] respo.core :refer $ [] defcomp >> <> div button textarea span a @@ -136,105 +192,131 @@ [] feather.core :refer $ [] comp-i respo.css :refer $ defstyle |@memkits/azure-speech-util :refer $ speechQueue + js-ffi.browser :refer $ query-selector child-element-at 'app.config $ %{} 'FileEntry :defs $ {} 'dev? $ %{} 'CodeEntry (:doc |) - :code $ quote - def dev? $ let + :code $ quote $ def dev? + let mode $ option:unwrap-or (get-env |mode) |release = mode |dev :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Bool 'site $ %{} 'CodeEntry (:doc |) - :code $ quote - def site $ {} (:dev-ui |http://localhost:8100/main-fonts.css) (:release-ui |http://cdn.tiye.me/favored-fonts/main-fonts.css) (:cdn-url |http://cdn.tiye.me/markdown-editor/) (:title "|Markdown Editor") (:icon |http://cdn.tiye.me/logo/markdown-editor.png) (:storage-key |markdown-editor) + :code $ quote $ def site + {} (:dev-ui |http://localhost:8100/main-fonts.css) (:release-ui |http://cdn.tiye.me/favored-fonts/main-fonts.css) (:cdn-url |http://cdn.tiye.me/markdown-editor/) (:title "|Markdown Editor") (:icon |http://cdn.tiye.me/logo/markdown-editor.png) (:storage-key |markdown-editor) :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Map 'Tag 'String :ns $ %{} 'NsEntry (:doc |) - :code $ quote (ns app.config) + :code $ quote $ ns app.config 'app.main $ %{} 'FileEntry :defs $ {} '*reel $ %{} 'CodeEntry (:doc |) - :code $ quote - defatom *reel $ -> reel-schema/reel (assoc :base schema/store) (assoc :store schema/store) + :code $ quote $ defatom *reel + -> reel-schema/reel (assoc :base schema/store) (assoc :store schema/store) + :examples $ [] + :schema $ :: 'Ref 'app.schema/Reel + 'HighlightHost $ %{} 'CodeEntry (:doc |) + :code $ quote $ deftrait HighlightHost + .register-language! $ :: 'Fn $ {} + :args $ [] 'app.main/HighlightHost 'String 'JsObject + :return 'Unit :examples $ [] - :schema $ :: 'Dynamic + :ffi $ {} (:backend :js) (:kind :external-object) (:target :browser) + :names $ {} $ :register-language! |registerLanguage + :schema $ :: 'Trait 'dispatch! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn dispatch! (op) - when config/dev? $ println |Dispatch: op - reset! *reel $ reel-updater updater @*reel op + :code $ quote $ defn dispatch! (op) + when config/dev? $ println |Dispatch: op + reset! *reel $ reel-updater updater @*reel op :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] 'Enum 'main! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn main! () - println "|Running mode:" $ if config/dev? |dev |release - if config/dev? $ load-console-formatter! - .!registerLanguage hljs |clojure clojure-lang - .!registerLanguage hljs |bash bash-lang - .!registerLanguage hljs |coffeescript coffeescript-lang - .!registerLanguage hljs |javascript javascript-lang - .!registerLanguage hljs |css css-lang - .!registerLanguage hljs |xml xml-lang - .!registerLanguage hljs |typescript typescript-lang - render-app! - add-watch *reel :changes $ fn (r p) (render-app!) - listen-devtools! |a dispatch! - js/window.addEventListener |beforeunload persist-storage! - js/window.addEventListener |keydown on-window-keydown - flipped js/setInterval 60000 persist-storage! - let - raw $ js/localStorage.getItem (&map:get config/site :storage-key) - when (js-present? raw) - dispatch! $ :: :hydrate-storage - parse-cirru-edn $ unsafe-coerce raw String - println "|App started." + :code $ quote $ defn main! () + println "|Running mode:" $ if config/dev? |dev |release + if config/dev? $ load-console-formatter! + register-language! |clojure clojure-lang + register-language! |bash bash-lang + register-language! |coffeescript coffeescript-lang + register-language! |javascript javascript-lang + register-language! |css css-lang + register-language! |xml xml-lang + register-language! |typescript typescript-lang + render-app! + add-watch *reel :changes $ fn (r p) (render-app!) + listen-devtools! |a dispatch! + add-event-listener! |beforeunload $ fn (_) (persist-storage!) + add-event-listener! |keydown on-window-keydown + set-interval! persist-storage! 60000 + match + storage-get $ &map:get config/site :storage-key + (:some raw) + do + dispatch! $ :: :hydrate-storage $ parse-cirru-edn raw + , &unit + (:none) &unit + println "|App started." :examples $ [] - :schema $ :: 'Fn - {} (:return 'Dynamic) - :args $ [] - :features $ #{} :js-ffi + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] + :features $ #{} :js-ffi 'mount-target $ %{} 'CodeEntry (:doc |) - :code $ quote - def mount-target $ js/document.querySelector |.app + :code $ quote $ def mount-target + option:unwrap $ query-selector |.app :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'js-ffi.browser/DomElementHost 'on-window-keydown $ %{} 'CodeEntry (:doc |) - :code $ quote - defn on-window-keydown (event) - when - and - = |e $ unsafe-coerce (.-key event) 'String - unsafe-coerce (.-metaKey event) 'Bool - dispatch! $ :: :toggle + :code $ quote $ defn on-window-keydown (event) + do + let + keyboard $ unsafe-coerce event js-ffi.browser/KeyboardEventHost + when + and + = |e $ keyboard :key + keyboard :meta-key? + dispatch! $ :: :toggle + , &unit :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] 'js-ffi.browser/EventHost + :features $ #{} :js-ffi 'persist-storage! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn persist-storage! (? e) - js/localStorage.setItem (&map:get config/site :storage-key) - format-cirru-edn $ &map:get @*reel :store + :code $ quote $ defn persist-storage! () + storage-set! (&map:get config/site :storage-key) + format-cirru-edn $ &map:get @*reel :store :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] + 'register-language! $ %{} 'CodeEntry (:doc |) + :code $ quote $ defn register-language! (name language) + let + host $ unsafe-coerce hljs HighlightHost + .register-language! host name language + :examples $ [] + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] 'String 'JsObject + :features $ #{} :js-ffi 'reload! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn reload! () $ if (nil? build-errors) + :code $ quote $ defn reload! () + if (nil? build-errors) do (remove-watch *reel :changes) (clear-cache!) add-watch *reel :changes $ fn (reel prev) (render-app!) - reset! *reel $ refresh-reel @*reel schema/store updater + reset! *reel $ assert-type (refresh-reel @*reel schema/store updater) 'app.schema/Reel hud! |ok~ |Ok hud! |error build-errors :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] 'render-app! $ %{} 'CodeEntry (:doc |) - :code $ quote - defn render-app! () $ render! mount-target (comp-container @*reel) dispatch! + :code $ quote $ defn render-app! () + render! mount-target (comp-container @*reel) dispatch! :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'Unit) + :args $ [] :ns $ %{} 'NsEntry (:doc |) - :code $ quote - ns app.main $ :require + :code $ quote $ ns app.main + :require [] respo.core :refer $ [] render! clear-cache! realize-ssr! [] app.comp.container :refer $ [] comp-container [] app.updater :refer $ [] updater @@ -254,32 +336,43 @@ [] |highlight.js/lib/languages/bash :default bash-lang |./calcit.build-errors :default build-errors |bottom-tip :default hud! + js-ffi.browser :refer $ query-selector add-event-listener! set-interval! storage-get storage-set! 'app.schema $ %{} 'FileEntry :defs $ {} + 'Reel $ %{} 'CodeEntry (:doc |) + :code $ quote $ def Reel &unit + :examples $ [] + :schema $ :: 'Map 'Tag 'Dynamic + 'Store $ %{} 'CodeEntry (:doc |) + :code $ quote $ defstruct Store + :states $ :: 'Map 'Tag 'Dynamic + :content 'String + :preview? 'Bool + :examples $ [] + :schema $ :: 'StructDef 'store $ %{} 'CodeEntry (:doc |) - :code $ quote - def store $ {} + :code $ quote $ def store + %{} Store :states $ {} :content | :preview? false :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'app.schema/Store :ns $ %{} 'NsEntry (:doc |) - :code $ quote (ns app.schema) + :code $ quote $ ns app.schema 'app.updater $ %{} 'FileEntry - :defs $ {} - 'updater $ %{} 'CodeEntry (:doc |) - :code $ quote - defn updater (store op op-id op-time) - match op - (:states cursor s) (update-states store cursor s) - (:content c) (assoc store :content c) - (:hydrate-storage d) d - (:toggle) (update store :preview? not) - _ $ do (eprintln "|Unknown op:" op) store + :defs $ {} $ 'updater + %{} 'CodeEntry (:doc |) + :code $ quote $ defn updater (store op op-id op-time) + match op + (:states cursor s) (update-states store cursor s) + (:content c) (assoc store :content c) + (:hydrate-storage d) d + (:toggle) (update store :preview? not) + _ $ do (eprintln "|Unknown op:" op) store :examples $ [] - :schema $ :: 'Dynamic + :schema $ :: 'Fn $ {} (:return 'app.schema/Store) + :args $ [] 'app.schema/Store 'Enum 'String 'Number :ns $ %{} 'NsEntry (:doc |) - :code $ quote - ns app.updater $ :require - [] respo.cursor :refer $ [] update-states + :code $ quote $ ns app.updater + :require $ [] respo.cursor :refer $ [] update-states diff --git a/config/calcit-quality.cirru b/config/calcit-quality.cirru index 1ffccf3..afbae27 100644 --- a/config/calcit-quality.cirru +++ b/config/calcit-quality.cirru @@ -1,164 +1,47 @@ {} (:schemaVersion 2) :definitions $ {} - |app.comp.container/comp-container $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 1 - |app.comp.container/css-icon $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.comp.container/css-textbox $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.comp.container/read-from-dom! $ {} (:codeDynamic 0) + |app.comp.container/highlight-code $ {} (:codeDynamic 0) :codeNil 0 :declaredOptional 0 :deprecatedCalls 0 :schemaDynamic 0 :typeNone 0 - :typeNotFull 1 + :typeNotFull 0 :unresolved 0 - :unsafeCoerce 5 - |app.comp.container/style-container $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.comp.container/supported-langs $ {} (:codeDynamic 0) + :unsafeCoerce 1 + |app.comp.container/speak-text! $ {} (:codeDynamic 0) :codeNil 0 :declaredOptional 0 :deprecatedCalls 0 - :schemaDynamic 1 + :schemaDynamic 0 :typeNone 0 :typeNotFull 0 - :unresolved 1 - :unsafeCoerce 0 - |app.config/dev? $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.config/site $ {} (:codeDynamic 0) + :unresolved 0 + :unsafeCoerce 2 + |app.main/on-window-keydown $ {} (:codeDynamic 0) :codeNil 0 :declaredOptional 0 :deprecatedCalls 0 - :schemaDynamic 1 + :schemaDynamic 0 :typeNone 0 :typeNotFull 0 - :unresolved 1 - :unsafeCoerce 0 - |app.main/*reel $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 0 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.main/dispatch! $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.main/main! $ {} (:codeDynamic 0) + :unresolved 0 + :unsafeCoerce 1 + |app.main/register-language! $ {} (:codeDynamic 0) :codeNil 0 :declaredOptional 0 :deprecatedCalls 0 :schemaDynamic 0 :typeNone 0 - :typeNotFull 1 + :typeNotFull 0 :unresolved 0 :unsafeCoerce 1 - |app.main/mount-target $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.main/on-window-keydown $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 2 - |app.main/persist-storage! $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.main/reload! $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.main/render-app! $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 - :typeNotFull 1 - :unresolved 1 - :unsafeCoerce 0 - |app.schema/store $ {} (:codeDynamic 0) + |app.schema/Reel $ {} (:codeDynamic 0) :codeNil 0 :declaredOptional 0 :deprecatedCalls 0 :schemaDynamic 1 :typeNone 0 - :typeNotFull 0 - :unresolved 1 - :unsafeCoerce 0 - |app.updater/updater $ {} (:codeDynamic 0) - :codeNil 0 - :declaredOptional 0 - :deprecatedCalls 0 - :schemaDynamic 1 - :typeNone 1 :typeNotFull 1 :unresolved 1 :unsafeCoerce 0 @@ -166,11 +49,11 @@ :codeNil 0 :declaredOptional 0 :deprecatedCalls 0 - :schemaDynamic 16 - :typeNone 12 - :typeNotFull 15 - :unresolved 16 - :unsafeCoerce 9 + :schemaDynamic 1 + :typeNone 0 + :typeNotFull 1 + :unresolved 1 + :unsafeCoerce 5 :scope $ {} (:includeDependencies false) :namespace nil :namespacePrefix nil diff --git a/deps.cirru b/deps.cirru index 34e3712..3cd4b52 100644 --- a/deps.cirru +++ b/deps.cirru @@ -1,10 +1,10 @@ -{} (:calcit-version |0.13.77) +{} (:calcit-version |0.14.17) :version |0.1.0 - :dependencies $ {} (|Respo/reel.calcit |0.6.19) - |Respo/respo-feather.calcit |0.4.11 - |Respo/respo-markdown.calcit |0.4.33 - |Respo/respo-ui.calcit |0.7.19 - |Respo/respo.calcit |0.16.95 - |calcit-lang/js-ffi |0.1.12 - |calcit-lang/memof |0.0.31 + :dependencies $ {} (|Respo/reel.calcit |0.6.24) + |Respo/respo-feather.calcit |0.4.15 + |Respo/respo-markdown.calcit |0.4.37 + |Respo/respo-ui.calcit |0.7.23 + |Respo/respo.calcit |0.16.102 + |calcit-lang/js-ffi |0.1.17 + |calcit-lang/memof |0.0.33 diff --git a/package.json b/package.json index 7c94e34..2009a55 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "vite": "^8.2.2" }, "dependencies": { - "@calcit/procs": "0.13.77", + "@calcit/procs": "0.14.17", "@memkits/azure-speech-util": "^0.0.5", "cirru-color": "^0.2.4", "copy-text-to-clipboard": "^3.2.0", diff --git a/yarn.lock b/yarn.lock index 2e08959..920f601 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,14 +5,14 @@ __metadata: version: 8 cacheKey: 10c0 -"@calcit/procs@npm:0.13.77": - version: 0.13.77 - resolution: "@calcit/procs@npm:0.13.77" +"@calcit/procs@npm:0.14.17": + version: 0.14.17 + resolution: "@calcit/procs@npm:0.14.17" dependencies: "@calcit/ternary-tree": "npm:0.0.26" "@cirru/parser.ts": "npm:^0.0.9" "@cirru/writer.ts": "npm:^0.1.9" - checksum: 10c0/7f0d79ad9e7963728518c3754174136d7c2e906c7177785d633f622300be11b84a8f9ae659c5b93c9fb8f7d47e4fffba773bbe90a30a0f53fc3d1258ab850851 + checksum: 10c0/91b236157b56eb3c9478796d31e2bb96f3668ec57dddb2875162c4a069f5b8ee769b8dd9146f3f34d71812393e72cff0c47022e59e605fffecbeca2b0787b8da languageName: node linkType: hard @@ -768,7 +768,7 @@ __metadata: version: 0.0.0-use.local resolution: "markdown-editor@workspace:." dependencies: - "@calcit/procs": "npm:0.13.77" + "@calcit/procs": "npm:0.14.17" "@memkits/azure-speech-util": "npm:^0.0.5" bottom-tip: "npm:^0.1.5" cirru-color: "npm:^0.2.4"