0.0.4 • Published 9 years ago

inteliscript v0.0.4

Weekly downloads
13
License
Intelisis
Repository
github
Last release
9 years ago

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);