Skip to content
Extended Javascript for Pros
JavaScript Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
browser2
expectations
lib
test Remove whitespace [Gun.io WhitespaceBot] Oct 26, 2011
web
.DS_Store
.gitignore
History.md
LICENSE
README.md
package.json

README.md

  _  __      __  __     _
 | |/ /__ _ / _|/ _|___(_)_ _  ___
 | ' </ _` |  _|  _/ -_) | ' \/ -_)
 |_|\_\__,_|_| |_| \___|_|_||_\___|
  • Progressively enhance Javascript syntax: ensure vanilla Javascript still works as normal
  • avoid nice-to-haves, concentrate on small useful feature set and pragmatism
  • Hackable, modular, extendable and testable
  • whitespace is not significant. Looks nice, but is painful to work with.

Example

Edge::add = (nick, name, complete) {
  @client.select 15
  user = User.find! {id: nick}
  puzzle = Puzzle.find! {name: name}
  err, data = client.set! "u:#{user}:p:#{puzzle}"
  complete()
}

READ MORE HERE ---> http://weepy.github.com/kaffeine <-----

also on IRC: #altjs

Tests

  • via Node

    • bin/expect will run all tests
    • bin/expect file_name will a particular test e.g. bin/expect expectations/arrow
  • via Browser

    • load browser/runner.html
  • Integration tests:

    • node test/test_node.js
    • knode test/test_knode.js

Building tests for the browser

bin/build

depends on brequire (http://github.com/weepy/brequire).

Install

npm install kaffeine

requires node >= 0.3.1

Use

Compile a script from the command line:

kaffeine -c /path/to/script.k

See kaffeine --help for more

Run a kaffeine file directly

knode /path/to/script.k

require kaffeine files in scripts (in this case my_script.k):

require('kaffeine')
require('my_script')

TODO

  • need --- operator for delimiting bangs!
  • nested for loops - is there a problem ?
You can’t perform that action at this time.