conjure-js 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist-cli/conjure-js.mjs +9336 -5028
  2. package/dist-vite-plugin/index.mjs +10455 -0
  3. package/package.json +9 -2
  4. package/src/bin/cli.ts +2 -2
  5. package/src/bin/nrepl-symbol.ts +150 -0
  6. package/src/bin/nrepl.ts +301 -157
  7. package/src/bin/version.ts +1 -1
  8. package/src/clojure/core.clj +764 -29
  9. package/src/clojure/core.clj.d.ts +76 -4
  10. package/src/clojure/demo/math.clj +5 -1
  11. package/src/clojure/generated/builtin-namespace-registry.ts +4 -0
  12. package/src/clojure/generated/clojure-core-source.ts +765 -29
  13. package/src/clojure/generated/clojure-set-source.ts +136 -0
  14. package/src/clojure/generated/clojure-walk-source.ts +72 -0
  15. package/src/clojure/set.clj +132 -0
  16. package/src/clojure/set.clj.d.ts +20 -0
  17. package/src/clojure/string.clj.d.ts +14 -0
  18. package/src/clojure/walk.clj +68 -0
  19. package/src/clojure/walk.clj.d.ts +7 -0
  20. package/src/core/assertions.ts +114 -6
  21. package/src/core/bootstrap.ts +337 -0
  22. package/src/core/conversions.ts +48 -31
  23. package/src/core/core-module.ts +303 -0
  24. package/src/core/env.ts +42 -7
  25. package/src/core/errors.ts +8 -0
  26. package/src/core/evaluator/apply.ts +40 -25
  27. package/src/core/evaluator/arity.ts +8 -8
  28. package/src/core/evaluator/async-evaluator.ts +565 -0
  29. package/src/core/evaluator/collections.ts +30 -4
  30. package/src/core/evaluator/destructure.ts +180 -69
  31. package/src/core/evaluator/dispatch.ts +24 -14
  32. package/src/core/evaluator/evaluate.ts +22 -20
  33. package/src/core/evaluator/expand.ts +45 -15
  34. package/src/core/evaluator/form-parsers.ts +178 -0
  35. package/src/core/evaluator/index.ts +7 -9
  36. package/src/core/evaluator/js-interop.ts +189 -0
  37. package/src/core/evaluator/quasiquote.ts +14 -8
  38. package/src/core/evaluator/recur-check.ts +6 -6
  39. package/src/core/evaluator/special-forms.ts +380 -173
  40. package/src/core/factories.ts +182 -3
  41. package/src/core/index.ts +55 -5
  42. package/src/core/module.ts +136 -0
  43. package/src/core/ns-forms.ts +107 -0
  44. package/src/core/positions.ts +9 -2
  45. package/src/core/printer.ts +371 -11
  46. package/src/core/reader.ts +127 -29
  47. package/src/core/registry.ts +209 -0
  48. package/src/core/runtime.ts +376 -0
  49. package/src/core/session.ts +263 -478
  50. package/src/core/stdlib/arithmetic.ts +516 -215
  51. package/src/core/stdlib/async-fns.ts +132 -0
  52. package/src/core/stdlib/atoms.ts +286 -63
  53. package/src/core/stdlib/errors.ts +54 -50
  54. package/src/core/stdlib/hof.ts +74 -173
  55. package/src/core/stdlib/js-namespace.ts +344 -0
  56. package/src/core/stdlib/lazy.ts +34 -0
  57. package/src/core/stdlib/maps-sets.ts +322 -0
  58. package/src/core/stdlib/meta.ts +109 -28
  59. package/src/core/stdlib/predicates.ts +322 -196
  60. package/src/core/stdlib/regex.ts +126 -98
  61. package/src/core/stdlib/seq.ts +564 -0
  62. package/src/core/stdlib/strings.ts +164 -135
  63. package/src/core/stdlib/transducers.ts +95 -100
  64. package/src/core/stdlib/utils.ts +283 -147
  65. package/src/core/stdlib/vars.ts +27 -27
  66. package/src/core/stdlib/vectors.ts +122 -0
  67. package/src/core/tokenizer.ts +13 -3
  68. package/src/core/transformations.ts +117 -9
  69. package/src/core/types.ts +118 -6
  70. package/src/host/node-host-module.ts +74 -0
  71. package/src/nrepl/relay.ts +432 -0
  72. package/src/vite-plugin-clj/codegen.ts +87 -95
  73. package/src/vite-plugin-clj/index.ts +242 -18
  74. package/src/vite-plugin-clj/namespace-utils.ts +39 -0
  75. package/src/vite-plugin-clj/static-analysis.ts +211 -0
  76. package/src/clojure/demo.clj +0 -63
  77. package/src/clojure/demo.clj.d.ts +0 -0
  78. package/src/core/core-env.ts +0 -60
  79. package/src/core/stdlib/collections.ts +0 -784
  80. package/src/host/node.ts +0 -55
