hara.model.spec-js.ts

analysis-import-groups

(analysis-import-groups {:keys [ns specs functions values]})

collect-type-refs

(collect-type-refs type)

declaration-output-path

(declaration-output-path output)

emit-analysis-declarations

(emit-analysis-declarations {:keys [specs functions values], :as analysis})

emit-function-arg

(emit-function-arg arg current-ns)

emit-function-declaration

(emit-function-declaration fn-def)

emit-import-declaration

(emit-import-declaration current-ns [import-ns refs])

emit-import-item

(emit-import-item sym current-ns)

emit-imports

(emit-imports analysis)

emit-namespace-declarations

(emit-namespace-declarations ns-sym)

emit-open-record

(emit-open-record open current-ns)

emit-record-fields

(emit-record-fields fields current-ns)

emit-spec-declaration

(emit-spec-declaration spec)

emit-ts-type

(emit-ts-type type current-ns)

emit-value-declaration

(emit-value-declaration value-def)

emitted-specs

(emitted-specs {:keys [specs functions values]})

export-ts-ident

(export-ts-ident decl-name)

fn-type

(fn-type fn-def)

module-dts-artifact

(module-dts-artifact {:keys [main runtime-output]})

named-ts-ident

(named-ts-ident type-name current-ns)

ns->module-path

(ns->module-path ns-sym)

prop-ident

(prop-ident s)

quoted-prop

(quoted-prop s)

sanitize-ts-ident

(sanitize-ts-ident s)

unwrap-maybe

(unwrap-maybe type)

valid-ts-ident?

(valid-ts-ident? s)