Commit 3dcd4338 authored by Tristan Cavelier's avatar Tristan Cavelier

jio updated to support recent labraries

parent 9af06b64
...@@ -10,8 +10,12 @@ ...@@ -10,8 +10,12 @@
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
return define(dependencies, module); return define(dependencies, module);
} }
window.jIO = module({hex_md5: hex_md5}); if (typeof exports === 'object') {
}(['md5'], function (md5) { return module(exports, require('md5'));
}
window.jIO = {};
module(window.jIO, {hex_md5: hex_md5});
}(['exports', 'md5'], function (exports, md5) {
"use strict"; "use strict";
var localstorage, hex_md5 = md5.hex_md5; var localstorage, hex_md5 = md5.hex_md5;
...@@ -2782,72 +2786,65 @@ Object.defineProperty(that, "repair", { ...@@ -2782,72 +2786,65 @@ Object.defineProperty(that, "repair", {
return that; return that;
}; // End Class jio }; // End Class jio
/*jslint indent: 2, maxlen: 80, sloppy: true */ /*jslint indent: 2, maxlen: 80, sloppy: true */
/*global jio: true, invalidStorageType: true */ /*global exports, jio, invalidStorageType */
var storage_type_object = { // -> 'key':constructorFunction var storage_type_object = { // -> 'key':constructorFunction
'base': function () {} // overriden by jio 'base': function () { // overriden by jio
return undefined;
}
}; };
var jioNamespace = (function (spec) {
var that = {};
spec = spec || {};
// Attributes //
// Methods // /**
* Creates a new jio instance.
/** * @method newJio
* Creates a new jio instance. * @param {object} spec The storage description
* @method newJio * @return {object} The new Jio instance.
* @param {object} spec The storage description */
* @return {object} The new Jio instance. Object.defineProperty(exports, "newJio", {
*/ configurable: false,
Object.defineProperty(that, "newJio", { enumerable: true,
configurable: false, writable: false,
enumerable: false, value: function (spec) {
writable: false, var storage = spec, instance = null;
value: function (spec) { if (typeof storage === 'string') {
var storage = spec, storage = JSON.parse(storage);
instance = null; } else {
if (typeof storage === 'string') { storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage); storage = JSON.parse(storage);
} else {
storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage);
}
} }
storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
} }
}); storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
}
});
/** /**
* Add a storage type to jio. * Add a storage type to jio.
* @method addStorageType * @method addStorageType
* @param {string} type The storage type * @param {string} type The storage type
* @param {function} constructor The associated constructor * @param {function} constructor The associated constructor
*/ */
Object.defineProperty(that, "addStorageType", { Object.defineProperty(exports, "addStorageType", {
configurable: false, configurable: false,
enumerable: false, enumerable: true,
writable: false, writable: false,
value: function (type, constructor) { value: function (type, constructor) {
constructor = constructor || function () { constructor = constructor || function () {
return null; return null;
}; };
if (storage_type_object[type]) { if (storage_type_object[type]) {
throw invalidStorageType({ throw invalidStorageType({
type: type, type: type,
message: 'Already known.' message: 'Already known.'
}); });
}
storage_type_object[type] = constructor;
} }
}); storage_type_object[type] = constructor;
}
});
return that;
}());
return jioNamespace;
})); }));
...@@ -10,8 +10,12 @@ ...@@ -10,8 +10,12 @@
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
return define(dependencies, module); return define(dependencies, module);
} }
window.jIO = module({hex_md5: hex_md5}); if (typeof exports === 'object') {
}(['md5'], function (md5) { return module(exports, require('md5'));
}
window.jIO = {};
module(window.jIO, {hex_md5: hex_md5});
}(['exports', 'md5'], function (exports, md5) {
"use strict"; "use strict";
var localstorage, hex_md5 = md5.hex_md5; var localstorage, hex_md5 = md5.hex_md5;
......
/*jslint indent: 2, maxlen: 80, sloppy: true */ /*jslint indent: 2, maxlen: 80, sloppy: true */
/*global jio: true, invalidStorageType: true */ /*global exports, jio, invalidStorageType */
var storage_type_object = { // -> 'key':constructorFunction var storage_type_object = { // -> 'key':constructorFunction
'base': function () {} // overriden by jio 'base': function () { // overriden by jio
return undefined;
}
}; };
var jioNamespace = (function (spec) {
var that = {};
spec = spec || {};
// Attributes //
// Methods //
/** /**
* Creates a new jio instance. * Creates a new jio instance.
* @method newJio * @method newJio
* @param {object} spec The storage description * @param {object} spec The storage description
* @return {object} The new Jio instance. * @return {object} The new Jio instance.
*/ */
Object.defineProperty(that, "newJio", { Object.defineProperty(exports, "newJio", {
configurable: false, configurable: false,
enumerable: false, enumerable: true,
writable: false, writable: false,
value: function (spec) { value: function (spec) {
var storage = spec, var storage = spec, instance = null;
instance = null; if (typeof storage === 'string') {
if (typeof storage === 'string') { storage = JSON.parse(storage);
} else {
storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage); storage = JSON.parse(storage);
} else {
storage = JSON.stringify(storage);
if (storage !== undefined) {
storage = JSON.parse(storage);
}
} }
storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
} }
}); storage = storage || {
type: 'base'
};
instance = jio(storage);
instance.start();
return instance;
}
});
/** /**
* Add a storage type to jio. * Add a storage type to jio.
* @method addStorageType * @method addStorageType
* @param {string} type The storage type * @param {string} type The storage type
* @param {function} constructor The associated constructor * @param {function} constructor The associated constructor
*/ */
Object.defineProperty(that, "addStorageType", { Object.defineProperty(exports, "addStorageType", {
configurable: false, configurable: false,
enumerable: false, enumerable: true,
writable: false, writable: false,
value: function (type, constructor) { value: function (type, constructor) {
constructor = constructor || function () { constructor = constructor || function () {
return null; return null;
}; };
if (storage_type_object[type]) { if (storage_type_object[type]) {
throw invalidStorageType({ throw invalidStorageType({
type: type, type: type,
message: 'Already known.' message: 'Already known.'
}); });
}
storage_type_object[type] = constructor;
} }
}); storage_type_object[type] = constructor;
}
return that; });
}());
return jioNamespace;
})); }));
...@@ -8,10 +8,14 @@ ...@@ -8,10 +8,14 @@
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
return define(dependencies, module); return define(dependencies, module);
} }
window.jio_tests = module(jIO); if (typeof exports === 'object') {
}(['jio'], function (jIO) { return module(exports, require('jio'));
}
window.jio_tests = {};
module(window.jio_tests, jIO);
}(['exports', 'jio', 'sinon_qunit'], function (exports, jIO) {
"use strict"; "use strict";
var to_export = {}, tmp; var tmp;
// localStorage cleanup // localStorage cleanup
for (tmp in localStorage) { for (tmp in localStorage) {
...@@ -45,7 +49,7 @@ ...@@ -45,7 +49,7 @@
deepEqual(val, value, message); deepEqual(val, value, message);
}; };
} }
to_export.spyJioCallback = spyJioCallback; exports.spyJioCallback = spyJioCallback;
// XXX docstring // XXX docstring
function isUuid(uuid) { function isUuid(uuid) {
...@@ -58,10 +62,10 @@ ...@@ -58,10 +62,10 @@
x + "{4}-" + x + "{4}-" + x + "{12}$" x + "{4}-" + x + "{4}-" + x + "{12}$"
) === null ? false : true); ) === null ? false : true);
} }
to_export.isUuid = isUuid; exports.isUuid = isUuid;
// XXX docstring // XXX docstring
to_export.jsonlocalstorage = { exports.jsonlocalstorage = {
clear: function () { clear: function () {
return localStorage.clear(); return localStorage.clear();
}, },
...@@ -87,13 +91,13 @@ ...@@ -87,13 +91,13 @@
function closeAndcleanUpJio(jio) { function closeAndcleanUpJio(jio) {
jio.close(); jio.close();
to_export.jsonlocalstorage.removeItem("jio/id/" + jio.getId()); exports.jsonlocalstorage.removeItem("jio/id/" + jio.getId());
to_export.jsonlocalstorage.removeItem("jio/job_array/" + jio.getId()); exports.jsonlocalstorage.removeItem("jio/job_array/" + jio.getId());
} }
to_export.closeAndcleanUpJio = closeAndcleanUpJio; exports.closeAndcleanUpJio = closeAndcleanUpJio;
function getJioLastJob(jio) { function getJioLastJob(jio) {
return (to_export.jsonlocalstorage.getItem( return (exports.jsonlocalstorage.getItem(
"jio/job_array/" + jio.getId() "jio/job_array/" + jio.getId()
) || [undefined]).pop(); ) || [undefined]).pop();
} }
...@@ -123,7 +127,7 @@ ...@@ -123,7 +127,7 @@
}; };
sinon.spy(o, function_name); sinon.spy(o, function_name);
} }
to_export.ospy = ospy; exports.ospy = ospy;
function otick(o, a, b) { function otick(o, a, b) {
var tick = 10000, function_name = 'f'; var tick = 10000, function_name = 'f';
...@@ -143,7 +147,7 @@ ...@@ -143,7 +147,7 @@
} }
} }
} }
to_export.otick = otick; exports.otick = otick;
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// Dummy Storage // Dummy Storage
...@@ -228,7 +232,7 @@ ...@@ -228,7 +232,7 @@
} }
jIO.addStorageType('dummy', dummyStorage); jIO.addStorageType('dummy', dummyStorage);
to_export.dummyStorage = dummyStorage; exports.dummyStorage = dummyStorage;
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// Tests // Tests
...@@ -708,11 +712,10 @@ ...@@ -708,11 +712,10 @@
ok(getJioLastJob(o.jio) === undefined, "Job executed"); ok(getJioLastJob(o.jio) === undefined, "Job executed");
o.clock.tick(1000); o.clock.tick(1000);
to_export.jsonlocalstorage.removeItem("jio/id/" + o.jio_id); exports.jsonlocalstorage.removeItem("jio/id/" + o.jio_id);
to_export.jsonlocalstorage.removeItem("jio/job_array/" + o.jio_id); exports.jsonlocalstorage.removeItem("jio/job_array/" + o.jio_id);
closeAndcleanUpJio(o.jio); closeAndcleanUpJio(o.jio);
}); });
return to_export;
})); }));
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment