Как один FFI в Javascript, используя модули Elm's Native
, когда термин имеет более одного аргумента функции? Каков способ, которым висет шалфей? Я думаю, что я видел какие-то прогнозы для кортежей, поэтому я остался в стороне от этого и не предполагал, что функции были неровными, но теперь я не уверен, что получаю ошибку типа в своей функции. Вот что у меня есть для моего Native/Foo.js
модуля:Elm Native с несколькими Arity
var make = function make(elm) {
elm.Native = elm.Native || {};
elm.Native.Foo = elm.Native.Foo || {};
var Result = Elm.Result.make(elm);
// Int -> Int -> Int -> Result String Date
function someDay (year,month,day) {
var d = new Date(year,month-1,day);
return isNaN(d.getTime())
? Result.Err('unable to make date: '
+ JSON.stringify({
"year": year,
"month": month,
"day": day
})
)
: Result.Ok(d)
}
if (elm.Native.Foo.values) return elm.Native.Foo.values;
return elm.Native.Foo.values = {
'someDay': someDay
};
};
Elm.Native.Foo = {};
Elm.Native.Foo.make = make;
и в моем модуле, который я пытаюсь использовать его, я предполагаю, что это уже кэрри:
module Foo where
import Native.Foo
import Date exposing (Date, Month)
import Date.Extra.Core exposing (monthToInt)
someDay : Int -> Month -> Int -> Date
someDay y m d =
case Native.Today.someDay y (monthToInt m) d of
Ok d -> d
Err e -> Debug.crash e
Это компилируется нормально, но когда я пытаюсь запустить свое приложение, я получаю следующую ошибку:
TypeError: fun(...) is not a function
Есть ли что-то, что я делаю неправильно здесь?