Source: index.js

/**
 * Top-level module which provides all of the functions and constants.
 * @module caltime
 * @version 1.0.0
 *
 * @author Michael McCarthy
 * @copyright Michael McCarthy <michael.mccarthy@ieee.org> 2017
 * @license MIT
 */

'use strict';

/* private ********************************************************************/

const timespanModule = require('./lib/timespan');
const datespanModule = require('./lib/datespan');
const timeruleModule = require('./lib/timerule');


/* exported functional constructors *******************************************/

/** Functional constructor which creates a TimeSpan object.
 * @public
 * @see {@link module:caltime/timespan~timeSpan} */
module.exports.timeSpan = timespanModule.timeSpan;

/** Functional constructor which creates a DateSpan object.
 * @public
 * @see {@link module:caltime/datespan~dateSpan}
 */
module.exports.dateSpan = datespanModule.dateSpan;

/** Functional constructor which creates a TimeRule object.
 * @public
 * @see {@link module:caltime/timerule~timeRule}
 */
module.exports.timeRule = timeruleModule.timeRule;


/* exported functions ++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/** Function used to merge DateSpan objects in an array.
 * @public
 * @see {@link module:caltime/datespan~mergeSpans}
 */
module.exports.mergeDateSpans = datespanModule.mergeSpans;

/** Function used to sort DateSpan objects in an array.
 * @public
 * @see {@link module:caltime/datespan~sortSpans}
 */
module.exports.sortDateSpans = datespanModule.sortSpans;

/* exported constants *********************************************************/

/** Object's data members provides all of the constants which are made
    available by the package. */
module.exports.constants = require('./lib/constants');

/** Version number of the module in SemVer string format. */
module.exports.VERSION = '1.0.0';