1
0
Fork 0
arangodb/js/client/inspector.js

94 lines
2.9 KiB
JavaScript

/* jshint -W051, -W020 */
/* global global:true, require */
'use strict';
// /////////////////////////////////////////////////////////////////////////////
// @brief ArangoDB Inspector
//
// @file
//
// DISCLAIMER
//
// Copyright 2018 ArangoDB GmbH, Cologne, Germany
//
// 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.
//
// Copyright holder is ArangoDB GmbH, Cologne, Germany
//
// @author Dr. Frank Celler
// @author Copyright 2018, ArangoDB GmbH, Cologne, Germany
// /////////////////////////////////////////////////////////////////////////////
var arango;
// global 'arango'
global.arango = require('@arangodb').arango;
// global 'db'
global.db = require('@arangodb').db;
// cleanup
delete global.IS_EXECUTE_SCRIPT;
delete global.IS_EXECUTE_STRING;
delete global.IS_CHECK_SCRIPT;
delete global.IS_UNIT_TESTS;
delete global.IS_JS_LINT;
// print banner
(function() {
const internal = require('internal');
internal.print(" _ ___ _");
internal.print(" / \\ _ __ __ _ _ __ __ _ ___ |_ _|_ __ ___ _ __ ___ ___| |_ ___ _ __");
internal.print(" / _ \\ | '__/ _` | '_ \\ / _` |/ _ \\ | || '_ \\/ __| '_ \\ / _ \\/ __| __/ _ \\| '__|");
internal.print(" / ___ \\| | | (_| | | | | (_| | (_) | | || | | \\__ \\ |_) | __/ (__| || (_) | |");
internal.print("/_/ \\_\\_| \\__,_|_| |_|\\__, |\\___/ |___|_| |_|___/ .__/ \\___|\\___|\\__\\___/|_|");
internal.print(" |___/ |_| ");
internal.print("");
})();
// load rc file
try {
// this will not work from within a browser
const __fs__ = require('fs');
const __rcf__ = __fs__.join(__fs__.home(), '.arangoinspect.rc');
if (__fs__.exists(__rcf__)) {
/* jshint evil: true */
const __content__ = __fs__.read(__rcf__);
eval(__content__);
}
} catch (e) {
require('console').warn('arangoinspect.rc: %s', String(e));
}
// check connection success
if (!arango.isConnected()) {
const internal = require('internal');
internal.print("FATAL cannot connect to server '" + arango.getEndpoint() + "'");
require("process").exit(1);
}
if (arango.lastErrorMessage()) {
const internal = require('internal');
internal.print("FATAL cannot connect to server '" + arango.getEndpoint() + "': "
+ arango.lastErrorMessage());
require("process").exit(1);
}
require("@arangodb/inspector");
require("process").exit();