Skip to content

Commit

Permalink
Added utils.makeArray()
Browse files Browse the repository at this point in the history
  • Loading branch information
fgnass committed Jun 7, 2011
1 parent e7d2bf7 commit 329b87c
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 16 deletions.
10 changes: 5 additions & 5 deletions lib/aspects/$.js
@@ -1,6 +1,6 @@
//var jquery = require('./support/jquery');
//var jquery = require('./support/jquery-node');
var Zepto = require('./support/zepto');
var utils = require('../utils');

var methodRegEx = /\.\w+\(/;

function stringify(obj) {
Expand All @@ -17,7 +17,7 @@ function stringify(obj) {
}

exports.apply = function(window, document) {
var $ = window.jQuery = Zepto(window);
var $ = window.Zepto = Zepto(window);

// ========================================================================
// Serialization of client-scripts, i.e. code executed in the browser once
Expand Down Expand Up @@ -93,7 +93,7 @@ exports.apply = function(window, document) {
});

$.fn.client = function() {
var args = Array.prototype.slice.call(arguments),
var args = utils.makeArray(arguments),
fn = args.shift(),
selector = this.selector;

Expand All @@ -105,7 +105,7 @@ exports.apply = function(window, document) {
};

$.fn.clientAndServer = function() {
var args = Array.prototype.slice.call(arguments),
var args = utils.makeArray(arguments),
fn = args.shift();

this.client.apply(this, arguments);
Expand Down
10 changes: 4 additions & 6 deletions lib/aspects/relay.js
@@ -1,11 +1,9 @@
var utils = require('../utils');

exports.depends = 'websocket';

exports.js = 'support/jquery.relay.js';

function $A(arg) {
return Array.prototype.slice.call(arg);
}

exports.apply = function($, window, document) {

$.fn.relay = function(eventType, callback) {
Expand Down Expand Up @@ -54,7 +52,7 @@ exports.apply = function($, window, document) {
document.implementation.addFeature('MutationEvents', '2.0');
document.addEventListener('DOMNodeInserted', function(ev) {
var el = ev.target;
var i = $A(el.parentNode.childNodes).indexOf(el);
var i = utils.makeArray(el.parentNode.childNodes).indexOf(el);
console.log('INS', el.nodeName, i);
//$(el.parentNode).client('insertAt', i, el.outerHTML || el.nodeValue);
if (el.previousSibling) {
Expand All @@ -67,7 +65,7 @@ exports.apply = function($, window, document) {
document.addEventListener('DOMNodeRemoved', function(ev) {
console.log('DEL', ev.target.id);
var el = ev.target;
// var i = $A(el.parentNode.childNodes).indexOf(el);
// var i = utils.makeArray(el.parentNode.childNodes).indexOf(el);
// $(el.parentNode).client('removeAt', i);
$(el).client('remove');
});
Expand Down
2 changes: 1 addition & 1 deletion lib/express-jsdom.js
Expand Up @@ -62,7 +62,7 @@ function addAspect(aspect, target, parentDir) {
else if (typeof aspect == 'function') {
aspect = {apply: aspect};
}
if (target.indexOf(aspect) == -1) {
if (!~target.indexOf(aspect)) {
if (!aspect.baseDir) {
var mod = utils.getModule(aspect);
aspect.baseDir = mod && Path.dirname(mod.filename) || baseDir;
Expand Down
11 changes: 7 additions & 4 deletions lib/utils.js
Expand Up @@ -29,7 +29,8 @@ exports.getSelector = function getSelector(el) {
return 'document';
}
if (el.nodeType === 3) {
paths.unshift('text()');
var i = exports.makeArray(el.parentNode.childNodes).indexOf(el);
paths.unshift('text(' + i + ')');
el = el.parentNode;
}
for (; el && el.nodeType === 1; el = el.parentNode) {
Expand All @@ -52,12 +53,14 @@ exports.getSelector = function getSelector(el) {
return paths.join('>');
};

exports.makeArray = function(arg) {
return Array.prototype.slice.call(arg);
};

exports.listenOnce = function(node, event, listener) {
function fn() {
listener.apply(this, arguments);
//node.removeEventListener(event, fn);
//Workaround - DOMWindow currently has no removeEventListener method:
(node.removeEventListener || node.document.removeEventListener).call(node, event, fn);
node.removeEventListener(event, fn);
}
node.addEventListener(event, fn);
};
Expand Down

0 comments on commit 329b87c

Please sign in to comment.