UNPKG

johnny-five

Version:

The JavaScript Arduino Programming Framework.

36 lines (29 loc) 690 B
var _ = require("lodash"); /** * Options * * @param {String} arg Pin address. * @param {Number} arg Pin address. * @param {Array} arg List of Pin addresses. * * @return {Options} normalized board options instance. */ function Options(arg) { if (!(this instanceof Options)) { return new Options(arg); } var isArray, opts; isArray = Array.isArray(arg); opts = {}; if (typeof arg === "number" || typeof arg === "string" || Array.isArray(arg)) { // Arrays are on a "pins" property // String/Numbers are on a "pin" property opts[isArray ? "pins" : "pin"] = arg; } else { opts = arg; } _.assign(this, opts); } module.exports = Options;