]> git.r.bdr.sh - rbdr/sorting-hat-renderer/blobdiff - lib/services/data.js
Merge branch 'release/1.0.0'
[rbdr/sorting-hat-renderer] / lib / services / data.js
index cc6c5eef3840891d9626b8adc8160b7b8be7befe..c7f67444f4425544505ee0020d3d41a9fba35b47 100644 (file)
@@ -1,3 +1,4 @@
+/* global WebSocket */
 
 const internals = {
   kSocketLocation: 'ws://localhost:1987',
@@ -18,7 +19,45 @@ const internals = {
   }
 };
 
+/**
+ * The data structure representing the sorting hat data
+ *
+ * @typedef tSortingHatData
+ * @type object
+ * @param {number} state the current state: 0 for waiting, 1 for
+ * polling, 2 for cool down.
+ * @param {string} [winner] the winner after polling, might be null if
+ * no winner is detected
+ * @param {Object.<string,tRunningAverages>} runningAverages the running averages for
+ * the different categories, used to render the waves
+ */
+
+/**
+ * The running averages, including the current sum and count
+ *
+ * @typedef tRunningAverages
+ * @type object
+ * @param {number} sum the current total
+ * @param {number} count the number of samples
+ * @param {number} average the average (sum / count)
+ */
+
+/**
+ * The main data service, connects to a socket and updates the internal
+ * data structure
+ *
+ * @class DataService
+ */
 export default {
+
+  /**
+   * Returns the internal data structure, intended to be used as the data
+   * property in vue components
+   *
+   * @memberof DataService
+   * @method data
+   * @return tSortingHatData
+   */
   data() {
 
     if (!internals.socket) {