{
  "name": "lively.lang",
  "version": "0.4.1",
  "description": "JavaScript utils providing useful abstractions for working with collections, functions, objects",
  "main": "index.js",
  "dependencies": {},
  "devDependencies": {
    "expect.js": "*",
    "grunt": "^0.4.5",
    "grunt-contrib-concat": "^0.5.0",
    "grunt-contrib-uglify": "^0.6.0",
    "mocha": "*",
    "mocha-phantomjs": "*"
  },
  "scripts": {
    "test": "node_modules/mocha/bin/mocha tests/*-test.js && node_modules/mocha-phantomjs/bin/mocha-phantomjs tests/run-tests.html"
  },
  "author": {
    "name": "Robert Krahn"
  },
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/LivelyKernel/lively.lang"
  },
  "keywords": [
    "utilities",
    "LivelyWeb",
    "LivelyKernel"
  ],
  "bugs": {
    "url": "https://github.com/LivelyKernel/lively.lang/issues"
  },
  "homepage": "https://github.com/LivelyKernel/lively.lang",
  "readme": "# lively.lang [![Build Status](https://travis-ci.org/LivelyKernel/lively.lang.svg?branch=master)](https://travis-ci.org/LivelyKernel/lively.lang)\n\n*What?* This project packages abstractions for JavaScript that proved to be useful in\nthe [Lively Web](http://lively-web.org) project. On first glance it might seem\nto be just another underscore.js library but apart from extensions to existing\nJavaScript objects and classes it also provides abstractions for asynchronous\ncode, new object representations, and functions for inspecting JavaScript\nobjects.\n\n*Why?* Make it easy to reuse abstractions we found helpful in all kinds of\ncontexts. All features can be used in browser environments and in node.js.\nActually, one motivation for this library was to have unified interfaces across\nJavaScript environments.\n\n*How?* By default the library is non-invasive, i.e. no global objects are\nmodified. To use provided functions you can either\n\n1. call them directly,\n2. use underscore.js-like chain/value wrapping,\n3. or install extension methods explicitly in global objects.\n\n## Summary\n\nJavaScript objects and classes that are extended:\n\n- Array\n- String\n- Number\n- Object\n- Function\n- Date\n\nAbstractions usually not included by default in JavaScript runtimes:\n\n- node.js-like event emitter interface (uses event module on node.js)\n- Path (property access in nested objects / arrays)\n- Interval\n- Grid\n- ArrayProjection\n- Closure\n- Class system that allows to change classes at runtime\n- Messengers (generic interface for remote-messaging)\n- Workers based on messengers\n\nPlease see the individual [doc files](doc/) for detailed information.\n\n<!---API_GENERATED_START--->\n### [string.js](doc/string.md)\n\nString utility methods for printing, parsing, and converting strings.\n\n\n\n### [number.js](doc/number.md)\n\nUtility functions for JS Numbers.\n\n\n\n\n### [date.js](doc/date.md)\n\nUtil functions to print and work with JS date objects.\n\n\n\n\n### [collection.js](doc/collection.md)\n\nMethods to make working with arrays more convenient and collection-like\nabstractions for groups, intervals, grids.\n\n\n\n\n### [function.js](doc/function.md)\n\nAbstractions around first class functions like augmenting and inspecting\nfunctions as well as to control function calls like dealing with asynchronous\ncontrol flows.\n\n\n\n\n### [object.js](doc/object.md)\n\nUtility functions that help to inspect, enumerate, and create JS objects\n\n\n\n\n### [class.js](doc/class.md)\n\nA lightweight class system that allows change classes at runtime.\n\n\n\n\n### [events.js](doc/events.md)\n\nA simple node.js-like cross-platform event emitter implementation.\n\n\n\n\n### [messenger.js](doc/messenger.md)\n\nA pluggable interface to provide asynchronous, actor-like message\ncommunication between JavaScript systems. Provides a unified message protocol\nand send / receive methods.\n\n\n\n\n### [worker.js](doc/worker.md)\n\nA platform-independent worker interface that will spawn new processes per\nworker (if the platform you use it on supports it).\n\n\n\n<!---API_GENERATED_END--->\n\n## Usage\nTODO\n\n### Browsers\nTODO\n\n### node.js\nTODO\n\n## License\n\n[MIT License](LICENSE)\n\n### methods throttle and debounce in function.js\n\nadapted from Underscore.js 1.3.3\n© 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.\nUnderscore is distributed under the MIT license.\n\n### dateFormat in date.js\n\nDate Format 1.2.3\n© 2007-2009 Steven Levithan <stevenlevithan.com>\nMIT license\nIncludes enhancements by Scott Trenda <scott.trenda.net>\nand Kris Kowal <cixar.com/~kris.kowal/>\n\n### serveral methods in object.js including `subclass()`\n\nare inspired or derived from Prototype JavaScript framework, version 1.6.0_rc1\n© 2005-2007 Sam Stephenson\nPrototype is freely distributable under the terms of an MIT-style license.\nFor details, see the Prototype web site: http://www.prototypejs.org/\n",
  "readmeFilename": "README.md",
  "_id": "lively.lang@0.4.1",
  "_from": "lively.lang@>=0.4.1"
}
