{
    "project": {
        "name": "Hive Node",
        "url": "www.example.com",
        "version": "0.1.0",
        "description": "NodeJS bindings to communicating with the Hive Server"
    },
    "files": {
        "docs/assets/vendor/bootstrap/js/bootstrap.min.js": {
            "name": "docs/assets/vendor/bootstrap/js/bootstrap.min.js",
            "modules": {},
            "classes": {},
            "fors": {},
            "namespaces": {}
        },
        "src/device.js": {
            "name": "src/device.js",
            "modules": {},
            "classes": {
                "Device": 1
            },
            "fors": {},
            "namespaces": {}
        },
        "src/hive.js": {
            "name": "src/hive.js",
            "modules": {
                "Hive": 1
            },
            "classes": {},
            "fors": {},
            "namespaces": {}
        },
        "src/server.js": {
            "name": "src/server.js",
            "modules": {
                "Server": 1
            },
            "classes": {},
            "fors": {},
            "namespaces": {}
        }
    },
    "modules": {
        "Hive": {
            "name": "Hive",
            "submodules": {},
            "elements": {},
            "classes": {
                "Device": 1
            },
            "fors": {},
            "namespaces": {},
            "tag": "module",
            "file": "src/device.js",
            "line": 4,
            "description": "Main exports."
        },
        "Server": {
            "name": "Server",
            "submodules": {},
            "elements": {},
            "classes": {},
            "fors": {},
            "namespaces": {},
            "tag": "module",
            "file": "src/server.js",
            "line": 5,
            "description": "The web server module."
        }
    },
    "classes": {
        "Device": {
            "name": "Device",
            "shortname": "Device",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "Hive",
            "file": "src/device.js",
            "line": 4,
            "description": "Device class.\n\nRepresents a the current device running the code.",
            "is_constructor": 1
        }
    },
    "elements": {},
    "classitems": [
        {
            "file": "docs/assets/vendor/bootstrap/js/bootstrap.min.js",
            "line": 1,
            "description": "Bootstrap.js by @fat & @mdo\nplugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-affix.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js\nCopyright 2012 Twitter, Inc.\nhttp://www.apache.org/licenses/LICENSE-2.0.txt",
            "class": "Device"
        },
        {
            "file": "src/device.js",
            "line": 22,
            "description": "Register a measurement taken by the device",
            "itemtype": "method",
            "name": "registerMeasurement",
            "params": [
                {
                    "name": "label",
                    "description": "- the Measurement label to post.",
                    "type": "String"
                },
                {
                    "name": "base",
                    "description": "- the base URL of where to post.",
                    "type": "String"
                },
                {
                    "name": "interval",
                    "description": "- the interval to execute the measurement at.",
                    "type": "Number"
                },
                {
                    "name": "action",
                    "description": "- the action used to calculate the measurement (must return a valid {@link Measurement}).",
                    "type": "Function"
                },
                {
                    "name": "callback",
                    "description": "- the callback to execute after the measurement has been posted.",
                    "type": "Function"
                }
            ],
            "return": {
                "description": "the list of all current actions.",
                "type": "Array"
            },
            "class": "Device"
        },
        {
            "file": "src/device.js",
            "line": 53,
            "description": "Register an action by the device",
            "itemtype": "method",
            "name": "registerAction",
            "params": [
                {
                    "name": "label",
                    "description": "- the Measurement label to post.",
                    "type": "String"
                },
                {
                    "name": "action",
                    "description": "- the action to be carried out on the device\naction label, with an optional input argument, `(input) => {}`.",
                    "type": "Function"
                }
            ],
            "return": {
                "description": "the list of all current actions.",
                "type": "Array"
            },
            "class": "Device"
        },
        {
            "file": "src/device.js",
            "line": 74,
            "description": "Execute an action given a label",
            "itemtype": "method",
            "name": "executeAction",
            "params": [
                {
                    "name": "label",
                    "description": "- the Measurement label to post.",
                    "type": "String"
                }
            ],
            "return": {
                "description": "the result of executing the action.",
                "type": "Object"
            },
            "class": "Device"
        },
        {
            "file": "src/device.js",
            "line": 89,
            "description": "Post a measurement to the Hive Server.",
            "itemtype": "method",
            "name": "postMeasurement",
            "params": [
                {
                    "name": "label",
                    "description": "- the Measurement label to post.",
                    "type": "String"
                },
                {
                    "name": "base",
                    "description": "- the url to the Hive server.",
                    "type": "String"
                },
                {
                    "name": "data",
                    "description": "- the data to be posted like { name: ..., value:... }.",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "the response from the API.",
                "type": "Object"
            },
            "class": "Device"
        },
        {
            "file": "src/hive.js",
            "line": 6,
            "description": "The hive URL",
            "itemtype": "property",
            "name": "URL",
            "type": "{String}",
            "default": "http://localhost:3000",
            "class": "",
            "module": "Hive"
        },
        {
            "file": "src/hive.js",
            "line": 15,
            "description": "Get the Device class.",
            "itemtype": "property",
            "name": "Device",
            "type": "{Class}",
            "class": "",
            "module": "Hive"
        },
        {
            "file": "src/hive.js",
            "line": 23,
            "description": "Get the expressjs server wrapper class.",
            "itemtype": "property",
            "name": "Server",
            "type": "{Class}",
            "class": "",
            "module": "Hive"
        }
    ],
    "warnings": [
        {
            "message": "Missing item type\nBootstrap.js by @fat & @mdo\nplugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-affix.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js\nCopyright 2012 Twitter, Inc.\nhttp://www.apache.org/licenses/LICENSE-2.0.txt",
            "line": " docs/assets/vendor/bootstrap/js/bootstrap.min.js:1"
        }
    ]
}