<commit_before>/**
 * index.js
 *
 * @author  <NAME> <<EMAIL>>
 * @license MIT
 */

import Core        from './core';
import Http        from './services/http';
import Config      from './services/config';
import Service     from './service';
import IgnisError  from './error';


/* Singleton instance */
let instance = new Core();


/* Singleton function */
exports = module.exports = function Ignis() {
  return instance;
};


/* Reset instance */
exports.reset = function() {
  instance = new Core();
};


/* Register core services */
instance.use(Http);
instance.use(Config);

/* Attach utilities */
exports.Util = { };
exports.Util.deepForEach = require('./util/deep-for-each');
exports.Util.errorIs = require('./util/error-is');
exports.Util.expressify = require('./util/expressify');
exports.Util.serviceName = require('./util/service-name');
exports.Util.unpromisify = require('./util/unpromisify');

/* Attach error and panic shortcuts */
exports.Error = IgnisError;
Core.prototype.panic = IgnisError.panic;
Core.prototype.deny = IgnisError.deny;
Core.prototype.notFound = IgnisError.notFound;

/* Expose builtin services */
exports.Core = Core;
exports.Http = Http;
exports.Config = Config;
exports.Service = Service;
<commit_msg>Ignis.Http service is now optional<commit_after>/**
 * index.js
 *
 * @author  <NAME> <<EMAIL>>
 * @license MIT
 */

import Core        from './core';
import Http        from './services/http';
import Config      from './services/config';
import Service     from './service';
import IgnisError  from './error';


/* Singleton instance */
let instance = new Core();


/* Singleton function */
exports = module.exports = function Ignis() {
  return instance;
};


/* Reset instance */
exports.reset = function() {
  instance = new Core();
};


/* Register core services */
instance.use(Config);

/* Attach utilities */
exports.Util = { };
exports.Util.deepForEach = require('./util/deep-for-each');
exports.Util.errorIs = require('./util/error-is');
exports.Util.expressify = require('./util/expressify');
exports.Util.serviceName = require('./util/service-name');
exports.Util.unpromisify = require('./util/unpromisify');

/* Attach error and panic shortcuts */
exports.Error = IgnisError;
Core.prototype.panic = IgnisError.panic;
Core.prototype.deny = IgnisError.deny;
Core.prototype.notFound = IgnisError.notFound;

/* Expose builtin services */
exports.Core = Core;
exports.Http = Http;
exports.Config = Config;
exports.Service = Service;

{'fraction_non_alphanumeric': 0.16162837565497784, 'fraction_numerical': 0.0, 'mean_word_length': 3.7915057915057915, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3457683', 'n_tokens_mistral': 745, 'n_tokens_neox': 732, 'n_words': 183}