/* harmony default export */

/* harmony import */

/*#__PURE__*/

/**
* @license Apache-2.0
*
* Copyright (c) 2018 The Stdlib Authors.
*
* 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
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**
* Component for rendering an R plot inside an ISLE lesson.
*
* @property {string} code - R code to generate the plot
* @property {number} width - width of the plot (in px)
* @property {number} height - height of the plot (in px)
* @property {boolean} draggable - controls whether the plot should be draggable
* @property {string} fileType - file type of the plot (`png` or `svg`)
* @property {Array} libraries - R libraries that should be loaded automatically when the input `code` is executed
* @property {(string|Array<string>)} prependCode - `string` or an `array` of R code snippets to be prepended to the code stored in `code` when evaluating
* @property {Object} meta - plot meta-information
* @property {string} className - class name
* @property {Function} onDone - callback invoked with `err`, `img` and `body` arguments once a plot is created
*/

/**
* Create code to be added in front of user-supplied R code.
*
* @param {Array} libs - array of libraries to requireLibs
* @param {(Array|string)} prependCode - array of strings or single string of code to prepend
* @param {Object} session - session object
* @param {string} generated code
*/

/**
* Return a partial object copy excluding properties for which a predicate (function) returns a truthy value.
*
* @module @stdlib/utils/omit-by
*
* @example
* var omitBy = require( '@stdlib/utils/omit-by' );
*
* function predicate( key, value ) {
*     return ( value > 1 );
* }
*
* var obj1 = {
*     'a': 1,
*     'b': 2
* };
*
* var obj2 = omitBy( obj1, predicate );
* // returns { 'a': 1 }
*/

/**
* Returns a partial object copy excluding properties for which a predicate returns a truthy value.
*
* @param {Object} obj - source object
* @param {Function} predicate - predicate function
* @throws {TypeError} first argument must be an object
* @throws {TypeError} second argument must be a function
* @returns {Object} new object
*
* @example
* function predicate( key, value ) {
*     return ( value > 1 );
* }
*
* var obj1 = {
*     'a': 1,
*     'b': 2
* };
*
* var obj2 = omitBy( obj1, predicate );
* // returns { 'a': 1 }
*/

/**
* Test if a value is `null`.
*
* @module @stdlib/assert/is-null
*
* @example
* var isNull = require( '@stdlib/assert/is-null' );
*
* var value = null;
*
* var bool = isNull( value );
* // returns true
*/

/**
* Tests if a value is `null`.
*
* @param {*} value - value to test
* @returns {boolean} boolean indicating whether value is null
*
* @example
* var bool = isNull( null );
* // returns true
*
* bool = isNull( true );
* // returns false
*/

/***/

// EXPORTS //

// Exports

// MAIN //

// MODULES //

// Module

// PROPERTIES //
