inteliscript

0.0.4 • Public • Published

Inteliscript

The Inteliscript module can compile Inteliscript to vanilla JavaScript

Install

cd /your/project-folder
$ npm install inteliscript --save

Testing

$ sudo install -g mocha
cd /node_modules/inteliscript
$ npm test

You need mocha installed globally for testing.

How to use

In JavaScript
var inteliscript = require('inteliscript');
var script = 'exec $.getJSON "http://www.google.com/", into googlesHtml';
var expression = inteliscript.compile(script);

the variable expression now contains the vanilla javascript which can be evaluated with localEval

In CoffeeScript
inteliscript = require 'inteliscript'
script = 'exec $.getJSON "http://www.google.com/", into googlesHtml'
expression = inteliscript.compile(script)

the variable expression now contains the vanilla javascript which can be evaluated with localEval

Options

3 console logs of the raw Inteliscript, the IcedCoffeeScript and the final vanilla JavaScript

inteliscript.compile(String, {verbose: true});
inteliscript.compile String,
  verbose: true

Compiled examples

Example #1

Inteliscript input (written in Inteliscript)
exec $.getJSON 'http://www.google.com/'into googlesHtml
console.log googlesHtml
JavaScript output
(function() {
  var googlesHtml, iced, __iced_deferrals, __iced_k, __iced_k_noop;
 
  iced = require('iced-runtime');
  __iced_k = __iced_k_noop = function() {};
 
  (function(_this) {
    return (function(__iced_k) {
      __iced_deferrals = new iced.Deferrals(__iced_k, {});
      $.getJSON('http://www.google.com/', __iced_deferrals.defer({
        assign_fn: (function() {
          return function() {
            return googlesHtml = arguments[0];
          };
        })(),
        lineno: 0
      }));
      __iced_deferrals._fulfill();
    });
  })(this)((function(_this) {
    return function() {
      return console.log(googlesHtml);
    };
  })(this));
 
}).call(this);

Example #2

Inteliscript input (written in Inteliscript)
exec
  $.getJSON 'http://www.example.com/'into exampleComOutput
  $.getJSON 'http://www.example2.com/'into example2ComOutput
  $.getJSON 'http://www.example3.com/'into example3ComOutput
concat = exampleComOutput + example2ComOutput + example3ComOutput
console.log concat
JavaScript output
(function() {
  var concat, example2ComOutput, example3ComOutput, exampleComOutput, iced, __iced_deferrals, __iced_k, __iced_k_noop;
 
  iced = require('iced-runtime');
  __iced_k = __iced_k_noop = function() {};
 
  (function(_this) {
    return (function(__iced_k) {
      __iced_deferrals = new iced.Deferrals(__iced_k, {});
      $.getJSON('http://www.example.com/', __iced_deferrals.defer({
        assign_fn: (function() {
          return function() {
            return exampleComOutput = arguments[0];
          };
        })(),
        lineno: 1
      }));
      $.getJSON('http://www.example2.com/', __iced_deferrals.defer({
        assign_fn: (function() {
          return function() {
            return example2ComOutput = arguments[0];
          };
        })(),
        lineno: 2
      }));
      $.getJSON('http://www.example3.com/', __iced_deferrals.defer({
        assign_fn: (function() {
          return function() {
            return example3ComOutput = arguments[0];
          };
        })(),
        lineno: 3
      }));
      __iced_deferrals._fulfill();
    });
  })(this)((function(_this) {
    return function() {
      concat = exampleComOutput + example2ComOutput + example3ComOutput;
      return console.log(concat);
    };
  })(this));
 
}).call(this);

Readme

Keywords

none

Package Sidebar

Install

npm i inteliscript

Weekly Downloads

1

Version

0.0.4

License

Intelisis

Last publish

Collaborators

  • elgubenis