What? This project packages abstractions for JavaScript that proved to be useful in the Lively Web project. On first glance it might seem to be just another underscore.js library but apart from extensions to existing JavaScript objects and classes it also provides abstractions for asynchronous code, new object representations, and functions for inspecting JavaScript objects.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defmacro foo | |
[& [fn]] | |
`(let [env# 123] | |
~(when fn `(~fn env#)))) | |
;; then expanded form of env does not match: | |
(macroexpand '(foo identity)) ;=> (let* [env__17699__auto__ 123] (identity env__17698__auto__)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function jsPathSplitter(string) { | |
// STRING -> [STRING] | |
// ex: 'foo["bar"].x[0] -> ['foo', 'bar', x, '0']' | |
// for convenience even allows non-javascripty identifiers like foo.0.bar | |
return (function splitter(index, string, parts, term) { | |
if (string.length === 0) return parts; | |
if (index >= string.length) return parts.concat([string]); | |
if (string[index] === '\\') return splitter(index+2, string, parts, term); // escape char | |
var newTerm, skip = 0; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var c = lively.Config; | |
c.set('lively2livelyAutoStart', false); | |
c.set('lively2livelyEnableConnectionIndicator', false); | |
c.set('removeDOMContentBeforeWorldLoad', false); | |
c.set('manuallyCreateWorld', true); | |
c.set('changesetsExperiment', false); | |
// FIXME, for compatibility with requirejs | |
lively.whenLoaded(function() { | |
setTimeout(function() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.World { | |
background-color: rgb(187, 180, 188); | |
} | |
.Window { | |
background-color: rgb(197, 200, 198); | |
box-shadow: none; | |
border-radius: 3px; | |
border: 1px solid rgb(220, 220, 220); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function withNPMDirDo(func) { | |
exec('npm bin -g', function(code, out, err) { | |
var npmBinDir = String(out).trim(), | |
npmlibDir = path.join(npmBinDir, '..', 'lib', 'node_modules', 'npm'); | |
func(null, npmlibDir); | |
}); | |
} | |
npmDo = function npmDo(/*command, orgs..., callback*/) { | |
var args = Array.prototype.slice.call(arguments), |
NewerOlder