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.
51 lines
1.3 KiB
51 lines
1.3 KiB
(function(){ |
|
// monkey patch fromJson to avoid Rhino bug in eval: https://bugzilla.mozilla.org/show_bug.cgi?id=471005 |
|
var fromJson = dojo.fromJson; |
|
dojo.fromJson = function(json){ |
|
json = json.replace(/[\u200E\u200F\u202A-\u202E]/g, function(match){ |
|
return "\\u" + match.charCodeAt(0).toString(16); |
|
}) |
|
return json ? fromJson(json) : ""; //TODO: json value passed in shouldn't be empty |
|
} |
|
})(); |
|
|
|
function isLocaleAliasSrc(prop, bundle){ |
|
if(!bundle){ return false; } |
|
var isAlias = false; |
|
var LOCALE_ALIAS_MARK = '@localeAlias'; |
|
|
|
for(x in bundle){ |
|
if(x.indexOf(LOCALE_ALIAS_MARK) > 0){ |
|
var prefix = x.substring(0,x.indexOf(LOCALE_ALIAS_MARK)); |
|
if(prop.indexOf(prefix) == 0){ |
|
isAlias = true; |
|
} |
|
} |
|
} |
|
return isAlias; |
|
} |
|
|
|
function getNativeBundle(filePath){ |
|
// summary: |
|
// get native bundle content with utf-8 encoding. |
|
// native means the content of this bundle is not flattened with parent. |
|
// returns empty object if file not found. |
|
try{ |
|
var content = readFile(filePath, "utf-8"); |
|
return (!content || !content.length) ? {} : dojo.fromJson(content); |
|
}catch(e){ |
|
return {}; |
|
} |
|
} |
|
|
|
function compare(a/*String or Array*/, b/*String or Array*/){ |
|
// summary: |
|
// simple comparison |
|
if(dojo.isArray(a) && dojo.isArray(b)){ |
|
for(var i = 0; i < a.length; i++){ |
|
if(a[i] != b[i]){ return false; } |
|
} |
|
return true; |
|
} |
|
return a==b; |
|
}
|
|
|