@@ -1,3 +1,8 @@
1
+ export const all: unknown;
2
+ export const async: unknown;
3
+ export const catch_STAR_: unknown;
4
+ export const then: unknown;
5
+ export function vary_meta(obj: unknown, f: unknown, ...args: unknown[]): unknown;
1
6
  export function next(coll: unknown): unknown;
2
7
  export function not(x: unknown): unknown;
3
8
  export function second(coll: unknown): unknown;
@@ -28,7 +33,7 @@ export function sort(coll: unknown): unknown;
28
33
  export function sort(cmp: unknown, coll: unknown): unknown;
29
34
  export function sort_by(keyfn: unknown, coll: unknown): unknown;
30
35
  export function sort_by(keyfn: unknown, cmp: unknown, coll: unknown): unknown;
31
- export function not_any_QMARK_(...args: unknown[]): unknown;
36
+ export const not_any_QMARK_: unknown;
32
37
  export function not_every_QMARK_(pred: unknown, coll: unknown): unknown;
33
38
  export function into(to: unknown, from: unknown): unknown;
34
39
  export function into(to: unknown, xf: unknown, from: unknown): unknown;
@@ -61,6 +66,73 @@ export function dedupe(): unknown;
61
66
  export function dedupe(coll: unknown): unknown;
62
67
  export function partition_all(n: unknown): unknown;
63
68
  export function partition_all(n: unknown, coll: unknown): unknown;
