| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- * @copyright
- * Copyright © Microsoft Open Technologies, Inc.
- *
- * All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http: *www.apache.org/licenses/LICENSE-2.0
- *
- * THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS
- * OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
- * ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A
- * PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT.
- *
- * See the Apache License, Version 2.0 for the specific language
- * governing permissions and limitations under the License.
- */
- 'use strict';
- var _ = require('underscore');
- var constants = require('./constants');
- var UserCodeResponseFields = constants.UserCodeResponseFields;
- var argumentValidation = {
- /**
- * Throws if the passed in parameter is not a string.
- * @param {string} param The parameter to validate.
- * @param {string} name The name of the parameter being validated.
- * @throws {Error} If the parameter is not a valid string.
- */
- validateStringParameter : function(param, name) {
- if (!param) {
- throw new Error('The ' + name + ' parameter is required.');
- }
- if (!_.isString(param)) {
- throw new Error('The ' + name + ' parameter must be of type String.');
- }
- },
- /**
- * Validates that the callback passed in {@link AuthenticationContext.acquireToken} is a function
- * @param {AcquireTokenCallback} callback
- * @throws {Error} If the callback parameter is not a function
- */
- validateCallbackType : function(callback) {
- if (!callback || !_.isFunction(callback)) {
- throw new Error('acquireToken requires a function callback parameter.');
- }
- },
- validateUserCodeInfo : function(userCodeInfo) {
- if (!userCodeInfo){
- throw new Error('The userCodeInfo parameter is required');
- }
- if (!userCodeInfo.hasOwnProperty(UserCodeResponseFields.DEVICE_CODE)){
- throw new Error('The userCodeInfo is missing device_code');
- }
- if (!userCodeInfo.hasOwnProperty(UserCodeResponseFields.INTERVAL)){
- throw new Error('The userCodeInfo is missing interval');
- }
- if (!userCodeInfo.hasOwnProperty(UserCodeResponseFields.EXPIRES_IN)){
- throw new Error('The userCodeInfo is missing expires_in');
- }
- }
- };
- module.exports = argumentValidation;
|