You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
774 B
40 lines
774 B
|
|
/*! |
|
* Express - view - Partial |
|
* Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca> |
|
* MIT Licensed |
|
*/ |
|
|
|
/** |
|
* Memory cache. |
|
*/ |
|
|
|
var cache = {}; |
|
|
|
/** |
|
* Resolve partial object name from the view path. |
|
* |
|
* Examples: |
|
* |
|
* "user.ejs" becomes "user" |
|
* "forum thread.ejs" becomes "forumThread" |
|
* "forum/thread/post.ejs" becomes "post" |
|
* "blog-post.ejs" becomes "blogPost" |
|
* |
|
* @return {String} |
|
* @api private |
|
*/ |
|
|
|
exports.resolveObjectName = function(view){ |
|
return cache[view] || (cache[view] = view |
|
.split('/') |
|
.slice(-1)[0] |
|
.split('.')[0] |
|
.replace(/^_/, '') |
|
.replace(/[^a-zA-Z0-9 ]+/g, ' ') |
|
.split(/ +/).map(function(word, i){ |
|
return i |
|
? word[0].toUpperCase() + word.substr(1) |
|
: word; |
|
}).join('')); |
|
}; |