Skip to content

Commit

Permalink
Merge remote-tracking branch 'contrib-prozacgod/master'
Browse files Browse the repository at this point in the history
Conflicts:
	slug.js
  • Loading branch information
dodo committed Apr 18, 2015
2 parents e05030f + 4936396 commit 0f28b4d
Showing 1 changed file with 20 additions and 8 deletions.
28 changes: 20 additions & 8 deletions slug.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,23 @@ function slug(string, opts) {
opts = opts || {};
opts.mode = opts.mode || slug.defaults.mode;
var defaults = slug.defaults.modes[opts.mode];
['replacement','multicharmap','charmap','remove','lower'].forEach(function (key) {
var keys = ['replacement','multicharmap','charmap','remove','lower'];
for (var key, i = 0, l = keys.length; i < l; i++) { key = keys[i];
opts[key] = (key in opts) ? opts[key] : defaults[key];
});
}
if ('undefined' === typeof opts.symbols)
opts.symbols = defaults.symbols;

var lengths = [];
Object.keys(opts.multicharmap).forEach(function (key) {
for (var key in opts.multicharmap) {
if (!opts.multicharmap.hasOwnProperty(key))
continue;

var len = key.length;
if (lengths.indexOf(len) === -1)
lengths.push(len);
});
}

var code, unicode, result = "";
for (var char, i = 0, l = string.length; i < l; i++) { char = string[i];
if (!lengths.some(function (len) {
Expand Down Expand Up @@ -182,18 +188,24 @@ slug.defaults.modes = {

if (typeof define !== 'undefined' && define.amd) { // AMD
// dont load symbols table in the browser
Object.keys(slug.defaults.modes).forEach(function (key) {
for (var key in slug.defaults.modes) {
if (!slug.defaults.modes.hasOwnProperty(key))
continue;

slug.defaults.modes[key].symbols = false;
});
}
define([], function () {return slug});
} else if (typeof module !== 'undefined' && module.exports) { // CommonJS
symbols(); // preload symbols table
module.exports = slug;
} else { // Script tag
// dont load symbols table in the browser
Object.keys(slug.defaults.modes).forEach(function (key) {
for (var key in slug.defaults.modes) {
if (!slug.defaults.modes.hasOwnProperty(key))
continue;

slug.defaults.modes[key].symbols = false;
});
}
root.slug = slug;
}

Expand Down

0 comments on commit 0f28b4d

Please sign in to comment.