parent
cc728e5748
commit
da31e9c61c
3 changed files with 52 additions and 17 deletions
|
|
@ -54,14 +54,11 @@
|
||||||
{:extra-paths ["process/src" "process/test" "test-resources/lib_tests"]
|
{:extra-paths ["process/src" "process/test" "test-resources/lib_tests"]
|
||||||
:extra-deps {org.clj-commons/clj-http-lite {:mvn/version "0.4.392"}
|
:extra-deps {org.clj-commons/clj-http-lite {:mvn/version "0.4.392"}
|
||||||
org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha"
|
org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha"
|
||||||
:sha "1deb5702da3747a42f3aff769307672e59fc8ed8"}
|
:sha "0dec1f88cbde74a0470b454396f09a03adb4ae39"}
|
||||||
lambdaisland/regal {:git/url "https://github.com/lambdaisland/regal"
|
lambdaisland/regal {:mvn/version "0.0.143"}
|
||||||
:sha "f902d2c43121f9e1c48603d6eb99f5900eb6a9f6"}
|
|
||||||
weavejester/medley {:git/url "https://github.com/weavejester/medley"
|
|
||||||
:sha "a4e5fb5383f5c0d83cb2d005181a35b76d8a136d"}
|
|
||||||
cprop/cprop {:mvn/version "0.1.16"}
|
cprop/cprop {:mvn/version "0.1.16"}
|
||||||
comb/comb {:mvn/version "0.1.1"}
|
comb/comb {:mvn/version "0.1.1"}
|
||||||
mvxcvi/arrangement {:mvn/version "1.2.0"}
|
mvxcvi/arrangement {:mvn/version "2.0.0"}
|
||||||
org.clojure/data.zip {:mvn/version "1.0.0"}
|
org.clojure/data.zip {:mvn/version "1.0.0"}
|
||||||
clojure-csv/clojure-csv {:mvn/version "2.0.2"}
|
clojure-csv/clojure-csv {:mvn/version "2.0.2"}
|
||||||
org.clojure/math.combinatorics {:mvn/version "0.1.6"}
|
org.clojure/math.combinatorics {:mvn/version "0.1.6"}
|
||||||
|
|
@ -69,16 +66,16 @@
|
||||||
henryw374/cljc.java-time
|
henryw374/cljc.java-time
|
||||||
{:git/url "https://github.com/henryw374/cljc.java-time.git"
|
{:git/url "https://github.com/henryw374/cljc.java-time.git"
|
||||||
:sha "e3d184b78e933322b3fcaa6ca66cbb8f42a6b35c"}
|
:sha "e3d184b78e933322b3fcaa6ca66cbb8f42a6b35c"}
|
||||||
camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.1"}
|
camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.2"}
|
||||||
aero/aero {:mvn/version "1.1.6"}
|
aero/aero {:mvn/version "1.1.6"}
|
||||||
org.clojure/data.generators {:mvn/version "1.0.0"}
|
org.clojure/data.generators {:mvn/version "1.0.0"}
|
||||||
honeysql/honeysql {:mvn/version "1.0.444"}
|
honeysql/honeysql {:mvn/version "1.0.461"}
|
||||||
com.github.seancorfield/honeysql {:mvn/version "2.0.0-rc2"}
|
com.github.seancorfield/honeysql {:mvn/version "2.2.840"}
|
||||||
minimallist/minimallist {:mvn/version "0.0.6"}
|
minimallist/minimallist {:mvn/version "0.0.10"}
|
||||||
circleci/bond {:mvn/version "0.4.0"}
|
circleci/bond {:mvn/version "0.6.0"}
|
||||||
version-clj/version-clj {:mvn/version "2.0.1"}
|
version-clj/version-clj {:mvn/version "2.0.2"}
|
||||||
gaka/gaka {:mvn/version "0.3.0"}
|
gaka/gaka {:mvn/version "0.3.0"}
|
||||||
failjure/failjure {:mvn/version "2.1.1"}
|
failjure/failjure {:mvn/version "2.2.0"}
|
||||||
io.helins/binf {:mvn/version "1.1.0-beta0"}
|
io.helins/binf {:mvn/version "1.1.0-beta0"}
|
||||||
rm-hull/jasentaa {:mvn/version "0.2.5"}
|
rm-hull/jasentaa {:mvn/version "0.2.5"}
|
||||||
slingshot/slingshot {:mvn/version "0.12.2"}
|
slingshot/slingshot {:mvn/version "0.12.2"}
|
||||||
|
|
@ -95,11 +92,29 @@
|
||||||
hato/hato {:mvn/version "0.8.2"}
|
hato/hato {:mvn/version "0.8.2"}
|
||||||
better-cond/better-cond {:mvn/version "2.1.1"}
|
better-cond/better-cond {:mvn/version "2.1.1"}
|
||||||
org.clojure/core.specs.alpha {:mvn/version "0.2.62"}
|
org.clojure/core.specs.alpha {:mvn/version "0.2.62"}
|
||||||
reifyhealth/specmonstah {:mvn/version "2.0.0"}
|
reifyhealth/specmonstah {:git/url "https://github.com/reifyhealth/specmonstah", :sha "a2b357009a3aa99a0c2d2361f3bbcd0b0e36505e"}
|
||||||
exoscale/coax {:mvn/version "1.0.0-alpha14"}
|
exoscale/coax {:mvn/version "1.0.0-alpha14"}
|
||||||
orchestra/orchestra {:mvn/version "2021.01.01-1"}
|
orchestra/orchestra {:mvn/version "2021.01.01-1"}
|
||||||
expound/expound {:mvn/version "0.8.10"}
|
expound/expound {:mvn/version "0.8.10"}
|
||||||
integrant/integrant {:mvn/version "0.8.0"}}
|
integrant/integrant {:mvn/version "0.8.0"}
|
||||||
|
com.stuartsierra/dependency {:mvn/version "1.0.0"}
|
||||||
|
listora/again {:mvn/version "1.0.0"}
|
||||||
|
org.clojure/tools.gitlibs {:mvn/version "2.4.172"}
|
||||||
|
environ/environ {:mvn/version "1.2.0"}
|
||||||
|
table/table {:git/url "https://github.com/cldwalker/table", :sha "f6293c5f3dac1dd6f525a80fc80930f8ccdf16b7"}
|
||||||
|
markdown-clj/markdown-clj {:mvn/version "1.10.8"}
|
||||||
|
org.clojure/tools.namespace {:git/url "https://github.com/babashka/tools.namespace", :sha "a13b037215e21a2e71aa34b27e1dd52c801a2a7b"}
|
||||||
|
medley/medley {:mvn/version "1.3.0"}
|
||||||
|
io.github.cognitect-labs/test-runner {:git/tag "v0.5.0", :git/sha "b3fd0d2"}
|
||||||
|
borkdude/missing.test.assertions {:git/url "https://github.com/borkdude/missing.test.assertions", :sha "603cb01bee72fb17addacc53c34c85612684ad70"}
|
||||||
|
dev.nubank/docopt {:mvn/version "0.6.1-fix7"}
|
||||||
|
testdoc/testdoc {:mvn/version "1.4.1"}
|
||||||
|
org.clojars.lispyclouds/contajners {:mvn/version "0.0.4"}
|
||||||
|
borkdude/rewrite-edn {:mvn/version "0.1.0"}
|
||||||
|
clojure-term-colors/clojure-term-colors {:mvn/version "0.1.0"}
|
||||||
|
io.aviso/pretty {:mvn/version "1.1.1"}
|
||||||
|
progrock/progrock {:mvn/version "0.1.2"}
|
||||||
|
djblue/portal {:mvn/version "0.19.0"}}
|
||||||
:classpath-overrides {org.clojure/clojure nil
|
:classpath-overrides {org.clojure/clojure nil
|
||||||
org.clojure/spec.alpha nil}}
|
org.clojure/spec.alpha nil}}
|
||||||
:clj-nvd
|
:clj-nvd
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
(ns babashka.impl.clojure.core
|
(ns babashka.impl.clojure.core
|
||||||
{:no-doc true}
|
{:no-doc true}
|
||||||
(:refer-clojure :exclude [future read+string clojure-version with-precision
|
(:refer-clojure :exclude [future read+string clojure-version with-precision
|
||||||
send-via send send-off sync])
|
send-via send send-off sync into-array])
|
||||||
(:require [babashka.impl.common :as common]
|
(:require [babashka.impl.common :as common]
|
||||||
[borkdude.graal.locking :as locking]
|
[borkdude.graal.locking :as locking]
|
||||||
[clojure.core :as c]
|
[clojure.core :as c]
|
||||||
|
|
@ -142,6 +142,21 @@
|
||||||
[_flags-ignored-for-now & body]
|
[_flags-ignored-for-now & body]
|
||||||
`(clojure.core/-run-in-transaction (fn [] ~@body)))
|
`(clojure.core/-run-in-transaction (fn [] ~@body)))
|
||||||
|
|
||||||
|
(defn into-array
|
||||||
|
"Returns an array with components set to the values in aseq. The array's
|
||||||
|
component type is type if provided, or the type of the first value in
|
||||||
|
aseq if present, or Object. All values in aseq must be compatible with
|
||||||
|
the component type. Class objects for the primitive types can be obtained
|
||||||
|
using, e.g., Integer/TYPE."
|
||||||
|
{:added "1.0"
|
||||||
|
:static true}
|
||||||
|
([aseq]
|
||||||
|
(try (clojure.lang.RT/seqToTypedArray (seq aseq))
|
||||||
|
(catch IllegalArgumentException _
|
||||||
|
(clojure.lang.RT/seqToTypedArray Object (seq aseq)))))
|
||||||
|
([type aseq]
|
||||||
|
(clojure.lang.RT/seqToTypedArray type (seq aseq))))
|
||||||
|
|
||||||
(def core-extras
|
(def core-extras
|
||||||
{;; agents
|
{;; agents
|
||||||
'agent (copy-core-var agent)
|
'agent (copy-core-var agent)
|
||||||
|
|
@ -202,5 +217,6 @@
|
||||||
'NaN? (sci/copy-var NaN? clojure-core-ns)
|
'NaN? (sci/copy-var NaN? clojure-core-ns)
|
||||||
'infinite? (sci/copy-var infinite? clojure-core-ns)
|
'infinite? (sci/copy-var infinite? clojure-core-ns)
|
||||||
'StackTraceElement->vec (sci/copy-var StackTraceElement->vec clojure-core-ns)
|
'StackTraceElement->vec (sci/copy-var StackTraceElement->vec clojure-core-ns)
|
||||||
'memfn (sci/copy-var memfn clojure-core-ns)}
|
'memfn (sci/copy-var memfn clojure-core-ns)
|
||||||
|
'into-array (sci/copy-var into-array clojure-core-ns)}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -813,6 +813,10 @@ true")))
|
||||||
(deftest aget-test
|
(deftest aget-test
|
||||||
(is (= 1 (bb nil "(def array-2d (into-array [(int-array [1 2]) (int-array [3 4])])) (aget array-2d 0 0)"))))
|
(is (= 1 (bb nil "(def array-2d (into-array [(int-array [1 2]) (int-array [3 4])])) (aget array-2d 0 0)"))))
|
||||||
|
|
||||||
|
(deftest into-array-fallback-test
|
||||||
|
(is (= :f (bb nil "(first (into-array [:f]))")))
|
||||||
|
(is (= :f (bb nil "(first (first (into-array [(into-array [:f])])))"))))
|
||||||
|
|
||||||
;;;; Scratch
|
;;;; Scratch
|
||||||
|
|
||||||
(comment
|
(comment
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue