Gluon


Gluon provides a type-safe remoting connector between an F# backend and a TypeScript client. For example:

1: 
2: 
3: 
4: 
5: 
module My.Service

[<Gluon.Remote(Verb="GET")>]
let increment (x: int) =
    x + 1

Gluon can take this and build plumbing that lets you call this code from TypeScript:

1: 
2: 
3: 
4: 
5: 
import * as Gluon from "gluon-client";
import { My } from "./Generated";

const c = new Gluon.Client();
My.Service.increment(c)(1).then(x => console.log(x));

Installing

The Gluon library can be installed from NuGet:
PM> Install-Package Gluon
The Gluon.Client library can be installed from NuGet:
PM> Install-Package Gluon.Client

Building

Checkout the project from GitHub and then run the build.ps1 (Windows) or build.sh (*nix) script to build the projects. You will need .NET 4.5 or Mono and node.js installed.

Contributing

The project is at an early stage but is actively used at Tachyus. We welcome contributions. Please use the GitHub issue tracker to coordinate.

Fork me on GitHub