twitch-js
Version:
Javascript library for the Twitch Messaging Interface.
74 lines • 3.33 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var invariant_1 = __importDefault(require("invariant"));
var conformsTo_1 = __importDefault(require("lodash/conformsTo"));
var defaults_1 = __importDefault(require("lodash/defaults"));
var isString_1 = __importDefault(require("lodash/isString"));
var isFinite_1 = __importDefault(require("lodash/isFinite"));
var isFunction_1 = __importDefault(require("lodash/isFunction"));
var isBoolean_1 = __importDefault(require("lodash/isBoolean"));
var isNil_1 = __importDefault(require("lodash/isNil"));
var constants = __importStar(require("../constants"));
var sanitizers = __importStar(require("./sanitizers"));
exports.chatOptions = function (maybeOptions) {
var shape = {
username: isString_1.default,
token: function (value) { return isNil_1.default(value) || isString_1.default(value); },
isKnown: isBoolean_1.default,
isVerified: isBoolean_1.default,
connectionTimeout: isFinite_1.default,
joinTimeout: isFinite_1.default,
onAuthenticationFailure: isFunction_1.default,
};
var options = defaults_1.default(__assign(__assign({}, maybeOptions), { username: sanitizers.username(maybeOptions.username), token: sanitizers.token(maybeOptions.token) }), {
isKnown: false,
isVerified: false,
connectionTimeout: constants.CONNECTION_TIMEOUT,
joinTimeout: constants.JOIN_TIMEOUT,
onAuthenticationFailure: function () { return Promise.reject(); },
});
invariant_1.default(conformsTo_1.default(options, shape), '[twitch-js/Chat] options: Expected valid options');
return options;
};
exports.clientOptions = function (maybeOptions) {
var shape = {
username: isString_1.default,
token: isString_1.default,
server: isString_1.default,
port: isFinite_1.default,
ssl: isBoolean_1.default,
isKnown: isBoolean_1.default,
isVerified: isBoolean_1.default,
};
var options = defaults_1.default(__assign(__assign({}, maybeOptions), { username: sanitizers.username(maybeOptions.username), token: sanitizers.token(maybeOptions.token) }), {
server: constants.CHAT_SERVER,
port: constants.CHAT_SERVER_SSL_PORT,
ssl: true,
isKnown: false,
isVerified: false,
});
invariant_1.default(conformsTo_1.default(options, shape), '[twitch-js/Chat/Client] options: Expected valid options');
return options;
};
//# sourceMappingURL=validators.js.map