Bug 1114752 - Uplift Add-on SDK to Firefox a=me
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
"use strict";
|
||||
|
||||
module.metadata = {
|
||||
@@ -22,14 +21,15 @@ module.metadata = {
|
||||
// - `_` used for argument(s) or variable(s) who's values are ignored.
|
||||
|
||||
const { complement, flip, identity } = require("../lang/functional");
|
||||
const { isArray, isArguments, isMap, isSet,
|
||||
const { isArray, isArguments, isMap, isSet, isGenerator,
|
||||
isString, isBoolean, isNumber } = require("../lang/type");
|
||||
|
||||
const Sequence = function Sequence(iterator) {
|
||||
if (iterator.isGenerator && iterator.isGenerator())
|
||||
this[Symbol.iterator] = iterator;
|
||||
else
|
||||
if (!isGenerator(iterator)) {
|
||||
throw TypeError("Expected generator argument");
|
||||
}
|
||||
|
||||
this[Symbol.iterator] = iterator;
|
||||
};
|
||||
exports.Sequence = Sequence;
|
||||
|
||||
@@ -61,9 +61,6 @@ const seq = polymorphic({
|
||||
});
|
||||
exports.seq = seq;
|
||||
|
||||
|
||||
|
||||
|
||||
// Function to cast seq to string.
|
||||
const string = (...etc) => "".concat(...etc);
|
||||
exports.string = string;
|
||||
@@ -111,6 +108,27 @@ const pairs = polymorphic({
|
||||
});
|
||||
exports.pairs = pairs;
|
||||
|
||||
const names = polymorphic({
|
||||
null: empty,
|
||||
void: empty,
|
||||
default: object => seq(function*() {
|
||||
for (let name of Object.getOwnPropertyNames(object)) {
|
||||
yield name;
|
||||
}
|
||||
})
|
||||
});
|
||||
exports.names = names;
|
||||
|
||||
const symbols = polymorphic({
|
||||
null: empty,
|
||||
void: empty,
|
||||
default: object => seq(function* () {
|
||||
for (let symbol of Object.getOwnPropertySymbols(object)) {
|
||||
yield symbol;
|
||||
}
|
||||
})
|
||||
});
|
||||
exports.symbols = symbols;
|
||||
|
||||
const keys = polymorphic({
|
||||
null: empty,
|
||||
|
||||
Reference in New Issue
Block a user