Socket
Socket
Sign inDemoInstall

@catala-lang/catala-explain

Package Overview
Dependencies
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@catala-lang/catala-explain

A module for explicability from the trace of a catala program


Version published
Weekly downloads
28
increased by16.67%
Maintainers
2
Weekly downloads
 
Created
Source

Catala Explain from trace

Report BugExample

A module for explicability from the trace of a catala program.

Installation

To add this module to your ReScript project, install the following dependencies:

yarn add -D @catala-lang/catala-explain rescript-docx

Then add them to the bs-dependencies of your bsconfig.json:

 {
   ...
   "bs-dependencies": [
+    "@catala-lang/catala-explain"
+    "rescript-docx"
   ]
}

ℹ️ You need to install rescript-docx to manage the generated .docx file.

Usage

This module is meant to be used as a library. It provides a function CatalaExplain.generate that takes the user's input and the trace of a catala program and generates a .docx file containing the explanation of the result of the program.

let doc = CatalaExplain.generate(
    // The trace of the catala program
    ~events=CatalaFrenchLaw.retrieveEventsSerialized()->CatalaRuntime.deserializedEvents,
    // A JSON object containing the user's input used to generate the document
    ~userInputs=formData,
    // The schema of the user inputs form, used for having explicit input form labels.
    ~schema= WebAssets.schema,
    // The options for the document
    ~opts={
        title: "Titre de la décision",
        description: "Description du document",
        creator: "Créateur du document",
        // Key from user inputs to ignore (e.g 'identifiant' in array items), instead
        // of using the 'title' field of the schema.
        keysToIgnore: WebAssets.keysToIgnore,
        // The output to show as the result of the computation
        selectedOutput: WebAssets.selectedOutput,
        // The URL of the exposed Catala program source code (used to redirect
        // the user from the generated document to variable definitions)
        sourceURL: "https:/example.com/sources",
    },
)

// Example of how to save the generated document
// 
// Where `FileSaver` is a minimal wrapper around the `file-saver` package
doc
->Docx.Packer.toBlob
->Promise.thenResolve(blob => {
    FileSaver.saveAs(blob, `explication-decision.docx`)
})
->ignore

ℹ️ You can find a complete example of usage in the catala-dsfr repository.

Sponsors

This library has been developed during a research project funded by the mission logiciels libres et communs numériques of the direction interministérielle du numérique in collaboration with the Catala project.

Keywords

FAQs

Package last updated on 13 Dec 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