32523
+ − 1
/*
+ − 2
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ − 3
*
+ − 4
* Redistribution and use in source and binary forms, with or without
+ − 5
* modification, are permitted provided that the following conditions
+ − 6
* are met:
+ − 7
*
+ − 8
* - Redistributions of source code must retain the above copyright
+ − 9
* notice, this list of conditions and the following disclaimer.
+ − 10
*
+ − 11
* - Redistributions in binary form must reproduce the above copyright
+ − 12
* notice, this list of conditions and the following disclaimer in the
+ − 13
* documentation and/or other materials provided with the distribution.
+ − 14
*
+ − 15
* - Neither the name of Oracle nor the names of its
+ − 16
* contributors may be used to endorse or promote products derived
+ − 17
* from this software without specific prior written permission.
+ − 18
*
+ − 19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ − 20
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ − 21
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ − 22
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ − 23
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ − 24
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ − 25
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ − 26
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ − 27
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ − 28
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ − 29
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ − 30
*/
+ − 31
+ − 32
// check if script is being run using nashorn script engine
+ − 33
function isNashorn() {
+ − 34
try {
+ − 35
// "engine" variable is of type javax.script.ScriptEngine is defined
+ − 36
// by nashorn jsr-223 engine. Check the name of the engine from
+ − 37
// javax.script.ScriptEngineFactory associated
+ − 38
+ − 39
return engine.factory.engineName.contains("Nashorn");
+ − 40
} catch (e) {
+ − 41
// if engine or any of the properties are undefined
+ − 42
// then script is not being run using nashorn.
+ − 43
return false;
+ − 44
}
+ − 45
}