UNPKG

gopro-js

Version:

A Promise based JavaScript GoPro Controller/API Wrapper (Unofficial)

48 lines (39 loc) 1.76 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var multilineRegExp = exports.multilineRegExp = function multilineRegExp(regs, options) { return new RegExp(regs.map(function (reg) { return reg.source; }).join(''), options); }; var prefixedStr = exports.prefixedStr = function prefixedStr(str) { var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; return str ? '' + prefix + str : ''; }; var screamingSnakeCase = exports.screamingSnakeCase = function screamingSnakeCase(s) { return s.replace(/(?:^|\.?)([A-Z])/g, function (_, c) { return '_' + c; }).replace(/^_/, '').toUpperCase(); }; var capitalizedCamelCase = exports.capitalizedCamelCase = function capitalizedCamelCase(s) { var camel = s.toLowerCase().replace(/\W+(.)/g, function (_, c) { return c.toUpperCase(); }); return camel.charAt(0).toUpperCase() + camel.slice(1); }; var valueFinder = exports.valueFinder = function valueFinder(object, fullPath) { var _ref = [fullPath.split('.'), undefined, object, 0], args = _ref[0], setting = _ref[1], value = _ref[2], i = _ref[3]; for (i = 0; i < args.length - 1; i += 1) { setting = value; value = value[capitalizedCamelCase(args[i])] || {}; } setting = setting[screamingSnakeCase(args[i - 1])]; value = value[args[i]]; return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' ? { value: value, setting: setting } : {}; };