generate-js-bindings
Advanced tools
Comparing version 0.0.0 to 1.0.0
var EventEmitter = require('generate-js-events'); | ||
/** | ||
* A type assert method. | ||
* @param {Any} variable | ||
* @param {String} type | ||
* @return {void} | ||
*/ | ||
function assertType(variable, type) { | ||
@@ -9,15 +15,26 @@ if (typeof variable !== type) { | ||
var Bindable = EventEmitter.generate(function Bindable(data) { | ||
var _ = this; | ||
var Bindable = EventEmitter.generate( | ||
/** | ||
* [Bindable description] | ||
* @param {Object} data | ||
*/ | ||
function Bindable(data) { | ||
var _ = this; | ||
_.defineProperties({ | ||
_data: {} | ||
}); | ||
_.defineProperties({ | ||
_data: {} | ||
}); | ||
for (var key in data) { | ||
_._data[key] = data[key]; | ||
for (var key in data) { | ||
_._data[key] = data[key]; | ||
} | ||
} | ||
}); | ||
); | ||
Bindable.definePrototype({ | ||
/** | ||
* [get description] | ||
* @param {String} property | ||
* @return {Any} | ||
*/ | ||
get: function get(property) { | ||
@@ -33,2 +50,9 @@ var _ = this; | ||
}, | ||
/** | ||
* [set description] | ||
* @param {String} property | ||
* @param {Any} newValue | ||
* @param {Object} changer | ||
*/ | ||
set: function set(property, newValue, changer) { | ||
@@ -50,2 +74,9 @@ changer = typeof changer === 'object' ? changer : null; | ||
/** | ||
* [bind description] | ||
* @param {String} property | ||
* @param {Function} listener | ||
* @param {Object} observer | ||
* @return {self} | ||
*/ | ||
bind: function bind(property, listener, observer) { | ||
@@ -63,3 +94,13 @@ assertType(property, 'string'); | ||
listener.call(_, value, value, false); | ||
return _; | ||
}, | ||
/** | ||
* [bindOnce description] | ||
* @param {String} property | ||
* @param {Function} listener | ||
* @param {Object} observer | ||
* @return {self} | ||
*/ | ||
bindOnce: function bindOnce(property, listener, observer) { | ||
@@ -74,12 +115,28 @@ assertType(property, 'string'); | ||
var onceListener = function onceListener(oldValue, newValue, changer) { | ||
_.unbind(property, onceListener); | ||
listener.call(_, oldValue, newValue, changer); | ||
}; | ||
var value = _.get(property); | ||
_.on(property, onceListener, observer); | ||
listener.call(_, value, value, false); | ||
return _; | ||
}, | ||
unbind: function unbind(property, listener, Observer) { | ||
this.off(property, listener, Observer); | ||
/** | ||
* [unbind description] | ||
* @param {String} [property] | ||
* @param {Function} [listener] | ||
* @param {Object} [observer] | ||
* @return {self} | ||
*/ | ||
unbind: function unbind(property, listener, observer) { | ||
return this.off(property, listener, observer); | ||
}, | ||
/** | ||
* [change description] | ||
* @param {String} property | ||
* @param {Any} oldValue | ||
* @param {Any} newValue | ||
* @param {Object} changer | ||
* @return {Boolean} | ||
*/ | ||
change: function change(property, oldValue, newValue, changer) { | ||
@@ -106,5 +163,5 @@ assertType(property, 'string'); | ||
return true; | ||
}, | ||
} | ||
}); | ||
module.exports = Bindable; |
{ | ||
"name": "generate-js-bindings", | ||
"version": "0.0.0", | ||
"version": "1.0.0", | ||
"description": "A data binding layer for Generate JS.", | ||
@@ -25,3 +25,6 @@ "main": "bindings.js", | ||
}, | ||
"homepage": "https://github.com/Mike96Angelo/Generate-JS-Bindings#readme" | ||
"homepage": "https://github.com/Mike96Angelo/Generate-JS-Bindings#readme", | ||
"dependencies": { | ||
"generate-js-events": "^2.1.0" | ||
} | ||
} |
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
9637
5
128
1
1
92
1
+ Addedgenerate-js-events@^2.1.0
+ Addedgenerate-js@2.1.6(transitive)
+ Addedgenerate-js-events@2.1.3(transitive)