-// Copyright (c) 2011-2013 Kris Maglione <maglione.k@gmail.com>
+// Copyright (c) 2011-2014 Kris Maglione <maglione.k@gmail.com>
//
// This work is licensed for reuse under an MIT license. Details are
// given in the LICENSE.txt file included with this file.
var Messages = Module("messages", {
- init: function init(name = "messages") {
+ init: function init(name="messages") {
let self = this;
this.name = name;
"resource://dactyl-locale-local/en-US/" + this.name + ".properties"],
true)
.map(services.stringBundle.createBundle)
- .filter(function (bundle) { try { bundle.getSimpleEnumeration(); return true; } catch (e) { return false; } })),
+ .filter(function (bundle) {
+ try {
+ bundle.getSimpleEnumeration();
+ return true;
+ }
+ catch (e) {
+ return false;
+ }
+ })),
iterate: function () {
- let seen = {};
+ let seen = RealSet();
for (let bundle in values(this.bundles))
for (let { key, value } in iter(bundle.getSimpleEnumeration(), Ci.nsIPropertyElement))
- if (!Set.add(seen, key))
+ if (!seen.add(key))
yield [key, value];
},
let { Buffer, commands, hints, io, mappings, modes, options, sanitizer } = overlay.activeModules;
file = io.File(file);
- function properties(base, iter_, prop = "description") iter(function _properties() {
+ function properties(base, iter_, prop="description") iter(function _properties() {
function key(...args) [base, obj.identifier || obj.name].concat(args).join(".").replace(/[\\:=]/g, "\\$&");
for (var obj in iter_) {
return { configurable: true, enumerable: true, value: this.default, writable: true };
*/
- if (!Set.has(obj, "localizedProperties"))
- obj.localizedProperties = { __proto__: obj.localizedProperties };
- obj.localizedProperties[prop] = true;
+ if (!hasOwnProperty(obj, "localizedProperties"))
+ obj.localizedProperties = RealSet(obj.localizedProperties);
+ obj.localizedProperties.add(prop);
obj[_prop] = this.default;
return {