64
- export function err(type: unknown, message: unknown): unknown;
65
- export function err(type: unknown, message: unknown, data: unknown): unknown;
66
- export function err(type: unknown, message: unknown, data: unknown, cause: unknown): unknown;
69
+ export function make_err(type: unknown, message: unknown): unknown;
70
+ export function make_err(type: unknown, message: unknown, data: unknown): unknown;
71
+ export function make_err(type: unknown, message: unknown, data: unknown, cause: unknown): unknown;
72
+ export function butlast(coll: unknown): unknown;
73
+ export function fnext(x: unknown): unknown;
74
+ export function nfirst(x: unknown): unknown;
75
+ export function nnext(x: unknown): unknown;
76
+ export function nthrest(coll: unknown, n: unknown): unknown;
77
+ export function nthnext(coll: unknown, n: unknown): unknown;
78
+ export function list_STAR_(args: unknown): unknown;
79
+ export function list_STAR_(a: unknown, args: unknown): unknown;
80
+ export function list_STAR_(a: unknown, b: unknown, args: unknown): unknown;
81
+ export function list_STAR_(a: unknown, b: unknown, c: unknown, args: unknown): unknown;
82
+ export function list_STAR_(a: unknown, b: unknown, c: unknown, d: unknown, ...more: unknown[]): unknown;
83
+ export function mapv(f: unknown, coll: unknown): unknown;
84
+ export function mapv(f: unknown, c1: unknown, c2: unknown): unknown;
85
+ export function mapv(f: unknown, c1: unknown, c2: unknown, c3: unknown): unknown;
86
+ export function mapv(f: unknown, c1: unknown, c2: unknown, c3: unknown, ...colls: unknown[]): unknown;
87
+ export function filterv(pred: unknown, coll: unknown): unknown;
88
+ export function run_BANG_(proc: unknown, coll: unknown): unknown;
89
+ export function keep(f: unknown): unknown;
90
+ export function keep(f: unknown, coll: unknown): unknown;
91
+ export function keep_indexed(f: unknown): unknown;
92
+ export function keep_indexed(f: unknown, coll: unknown): unknown;
93
+ export function mapcat(f: unknown): unknown;
94
+ export function mapcat(f: unknown, coll: unknown): unknown;
95
+ export function mapcat(f: unknown, coll: unknown, ...more: unknown[]): unknown;
96
+ export function interleave(c1: unknown, c2: unknown): unknown;
97
+ export function interleave(c1: unknown, c2: unknown, ...colls: unknown[]): unknown;
98
+ export function interpose(sep: unknown): unknown;
99
+ export function interpose(sep: unknown, coll: unknown): unknown;
100
+ export function concat(): unknown;
101
+ export function concat(x: unknown): unknown;
102
+ export function concat(x: unknown, y: unknown): unknown;
103
+ export function concat(x: unknown, y: unknown, ...zs: unknown[]): unknown;
104
+ export function iterate(f: unknown, x: unknown): unknown;
105
+ export function iterate(f: unknown, x: unknown, n: unknown): unknown;
106
+ export function repeatedly(f: unknown): unknown;
107
+ export function repeatedly(n: unknown, f: unknown): unknown;
108
+ export function cycle(coll: unknown): unknown;
109
+ export function cycle(n: unknown, coll: unknown): unknown;
110
+ export function repeat(x: unknown): unknown;
111
+ export function repeat(n: unknown, x: unknown): unknown;
112
+ export function range(): unknown;
113
+ export function range(end: unknown): unknown;
114
+ export function range(start: unknown, end: unknown): unknown;
115
+ export function range(start: unknown, end: unknown, step: unknown): unknown;
116
+ export function newline(): unknown;
117
+ export function dorun(coll: unknown): unknown;
118
+ export function doall(coll: unknown): unknown;
119
+ export function take_nth(n: unknown): unknown;
120
+ export function take_nth(n: unknown, coll: unknown): unknown;
121
+ export function partition(n: unknown, coll: unknown): unknown;
122
+ export function partition(n: unknown, step: unknown, coll: unknown): unknown;
123
+ export function partition(n: unknown, step: unknown, pad: unknown, coll: unknown): unknown;
124
+ export function partition_by(f: unknown): unknown;
125
+ export function partition_by(f: unknown, coll: unknown): unknown;
126
+ export function reductions(f: unknown, coll: unknown): unknown;
127
+ export function reductions(f: unknown, init: unknown, coll: unknown): unknown;
128
+ export function split_at(n: unknown, coll: unknown): unknown;
129
+ export function split_with(pred: unknown, coll: unknown): unknown;
130
+ export function merge_with(f: unknown, ...maps: unknown[]): unknown;
131
+ export function update_keys(m: unknown, f: unknown): unknown;
132
+ export function update_vals(m: unknown, f: unknown): unknown;
133
+ export function not_empty(coll: unknown): unknown;
134
+ export function memoize(f: unknown): unknown;
135
+ export function trampoline(f: unknown): unknown;
136
+ export function trampoline(f: unknown, ...args: unknown[]): unknown;
137
+ export function condp_emit(gpred: unknown, gexpr: unknown, clauses: unknown): unknown;
138
+ export function case_emit(ge: unknown, clauses: unknown): unknown;
@@ -4,7 +4,11 @@
4
4
  (def pi 3.14159)
5
5
 
6
6
 
7
- (defn factorial [n]
7
+ (defn factorial
8
+ "The classic factorial function.
9
+ Uses loop/recur to avoid growing the stack, a single lexical env
10
+ is used for the whole operation"
11
+ [n]
8
12
  (loop [i n acc 1]
9
13
  (if (<= i 1)
10
14
  acc
@@ -1,11 +1,15 @@
1
1
  // Auto-generated — do not edit directly.
2
2
  // Re-generate with: npm run gen:core-source
3
3
  import { clojure_coreSource } from './clojure-core-source'
4
+ import { clojure_setSource } from './clojure-set-source'
4
5
  import { clojure_stringSource } from './clojure-string-source'
6
+ import { clojure_walkSource } from './clojure-walk-source'
5
7
 
6
8
  export const builtInNamespaceSources: Record<string, () => string> = {
7
9
  'clojure.core': () => clojure_coreSource,
10
+ 'clojure.set': () => clojure_setSource,
8
11
  'clojure.string': () => clojure_stringSource,
12
+ 'clojure.walk': () => clojure_walkSource,
9
13
  }
10
14
 
11
15
  export function getBuiltInNamespaceSource(nsName: string): string | null {