<commit_before>;
(function () {
	/*
	 ### `Slipstream.Config(config)`
	 > Type: Class, Returns: Object

	 #### Description
	 >

	 #### Parameters
	 > `config` - JSON
	 > The definition and configuration specific to the new Drift object that's being creating.  See [Slipstream.Drift Configuration]{https://github.com/blitzcodes/slipstream-mrt/wiki/Slipstream.Drift#configuration) for full details on the breadth of options to choose from when setting up a new Drift.
	 */
	Slipstream.Config = function (config) {
		var defaults = Slipstream.defaults(),
			self = _.defaults({
				name             : _.trim(config.name.toLowerCase()),
				referenceColumn  : _.trim(config.referenceColumn.toLowerCase()),
				sessionReference : 'current' + _.capitalize(config.name) + 'Id',

				columns : config.columns,

				permissions : _.defaults(config.permissions || {}, defaults.permissions),
				options     : _.defaults(config.options || {}, defaults.options),
				validation  : _.defaults(config.validation || {}, defaults.validation),

				debugging : config.debugging !== false ? _.defaults(config.debugging || {}, defaults.debugging) : {},

				debug : function () {
					var checks = true,
						debug = '';

					if (config.debugging.enabled) {

						if (arguments.length > 1) {

							debug += "params here is " + _.stringify(arguments);
							debug += "\nconfig.debugging here is " + _.stringify(config.debugging);

							_.each(arguments, function (key) {
								if (checks && key == 'client')<commit_msg>- Corrections to the config builder, ensuring proper fallback and overriding is made available based on the recent changes to the defaults object<commit_after>;
(function () {
	/*
	 ### `Slipstream.Config(config)`
	 > Type: Class, Returns: Object

	 #### Description
	 >

	 #### Parameters
	 > `config` - JSON
	 > The definition and configuration specific to the new Drift object that's being creating.  See [Slipstream.Drift Configuration]{https://github.com/blitzcodes/slipstream-mrt/wiki/Slipstream.Drift#configuration) for full details on the breadth of options to choose from when setting up a new Drift.
	 */
	Slipstream.Config = function (config) {
		var defaults = Slipstream.defaults(),
			self = _.defaults({
				name             : _.trim(config.name.toLowerCase()),
				referenceColumn  : _.trim(config.referenceColumn.toLowerCase()),
				sessionReference : 'current' + _.capitalize(config.name) + 'Id',

				columns   : config.columns,

				/* **************
				 These objects are set to pull their individual defaults, since if they already exist, the main
				 _.default wrap above on the self var will bypassed them if they're not explicitly called.

				 While most of these objects in the Slipstream defaults are set to {}/[] already, thus making these
				 calls seem redundant, they are called in order to ensure a dev who enforce new global defaults within
				 their application, that configs of new Drifts will automatically pull their chosen definitions
				 verse store the blank objects & arrays.
				 */
				templates : _.defaults(config.templates || {}, defaults.templates),
				routes    : _.defaults(config.routes ||
					[
					], defaults.routes),

				process     : _.defaults(config.process || {}, defaults.process),
				postProcess : _.defaults(config.postProcess || {}, defaults.postProcess),

				renderAs : _.defaults(config.renderAs || {}, defaults.renderAs),
				validateAs : _.defaults(config.validateAs || {}, defaults.validateAs),

				permissions : _.defaults(config.permissions || {}, defaults.permissions),
				options     : _.defaults(config.options || {}, defaults.options),
				/* ************** */

				debugging : config.debugging !== false ? _.defaults(config.debugging || {}, defaults.debugging) : {},

				debug : function () {
					var checks = true,
						debug = '';

					if (config.debugging.enabled) {

						if (arguments.length > 1) {

							debug += "params here is " + _.stringify(arguments);
							debug += "\nconfig.debugging here is " + _.stringify(config.debugging);

							_.each(arguments, function (key) {
								if (checks && key == 'client')
{'fraction_non_alphanumeric': 0.1315725708747274, 'fraction_numerical': 0.000484613520717228, 'mean_word_length': 3.3406940063091484, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 2, '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': '1757023', 'n_tokens_mistral': 1309, 'n_tokens_neox': 1072, 'n_words': 328}