create-app
Advanced tools
Comparing version 0.8.1 to 0.8.2
@@ -127,7 +127,7 @@ 'use strict'; | ||
var controllers = {}; | ||
var controllers = _.createMap(); | ||
function getController(pattern, Controller) { | ||
if (controllers.hasOwnProperty(pattern)) { | ||
return controllers[pattern]; | ||
function wrapController(Controller) { | ||
if (controllers.has(Controller)) { | ||
return controllers.get(Controller); | ||
} | ||
@@ -195,3 +195,4 @@ // implement the controller's life-cycle and useful methods | ||
controllers[pattern] = WrapperController; | ||
controllers.set(Controller, WrapperController); | ||
return WrapperController; | ||
@@ -216,3 +217,3 @@ } | ||
} else { | ||
var FinalController = getController(location.pattern, Controller); | ||
var FinalController = wrapController(Controller); | ||
controller = currentController = new FinalController(location, context); | ||
@@ -219,0 +220,0 @@ component = controller.init(); |
@@ -136,3 +136,3 @@ 'use strict'; | ||
return Controller.then(function (Controller) { | ||
var Wrapper = wrapController(location.pattern, Controller); | ||
var Wrapper = wrapController(Controller); | ||
return new Wrapper(location, finalContext); | ||
@@ -142,11 +142,11 @@ }); | ||
var Wrapper = wrapController(location.pattern, Controller); | ||
var Wrapper = wrapController(Controller); | ||
return new Wrapper(location, finalContext); | ||
} | ||
var controllers = {}; | ||
var controllers = _.createMap(); | ||
function wrapController(pattern, Controller) { | ||
if (controllers.hasOwnProperty(pattern)) { | ||
return controllers[pattern]; | ||
function wrapController(Controller) { | ||
if (controllers.has(Controller)) { | ||
return controllers.get(Controller); | ||
} | ||
@@ -175,3 +175,3 @@ | ||
controllers[pattern] = WrapperController; | ||
controllers.set(Controller, WrapperController); | ||
return WrapperController; | ||
@@ -178,0 +178,0 @@ } |
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
value: true | ||
}); | ||
@@ -10,64 +10,104 @@ exports.isThenable = isThenable; | ||
exports.createCache = createCache; | ||
exports.createMap = createMap; | ||
// util | ||
function isThenable(obj) { | ||
return obj != null && typeof obj.then === 'function'; | ||
return obj != null && typeof obj.then === 'function'; | ||
} | ||
function identity(obj) { | ||
return obj; | ||
return obj; | ||
} | ||
function extend(to, from) { | ||
if (!from) { | ||
return to; | ||
} | ||
var keys = Object.keys(from); | ||
var i = keys.length; | ||
while (i--) { | ||
to[keys[i]] = from[keys[i]]; | ||
} | ||
if (!from) { | ||
return to; | ||
} | ||
var keys = Object.keys(from); | ||
var i = keys.length; | ||
while (i--) { | ||
to[keys[i]] = from[keys[i]]; | ||
} | ||
return to; | ||
} | ||
function createCache() { | ||
var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10; | ||
var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10; | ||
var cache = {}; | ||
var cache = {}; | ||
function keys() { | ||
return Object.keys(cache); | ||
} | ||
function keys() { | ||
return Object.keys(cache); | ||
} | ||
function checkAmount() { | ||
var cacheKeys = keys(cache); | ||
if (cacheKeys.length > amount) { | ||
remove(cacheKeys[0]); | ||
} | ||
function checkAmount() { | ||
var cacheKeys = keys(cache); | ||
if (cacheKeys.length > amount) { | ||
remove(cacheKeys[0]); | ||
} | ||
} | ||
function set(key, value) { | ||
remove(key); | ||
cache[key] = value; | ||
checkAmount(); | ||
} | ||
function set(key, value) { | ||
remove(key); | ||
cache[key] = value; | ||
checkAmount(); | ||
} | ||
function get(key) { | ||
return cache[key]; | ||
} | ||
function get(key) { | ||
return cache[key]; | ||
} | ||
function remove(key) { | ||
if (cache.hasOwnProperty(key)) { | ||
delete cache[key]; | ||
} | ||
function remove(key) { | ||
if (cache.hasOwnProperty(key)) { | ||
delete cache[key]; | ||
} | ||
} | ||
function getAll() { | ||
return cache; | ||
function getAll() { | ||
return cache; | ||
} | ||
return { keys: keys, get: get, set: set, remove: remove, getAll: getAll }; | ||
} | ||
function createMap() { | ||
var list = []; | ||
function find(key) { | ||
return list.filter(function (item) { | ||
return item.key === key; | ||
}); | ||
} | ||
function has(key) { | ||
var result = find(key); | ||
return result.length > 0; | ||
} | ||
function get(key) { | ||
var result = find(key); | ||
return result.length ? result[0].value : undefined; | ||
} | ||
function set(key, value) { | ||
var result = find(key); | ||
if (result.length === 0) { | ||
result = { key: key, value: value }; | ||
list.push(result); | ||
} else { | ||
result.value = value; | ||
} | ||
} | ||
return { keys: keys, get: get, set: set, remove: remove, getAll: getAll }; | ||
function remove(key) { | ||
list = list.filter(function (item) { | ||
return item.key !== key; | ||
}); | ||
} | ||
return { get: get, set: set, has: has, remove: remove }; | ||
} | ||
if (!Object.freeze) { | ||
Object.freeze = identity; | ||
Object.freeze = identity; | ||
} |
{ | ||
"name": "create-app", | ||
"version": "0.8.1", | ||
"version": "0.8.2", | ||
"description": "configuring once, rendering both client and server.", | ||
@@ -5,0 +5,0 @@ "browser": "lib/client/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
32183
740