src/app.js
function verifyArguments( args ) {
	if ( ! isObject( args.callbacks.getData ) ) {
		throw new MissingArgument( "The app requires an object with a getdata callback." );
	}

	if ( ! isObject( args.targets ) ) {
		throw new MissingArgument( "`targets` is a required App argument, `targets` is not an object." );
	}

	// The args.targets.snippet argument is only required if not SnippetPreview object has been passed.
	if (
		args.hasSnippetPreview &&
		! isValidSnippetPreview( args.snippetPreview ) &&
		! isString( args.targets.snippet ) ) {
		throw new MissingArgument( "A snippet preview is required. When no SnippetPreview object isn't passed to " +
			"the App, the `targets.snippet` is a required App argument. `targets.snippet` is not a string." );
	}
}
function verifyArguments( args ) {
	if ( ! isObject( args.callbacks.getData ) ) {
		throw new MissingArgument( "The app requires an object with a getdata callback." );
	}

	if ( ! isObject( args.targets ) ) {
		throw new MissingArgument( "`targets` is a required App argument, `targets` is not an object." );
	}

	// The args.targets.snippet argument is only required if not SnippetPreview object has been passed.
	if (
		args.hasSnippetPreview &&
		! isValidSnippetPreview( args.snippetPreview ) &&
		! isString( args.targets.snippet ) ) {
		throw new MissingArgument( "A snippet preview is required. When no SnippetPreview object isn't passed to " +
			"the App, the `targets.snippet` is a required App argument. `targets.snippet` is not a string." );
	}
}
Check arguments passed to the App to check if all necessary arguments are set.

@private
@param {Object}      args            The arguments object passed to the App.
@returns {void}