Создать привязку на основе внешнего JS - PullRequest
0 голосов
/ 23 мая 2018

В этой публикации автор учит, как сделать привязку из библиотеки NodeJS к Reason.Однако я хочу создать привязку для API Карт Google Javascript , которую нельзя установить через NPM.Скорее, он обычно загружается внизу <body> с тегом <script>.

Кроме того, API Карт Google Javascript экспортирует только свои функции в функцию, переданную в качестве аргумента в URL (callback=funcName),Будет ли это работать в Reason так же, как в raw JS?

Как я могу сделать эту привязку?

1 Ответ

0 голосов
/ 24 мая 2018

API установлен как глобальный, так что вы просто привязываетесь к ним как обычные глобальные .А поскольку функции Reason генерируют обычные функции JavaScript, следующее более или менее эквивалентно примеру в документации, которую вы связали:

type map;
[@bs.new] [@bs.scope ("google", "maps")] external make : (Dom.element, Js.t({..})) => map = "Map";

let initMap = () => {
  let map = make(mapElement, {
    "center": { "lat": -34.397, "lng": 150.644 },
    "zoom": 0
  });
};
...