New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@ocsigen/ts2ocaml

Package Overview
Dependencies
Maintainers
3
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ocsigen/ts2ocaml

Generate OCaml bindings from TypeScript definitions via the TypeScript compiler API

  • 1.4.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
74
increased by111.43%
Maintainers
3
Weekly downloads
 
Created
Source

ts2ocaml

npm latest version

Generate OCaml bindings from TypeScript definitions via the TypeScript compiler API.

Installation

npm install -g @ocsigen/ts2ocaml

Or if you are using yarn:

yarn global add @ocsigen/ts2ocaml

An in-browser version may be available in future.

Overview

Goals:

  • Provide a way to quickly generate a missing binding to some JS package you need in your project.
    • This tool can generate OCaml bindings to JS packages from TS definition files (.d.ts), which you can use with minimal modification.
  • Help library authors by reducing the amount of boilerplate code they have to write by hand.
    • This tool can be configured to generate an imperfect but simpler version of bindings, which you can easily modify to create a better binding library.

Non-goals:

  • Generate a binding written in 100% OCaml-idiomatic way.
    • OCaml has very different programming concepts from TypeScript, so it's not very straightforward to translate TypeScript's concepts to OCaml's one.
    • This tool will simply generate bindings which closely resembles the original TypeScript definitions. It's human's job to translate it to OCaml-idiomatic API.
  • Perfectly replicate TypeScript's type system in OCaml.
    • Many of the advanced types in TypeScript, such as keyof T or T extends U ? A : B, are simply impossible to simulate in OCaml.
    • In those cases, this tool will leave them as untyped. It's also human's job to (possibly) restore type safety with some other means.

Documentation

For users:

For developers and contributors:

About this tool

This tool is heavily inspired by fable-compiler/ts2fable, which generates Fable (F# AltJS) bindings from TS definition files.

This tools is licensed under the Apache License 2.0.

Keywords

FAQs

Package last updated on 13 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc