mirror of https://gitee.com/bigwinds/arangodb
94 lines
2.9 KiB
JavaScript
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();
|
|
|
|
|
|
|