<commit_before>'use strict';

/**
 * @file Functions dealing with the homepage module system
 * @module modules
 */

const _ = require('underscore');
const { ObjectID } = require('mongodb');
const users = require(__dirname + '/users.js');

// All allowed modules
const moduleList = ['countdown', 'progress', 'schedule', 'simplifiedLunch', 'simplifiedSchedule', 'snowday', 'stickynotes', 'weather'];
// Module options. Can be either `boolean`, `number`, or `string`
const modulesConfig = {
	countdown: {
		mode: {
			type: 'COUNTDOWN_MODE',
			default: 'END'
		},
		countdownTo: {
			type: 'Date',
			optional: true,
			default: null
		},
		eventLabel: {
			type: 'string',
			default: 'Countdown'
		},
		schoolDays: {
			type: 'boolean',
			default: true
		}
	},
	progress: {
		showDate: {
			type: 'boolean',
			default: true
		}
	},
	weather: {
		metric: {
			type: 'boolean',
			default: false
		}
	}
};

// Delcare your own enum types and use just like any other module option type!
const enumTypes = {
	COUNTDOWN_MODE: [
		'END',
		'BREAK',
		'LONG_WEEKEND',
		'WEEKEND',
		'CUSTOM'
	]
};

// Range column indexes start at (inclusive)
const columnStarts = 0;
// Max number of columns
const columnsPerRow = 4;

// Range row indexes start at (inclusive)
const rowStarts = 0;<commit_msg>Add shake option, change enum "BREAK" to "VACATION"<commit_after>'use strict';

/**
 * @file Functions dealing with the homepage module system
 * @module modules
 */

const _ = require('underscore');
const { ObjectID } = require('mongodb');
const users = require(__dirname + '/users.js');

// All allowed modules
const moduleList = ['countdown', 'progress', 'schedule', 'simplifiedLunch', 'simplifiedSchedule', 'snowday', 'stickynotes', 'weather'];
// Module options. Can be either `boolean`, `number`, or `string`
const modulesConfig = {
	countdown: {
		mode: {
			type: 'COUNTDOWN_MODE',
			default: 'END'
		},
		schoolDays: {
			type: 'boolean',
			default: true
		},
		shake: {
			type: 'boolean',
			default: true
		},
		countdownTo: {
			type: 'Date',
			optional: true,
			default: null
		},
		eventLabel: {
			type: 'string',
			optional: true,
			default: 'Countdown'
		}
	},
	progress: {
		showDate: {
			type: 'boolean',
			default: true
		}
	},
	weather: {
		metric: {
			type: 'boolean',
			default: false
		}
	}
};

// Delcare your own enum types and use just like any other module option type!
const enumTypes = {
	COUNTDOWN_MODE: [
		'END',
		'VACATION',
		'LONG_WEEKEND',
		'WEEKEND',
		'CUSTOM'
	]
};

// Range column indexes start at (inclusive)
const columnStarts = 0;
// Max number of columns
const columnsPerRow = 4;

// Range row indexes start at (inclusive)
const rowStarts = 0;
{'fraction_non_alphanumeric': 0.14715719063545152, 'fraction_numerical': 0.002229654403567447, 'mean_word_length': 3.5627118644067797, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '191706', 'n_tokens_mistral': 1027, 'n_tokens_neox': 897, 'n_words': 267}