UNPKG

abstract

Version:

Abstraction of JavaScript Objects.

2,049 lines 75.4 kB
{
    "project": {
        "name": "Abstract",
        "description": "Abstract JavaScript Object generation.",
        "version": "0.0.4",
        "url": "https://github.com/UsabilityDynamics/abstract/",
        "logo": "http://a3d72a45d111006ec192-ec5b80a12b0b09b4d52373336afb4254.r80.cf1.rackcdn.com/usability-dynamics.png"
    },
    "files": {
        "lib/abstract.js": {
            "name": "lib/abstract.js",
            "modules": {
                "abstract": 1
            },
            "classes": {},
            "fors": {},
            "namespaces": {}
        },
        "lib/normalize.js": {
            "name": "lib/normalize.js",
            "modules": {},
            "classes": {},
            "fors": {},
            "namespaces": {}
        },
        "lib/polyfills.js": {
            "name": "lib/polyfills.js",
            "modules": {},
            "classes": {},
            "fors": {},
            "namespaces": {}
        },
        "lib/utility.js": {
            "name": "lib/utility.js",
            "modules": {
                "abstract-utility": 1
            },
            "classes": {},
            "fors": {
                "abstract": 1,
                "Json": 1,
                "Utility": 1,
                "abstract-utility": 1
            },
            "namespaces": {}
        }
    },
    "modules": {
        "abstract": {
            "name": "abstract",
            "submodules": {
                "abstract-utility": 1
            },
            "classes": {
                "abstract": 1,
                "Json": 1,
                "Utility": 1,
                "abstract-utility": 1
            },
            "fors": {
                "abstract": 1,
                "Json": 1,
                "Utility": 1,
                "abstract-utility": 1
            },
            "namespaces": {},
            "tag": "module",
            "file": "lib/abstract.js",
            "line": 1,
            "description": "Create custom objects and methods by aggregating and abstracting esources.",
            "version": "0.0.1",
            "constractor": ""
        },
        "abstract-utility": {
            "name": "abstract-utility",
            "submodules": {},
            "classes": {
                "abstract": 1,
                "Json": 1,
                "Utility": 1,
                "abstract-utility": 1
            },
            "fors": {},
            "is_submodule": 1,
            "namespaces": {},
            "module": "abstract",
            "namespace": "",
            "file": "lib/utility.js",
            "line": 1,
            "description": "Helper Utility for Abstract",
            "example": [
                "\n\n   // Select specific methods to load\n   var my_tools = Abstract.utility( 'if', 'extend', 'flatten', 'unwatch', 'watch' );"
            ],
            "author": "potanin@UD",
            "date": "6/17/13"
        }
    },
    "classes": {
        "abstract": {
            "name": "abstract",
            "shortname": "abstract",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "abstract",
            "namespace": "",
            "submodule": "abstract-utility"
        },
        "Json": {
            "name": "Json",
            "shortname": "Json",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "abstract",
            "submodule": "abstract-utility",
            "namespace": ""
        },
        "Utility": {
            "name": "Utility",
            "shortname": "Utility",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "abstract",
            "submodule": "abstract-utility",
            "namespace": ""
        },
        "abstract-utility": {
            "name": "abstract-utility",
            "shortname": "abstract-utility",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "abstract",
            "submodule": "abstract-utility",
            "namespace": ""
        }
    },
    "classitems": [
        {
            "file": "lib/abstract.js",
            "line": 25,
            "description": "Constructor Properties\n\nThe following properties are available within the constructor factory or by\nreferencing the constructor.",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 34,
            "description": "Get a key from current context's _meta",
            "todo": [
                "Migrate to use object-settings once Abstract core is ready."
            ],
            "temp": "",
            "params": [
                {
                    "name": "key",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 51,
            "description": "Set a key and value to current's context's _meta",
            "todo": [
                "Migrate to use object-settings once Abstract core is ready."
            ],
            "temp": "",
            "params": [
                {
                    "name": "key",
                    "description": ""
                },
                {
                    "name": "value",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 69,
            "return": {
                "description": "",
                "type": "Function"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 88,
            "description": "Instantiate within a custom context.",
            "params": [
                {
                    "name": "target",
                    "description": "Target object to use as the context.",
                    "type": "Object"
                },
                {
                    "name": "arguments",
                    "description": "Arguments to instantiate with.",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "Function"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 104,
            "description": "Creates a new object with the specified prototype object and properties.\nCopy the functions from the superclass prototype to the subclass prototype.",
            "params": [
                {
                    "name": "proto",
                    "description": "Superclass to use as prototype for new object.",
                    "type": "Object|null"
                }
            ],
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 130,
            "description": "Create Model Environment\n\nThis method expects a function to be passed to be used as the Model Builder.\nWithin the context of the Model Builder new methods become available.\n\nRemoved for now:\nAbstract.copyProperties( Model.create, Model );\nAbstract.addPrototype( Model.create, Model );",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 265,
            "description": "Iterate through target's properties and reference them into the source object",
            "params": [
                {
                    "name": "target",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "source",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "Target object.",
                "type": "Object"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 296,
            "description": "Create Instance\n\nIt's rather imperative that this method be run in context.",
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 349,
            "description": "Bind createInstance to Context",
            "itemtype": "method",
            "name": "defineConstructor",
            "params": [
                {
                    "name": "target",
                    "description": ""
                },
                {
                    "name": "fn",
                    "description": ""
                }
            ],
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 393,
            "description": "Configure multiple object properties.",
            "params": [
                {
                    "name": "obj",
                    "description": ""
                },
                {
                    "name": "props",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 422,
            "description": "Configure single object property.",
            "params": [
                {
                    "name": "obj",
                    "description": ""
                },
                {
                    "name": "key",
                    "description": ""
                },
                {
                    "name": "prop",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 543,
            "description": "Allow Prototype useage method to be ran in custom context for static calls",
            "return": {
                "description": "",
                "type": "Function"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 557,
            "description": "Allow Prototype useage method to be ran in custom context for static calls",
            "return": {
                "description": "",
                "type": "Function"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 597,
            "description": "Allow Prototype useage method to be ran in custom context for static calls",
            "return": {
                "description": "",
                "type": "Function"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 634,
            "description": "Cross Browser Compatible prototype getter.",
            "params": [
                {
                    "name": "obj",
                    "description": ""
                }
            ],
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 655,
            "description": "Basic Wrapper - will be more fault-tolerant in future.",
            "params": [
                {
                    "name": "obj",
                    "description": ""
                },
                {
                    "name": "proto",
                    "description": ""
                }
            ],
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 687,
            "description": "Instance Properties\n\nThe follow properties are available to each instance created from a constructor.\nSome of the Abstract Static methods reference the prototypal methods.\nPrototyal methods all work with the existing context.",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 697,
            "description": "Get a key from current context's _meta",
            "todo": [
                "Migrate to use object-settings once Abstract core is ready."
            ],
            "temp": "",
            "params": [
                {
                    "name": "key",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 714,
            "description": "Set a key and value to current's context's _meta",
            "todo": [
                "Migrate to use object-settings once Abstract core is ready."
            ],
            "temp": "",
            "params": [
                {
                    "name": "key",
                    "description": ""
                },
                {
                    "name": "value",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 732,
            "description": "Inserts an object/prototype into a target object.",
            "todo": [
                "Try using in some instances.\nrequire( 'util' ).inherits( this",
                "source );"
            ],
            "params": [
                {
                    "name": "target",
                    "description": ""
                },
                {
                    "name": "proto",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 785,
            "description": "Mixin current prototype into target object\n\nHonors property descriptor settings, if available.",
            "params": [
                {
                    "name": "target",
                    "description": ""
                },
                {
                    "name": "source",
                    "description": ""
                }
            ],
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 800,
            "description": "Requires and inserts an object/prototype into this context object.",
            "example": [
                "\n\n   require( 'abstract' ).createModel( function MyAbstraction( model ) {\n\n     this.require( 'util' );\n     this.require( 'async' );\n\n     this.auto({}); // -> [Function]\n\n   });"
            ],
            "todo": [
                "Try using in some instances.\n   require( 'util' ).inherits( this",
                "source );"
            ],
            "params": [
                {
                    "name": "name",
                    "description": "Module name or file path to require.",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/abstract.js",
            "line": 865,
            "description": "Get / Set Properties",
            "return": {
                "description": "",
                "type": "Function"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 1,
            "description": "Object Normalization / JSON Object\n============================+===============\n\nTransformation and normalization of a JSON Document, Nested Array, XML Document, or Two Dimensional Table.\n\n= Conversions = Can be chained.\n- Primarily for working with Associative Arrays, e.g. JSON Hash  , being able to transform objects between hashtables and arrays\n- Strandard transofmration between XML and JSON, using the @ prefix for attributes, etc.\n- Associative Array / Object conversion to Nested Array Format, and reverals (e.g. Knockout.js Models)\n\n= Structure Remapping =\n- Handle Object Transformations based on a Schema with advanced mapping ruels similar to XPath capabilities\n\n= Structure Normalization =\n- Key Pattern Grouping - Convert 2D objects into nested objects based on patterns, such as common prefix.\n- Numbered Key Decoupling - Created nested elements from numbered keys. e.g. bedroom1, bedroom2, => { 'bedrooms': [ 'first value', 'second', etc. ] }\n- Key Normalization - Convert to standard underscore format: de-camel, lowercase, etc.\n\n= Value Conversions =\n- True Data Type - Ensure values have their intended data formats, e.g. converting \"5\" to 5, \"true\" to true, etc.\n- Nullification - Apply rules to convert values between \"undefined\", \"null\", \"false\", etc.\n- Filtering & Stripping - Removing empty fields and/or empty objects and arrays. Whitespace removal.\n- Tokenize - Value tokenization. e.g. \"my dog hasn't any flees\" => [ 'my', 'dog', 'has', 'n\\'t', 'any', 'flees', '.' ]\n\n= Semantic Conversions = Can be chained.\n- Singularize / Pluralize -\n- Change Tense - Future, Present\n- Ordinalize -\n- Deordinalize -\n- Wordize - Convert to printable format. e.g. \"my_homes\" => \"My Home\"\n- Stem - Get stem of a word. e.g. \"words\" => \"word\"\n\n= Other / Specialized =\n- Geolocation - Conversion of an address into coordinates.\n- Categorical Classification\n- Phoenetics",
            "version": "0.1.0",
            "author": "potanin@UD",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 46,
            "description": "Produces an iteration callback bound to an optional `thisArg`. If `func` is\na property name, the callback will return the property value for a given element.",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 71,
            "description": "Non-chainable Utility Functions",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 79,
            "description": "Creates an object composed of keys returned from running each element of\n`collection` through a `callback`. The corresponding value of each key is an\narray of elements passed to `callback` that returned the key. The `callback`\nis bound to `thisArg` and invoked with three arguments; (value, index|key, collection).\nThe `callback` argument may also be the name of a property to group by (e.g. 'length').",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 101,
            "description": "Creates an object composed from arrays of `keys` and `values`. Pass either\na single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or\ntwo arrays, one of `keys` and one of corresponding `values`.\n\n_.object(['moe', 'larry', 'curly'], [30, 40, 50]); // => { 'moe': 30, 'larry': 40, 'curly': 50 }",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 130,
            "description": "Converts the `collection`, to an array.\n\n(function() { return _.to_array(arguments).slice(1); })(1, 2, 3, 4); // => [2, 3, 4]",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 150,
            "description": "Creates an array of numbers (positive and/or negative) progressing from\n`start` up to but not including `stop`. This method is a port of Python's\n`range()` function. See http://docs.python.org/library/functions.html#range.",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 180,
            "description": "Array Iterator",
            "lodash": "forEach requires createIterator() which is too robust to port.",
            "source": "async",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 200,
            "description": "Retrieves the value of a specified property from all elements in\nthe `collection`.",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 216,
            "description": "Gets the size of the `collection` by returning `collection.length` for arrays\nand array-like objects or the number of own enumerable properties for objects.",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 227,
            "description": "Checks if `value` is a string.",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 238,
            "source": "http://stackoverflow.com/questions/4775722/javascript-check-if-object-is-array",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 254,
            "description": "Creates a function that is the composition of the passed functions,\nwhere each function consumes the return value of the function that follows.\nIn math terms, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`.\nEach function is executed with the `this` binding of the composed function.",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 278,
            "description": "Uses a binary search to determine the smallest index at which the `value`\nshould be inserted into `array` in order to maintain the sort order of the\nsorted `array`. If `callback` is passed, it will be executed for `value` and\neach element in `array` to compute their sort ranking. The `callback` is\nbound to `thisArg` and invoked with one argument; (value). The `callback`\nargument may also be the name of a property to order by.",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 305,
            "description": "Gets the index at which the first occurrence of `value` is found using\nstrict equality for comparisons, i.e. `===`. If the `array` is already\nsorted, passing `true` for `fromIndex` will run a faster binary search.",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 331,
            "description": "Creates an array of values by running each element in the `collection`\nthrough a `callback`. The `callback` is bound to `thisArg` and invoked with\nthree arguments; (value, index|key, collection).\n\n_.map([1, 2, 3], function(num) { return num * 3; });  // => [3, 6, 9]\n\n_.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });  // => [3, 6, 9] (order is not guaranteed)",
            "source": "Lo-Dash v0.9.2",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 366,
            "source": "Async",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 385,
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 408,
            "description": "Not Yet Tested at All",
            "source": "json_path 0.8.0 - XPath for JSON",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 501,
            "since": "2.0",
            "author": "potanin@UD",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 520,
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 548,
            "description": "Object and Array Transformations",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 555,
            "description": "Enable Debug for rest of chain",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 565,
            "description": "Enable Debug For Chain",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 576,
            "description": "Enable Debug For Chain",
            "source": "http://stackoverflow.com/questions/6393943/convert-javascript-string-in-dot-notation-into-an-object-reference",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 600,
            "description": "Batch Items Passed. Second-level items will have the rest of the rules applied.",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 610,
            "description": "Safelty Parse JSON",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 623,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 656,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 668,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 680,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 692,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 704,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 733,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 776,
            "description": "String / Number Transormations",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 783,
            "description": "Convert String to Printable Words",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 800,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 810,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 820,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 848,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 895,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 948,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 958,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 968,
            "description": "{}",
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 998,
            "description": "Internal logging function",
            "since": "0.1",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 1021,
            "author": "potanin@UD",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/normalize.js",
            "line": 1029,
            "description": "Initialize",
            "todo": [
                "Use _.compose(); to trigger chained functions."
            ],
            "since": "0.2.0",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/polyfills.js",
            "line": 1,
            "description": "-\n\n-",
            "author": "potanin",
            "date": "7/5/13",
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/polyfills.js",
            "line": 10,
            "description": "Add Object.setPrototypeOf()",
            "source": ": https://gist.github.com/WebReflection/5593554#file-object-setprototypeof-js",
            "params": [
                {
                    "name": "Object",
                    "description": ""
                },
                {
                    "name": "magic",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "Function"
            },
            "class": "abstract",
            "module": "abstract"
        },
        {
            "file": "lib/utility.js",
            "line": 21,
            "description": "Safely parse JSON",
            "itemtype": "method",
            "name": "parse",
            "params": [
                {
                    "name": "json",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "Parsed|json"
            },
            "class": "Json",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 44,
            "params": [
                {
                    "name": "obj",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "Boolean"
            },
            "class": "Json",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 85,
            "description": "Prety Print complex objects",
            "params": [
                {
                    "name": "data",
                    "description": ""
                },
                {
                    "name": "depth",
                    "description": ""
                }
            ],
            "requires": [
                "lodash"
            ],
            "itemtype": "method",
            "name": "console_json",
            "return": {
                "description": "The first argument.",
                "type": "Object"
            },
            "class": "Json",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 114,
            "description": "Pretty Print and Object's Methods",
            "params": [
                {
                    "name": "data",
                    "description": ""
                },
                {
                    "name": "object",
                    "description": ""
                }
            ],
            "requires": [
                "lodash"
            ],
            "itemtype": "method",
            "name": "console_methods",
            "return": {
                "description": "The first argument.",
                "type": "Object"
            },
            "class": "Json",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 140,
            "description": "Get all Object Keys",
            "params": [
                {
                    "name": "data",
                    "description": ""
                }
            ],
            "itemtype": "method",
            "name": "console_keys",
            "return": {
                "description": "The first argument.",
                "type": "Object"
            },
            "class": "Json",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 161,
            "description": "Draw data in table style",
            "example": [
                "\n\n   //console.table\n   console.table([\n     { .. row .. }\n   ]);\n\n   //console.table\n   console.table({\n     'head': [ 'I/O ID', 'Endpoint', 'Description' ],\n     'colWidths': [ 30, 50, 50 ],\n     'rows': [\n       [ 'one', 'two', 'three' ],\n       [ 'one', 'two', 'three' ]\n     ]\n   });"
            ],
            "params": [
                {
                    "name": "data",
                    "description": "",
                    "type": "Object"
                }
            ],
            "itemtype": "method",
            "name": "table",
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 220,
            "description": "Console a variable report",
            "itemtype": "method",
            "name": "report",
            "params": [
                {
                    "name": "arguments",
                    "description": "",
                    "type": "Object",
                    "multiple": true
                }
            ],
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 237,
            "description": "Merge object b with object a.",
            "example": [
                "\n    var a = { foo: 'bar' }\n      , b = { bar: 'baz' };\n\n    utils.merge(a, b);\n    // => { foo: 'bar', bar: 'baz' }"
            ],
            "params": [
                {
                    "name": "a",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "b",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "Object"
            },
            "source": "connect",
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 267,
            "description": "Shallow Merge of Current Object with Another, and Function Mounting\n\nFunctions in exact same manner as\nthe Connect utilities \"merge\" method",
            "params": [
                {
                    "name": "target",
                    "description": "",
                    "type": "Object"
                }
            ],
            "itemtype": "method",
            "name": "embed",
            "chainable": 1,
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 302,
            "description": "Re-group an object by a key, and optionally pick specific keys in the new object.\n\nIf an object is passed, it is assumed to be grouped, thus flattening the values.\nArrays are used as they are.",
            "params": [
                {
                    "name": "target",
                    "description": ""
                }
            ],
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 342,
            "description": "Not a function, that's for sure.\nThis method does not accept any arguments.",
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 354,
            "description": "Creates a continuation function with some arguments already applied.",
            "uses": [
                "async"
            ],
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 365,
            "description": "Configure Defaults for an Object",
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "Utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 389,
            "description": "Watch a Single Property",
            "params": [
                {
                    "name": "prop",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "handler",
                    "description": "",
                    "type": "Callback"
                }
            ],
            "itemtype": "method",
            "name": "watch",
            "chainable": 1,
            "return": {
                "description": "newval",
                "type": "Object"
            },
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 443,
            "description": "Unwatch a Single Property",
            "params": [
                {
                    "name": "prop",
                    "description": "",
                    "type": "Object"
                }
            ],
            "itemtype": "method",
            "name": "unwatch",
            "return": {
                "description": "null"
            },
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 472,
            "description": "Get property value using a dot notation path.",
            "params": [
                {
                    "name": "obj",
                    "description": ""
                },
                {
                    "name": "str",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 504,
            "description": "Unwrap dot notation string to nested Object",
            "example": [
                "\n\n   Utility.unwrap( 'first_name', 'john' );  // -> { first_name: 'John' }\n   Utility.unwrap( 'name.first', 'john' );  // -> { name: { first: 'John' } }\n   Utility.unwrap( 'first_name' );          // -> null\n   Utility.unwrap( 'name.first' );          // -> null\n\n   // Will not modify object if already exists\n   Utility.unwrap( 'name.first.fail', 'Anything' );"
            ],
            "params": [
                {
                    "name": "string",
                    "description": ""
                },
                {
                    "name": "value",
                    "description": ""
                },
                {
                    "name": "hash",
                    "description": ""
                },
                {
                    "name": "seperator",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 551,
            "description": "Mixin current prototype into target object\n\nHonors property descriptor settings, if available.",
            "params": [
                {
                    "name": "source",
                    "description": ""
                },
                {
                    "name": "target",
                    "description": ""
                }
            ],
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 584,
            "description": "Carefully Inherit Properties",
            "params": [
                {
                    "name": "target",
                    "description": "Object to add properties to.",
                    "type": "Object"
                },
                {
                    "name": "target",
                    "description": "Source object.",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "Extended target.",
                "type": "Object"
            },
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 607,
            "description": "Flatten Array",
            "todo": [
                "Notice - nested arrays will not honor delimiter."
            ],
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 653,
            "description": "Inherit the prototype methods from one constructor into another.\n\nCopy of the Node.js util.inherits method.",
            "params": [
                {
                    "name": "target",
                    "description": "Constructor function which needs to inherit the prototype.",
                    "type": "Function"
                },
                {
                    "name": "constructor",
                    "description": "Constructor function to inherit prototype from.",
                    "type": "Function"
                }
            ],
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 680,
            "description": "Walk up the prototype chain, creating a JSON-Schema-esque structure",
            "params": [
                {
                    "name": "context",
                    "description": "The object to walk through.",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "JSON Schema-esque constructor chain.",
                "type": "Object"
            },
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 736,
            "description": "Return unique values of an array",
            "params": [
                {
                    "name": "array",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "Array"
            },
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 754,
            "description": "Generate a unique hash for an Object, using md5 on default.",
            "example": [
                "\n\n   var _hash = Utility.hash({ type: 'some_object', name: 'Bob'});\n\n   console.log( _hash ); // -> 147ce3e2ccb7db6b928b303ce42bdafa"
            ],
            "params": [
                {
                    "name": "obj",
                    "description": "Object to generate a hash for.",
                    "type": "Object"
                },
                {
                    "name": "options",
                    "description": "options for hash generation.",
                    "type": "Object"
                },
                {
                    "name": "options",
                    "description": "options.type Type of hash to generate, defaulting to md5.",
                    "type": "String"
                },
                {
                    "name": "options",
                    "description": "options.silent_fail Do not throw errors, return empty string if there was an error when true.",
                    "type": "String"
                }
            ],
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 823,
            "source": "async",
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        },
        {
            "file": "lib/utility.js",
            "line": 860,
            "description": "Output variables to console log.\n\nSettings can be configured like so:\n   abstract.log.config.depth = 2;\n   abstract.log.config.colors = true;",
            "params": [
                {
                    "name": "data",
                    "description": "A config object",
                    "type": "Object|String"
                }
            ],
            "example": [
                "\n     Abstract.log( data )\n\nmethod log"
            ],
            "return": {
                "description": "Abstract constructor.",
                "type": "Object"
            },
            "chainable": 1,
            "class": "abstract-utility",
            "module": "abstract",
            "submodule": "abstract-utility"
        }
    ],
    "warnings": [
        {
            "message": "unknown tag: version",
            "line": " lib/abstract.js:1"
        },
        {
            "message": "unknown tag: constractor",
            "line": " lib/abstract.js:1"
        },
        {
            "message": "unknown tag: temp",
            "line": " lib/abstract.js:34"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:34"
        },
        {
            "message": "unknown tag: temp",
            "line": " lib/abstract.js:51"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:51"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:69"
        },
        {
            "message": "replacing incorrect tag: params with param",
            "line": " lib/abstract.js:88"
        },
        {
            "message": "replacing incorrect tag: params with param",
            "line": " lib/abstract.js:88"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:88"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:265"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:296"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:393"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:422"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:543"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:557"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:597"
        },
        {
            "message": "unknown tag: temp",
            "line": " lib/abstract.js:697"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:697"
        },
        {
            "message": "unknown tag: temp",
            "line": " lib/abstract.js:714"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:714"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:732"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:800"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/abstract.js:865"
        },
        {
            "message": "unknown tag: version",
            "line": " lib/normalize.js:1"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:79"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:101"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:130"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:150"
        },
        {
            "message": "unknown tag: lodash",
            "line": " lib/normalize.js:180"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:180"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:200"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:216"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:227"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:238"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:254"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:278"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:305"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:331"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:366"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:408"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/normalize.js:576"
        },
        {
            "message": "unknown tag: date",
            "line": " lib/polyfills.js:1"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/polyfills.js:10"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/polyfills.js:10"
        },
        {
            "message": "unknown tag: date",
            "line": " lib/utility.js:1"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/utility.js:44"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/utility.js:237"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/utility.js:365"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/utility.js:472"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/utility.js:584"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " lib/utility.js:736"
        },
        {
            "message": "unknown tag: source",
            "line": " lib/utility.js:823"
        },
        {
            "message": "Missing item type\nConstructor Properties\n\nThe following properties are available within the constructor factory or by\nreferencing the constructor.",
            "line": " lib/abstract.js:25"
        },
        {
            "message": "Missing item type\nGet a key from current context's _meta",
            "line": " lib/abstract.js:34"
        },
        {
            "message": "Missing item type\nSet a key and value to current's context's _meta",
            "line": " lib/abstract.js:51"
        },
        {
            "message": "Missing item type",
            "line": " lib/abstract.js:69"
        },
        {
            "message": "Missing item type\nInstantiate within a custom context.",
            "line": " lib/abstract.js:88"
        },
        {
            "message": "Missing item type\nCreates a new object with the specified prototype object and properties.\nCopy the functions from the superclass prototype to the subclass prototype.",
            "line": " lib/abstract.js:104"
        },
        {
            "message": "Missing item type\nCreate Model Environment\n\nThis method expects a function to be passed to be used as the Model Builder.\nWithin the context of the Model Builder new methods become available.\n\nRemoved for now:\nAbstract.copyProperties( Model.create, Model );\nAbstract.addPrototype( Model.create, Model );",
            "line": " lib/abstract.js:130"
        },
        {
            "message": "Missing item type\nIterate through target's properties and reference them into the source object",
            "line": " lib/abstract.js:265"
        },
        {
            "message": "Missing item type\nCreate Instance\n\nIt's rather imperative that this method be run in context.",
            "line": " lib/abstract.js:296"
        },
        {
            "message": "Missing item type\nConfigure multiple object properties.",
            "line": " lib/abstract.js:393"
        },
        {
            "message": "Missing item type\nConfigure single object property.",
            "line": " lib/abstract.js:422"
        },
        {
            "message": "Missing item type\nAllow Prototype useage method to be ran in custom context for static calls",
            "line": " lib/abstract.js:543"
        },
        {
            "message": "Missing item type\nAllow Prototype useage method to be ran in custom context for static calls",
            "line": " lib/abstract.js:557"
        },
        {
            "message": "Missing item type\nAllow Prototype useage method to be ran in custom context for static calls",
            "line": " lib/abstract.js:597"
        },
        {
            "message": "Missing item type\nCross Browser Compatible prototype getter.",
            "line": " lib/abstract.js:634"
        },
        {
            "message": "Missing item type\nBasic Wrapper - will be more fault-tolerant in future.",
            "line": " lib/abstract.js:655"
        },
        {
            "message": "Missing item type\nInstance Properties\n\nThe follow properties are available to each instance created from a constructor.\nSome of the Abstract Static methods reference the prototypal methods.\nPrototyal methods all work with the existing context.",
            "line": " lib/abstract.js:687"
        },
        {
            "message": "Missing item type\nGet a key from current context's _meta",
            "line": " lib/abstract.js:697"
        },
        {
            "message": "Missing item type\nSet a key and value to current's context's _meta",
            "line": " lib/abstract.js:714"
        },
        {
            "message": "Missing item type\nInserts an object/prototype into a target object.",
            "line": " lib/abstract.js:732"
        },
        {
            "message": "Missing item type\nMixin current prototype into target object\n\nHonors property descriptor settings, if available.",
            "line": " lib/abstract.js:785"
        },
        {
            "message": "Missing item type\nRequires and inserts an object/prototype into this context object.",
            "line": " lib/abstract.js:800"
        },
        {
            "message": "Missing item type\nGet / Set Properties",
            "line": " lib/abstract.js:865"
        },
        {
            "message": "Missing item type\nObject Normalization / JSON Object\n============================+===============\n\nTransformation and normalization of a JSON Document, Nested Array, XML Document, or Two Dimensional Table.\n\n= Conversions = Can be chained.\n- Primarily for working with Associative Arrays, e.g. JSON Hash  , being able to transform objects between hashtables and arrays\n- Strandard transofmration between XML and JSON, using the @ prefix for attributes, etc.\n- Associative Array / Object conversion to Nested Array Format, and reverals (e.g. Knockout.js Models)\n\n= Structure Remapping =\n- Handle Object Transformations based on a Schema with advanced mapping ruels similar to XPath capabilities\n\n= Structure Normalization =\n- Key Pattern Grouping - Convert 2D objects into nested objects based on patterns, such as common prefix.\n- Numbered Key Decoupling - Created nested elements from numbered keys. e.g. bedroom1, bedroom2, => { 'bedrooms': [ 'first value', 'second', etc. ] }\n- Key Normalization - Convert to standard underscore format: de-camel, lowercase, etc.\n\n= Value Conversions =\n- True Data Type - Ensure values have their intended data formats, e.g. converting \"5\" to 5, \"true\" to true, etc.\n- Nullification - Apply rules to convert values between \"undefined\", \"null\", \"false\", etc.\n- Filtering & Stripping - Removing empty fields and/or empty objects and arrays. Whitespace removal.\n- Tokenize - Value tokenization. e.g. \"my dog hasn't any flees\" => [ 'my', 'dog', 'has', 'n\\'t', 'any', 'flees', '.' ]\n\n= Semantic Conversions = Can be chained.\n- Singularize / Pluralize -\n- Change Tense - Future, Present\n- Ordinalize -\n- Deordinalize -\n- Wordize - Convert to printable format. e.g. \"my_homes\" => \"My Home\"\n- Stem - Get stem of a word. e.g. \"words\" => \"word\"\n\n= Other / Specialized =\n- Geolocation - Conversion of an address into coordinates.\n- Categorical Classification\n- Phoenetics",
            "line": " lib/normalize.js:1"
        },
        {
            "message": "Missing item type\nProduces an iteration callback bound to an optional `thisArg`. If `func` is\na property name, the callback will return the property value for a given element.",
            "line": " lib/normalize.js:46"
        },
        {
            "message": "Missing item type\nNon-chainable Utility Functions",
            "line": " lib/normalize.js:71"
        },
        {
            "message": "Missing item type\nCreates an object composed of keys returned from running each element of\n`collection` through a `callback`. The corresponding value of each key is an\narray of elements passed to `callback` that returned the key. The `callback`\nis bound to `thisArg` and invoked with three arguments; (value, index|key, collection).\nThe `callback` argument may also be the name of a property to group by (e.g. 'length').",
            "line": " lib/normalize.js:79"
        },
        {
            "message": "Missing item type\nCreates an object composed from arrays of `keys` and `values`. Pass either\na single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or\ntwo arrays, one of `keys` and one of corresponding `values`.\n\n_.object(['moe', 'larry', 'curly'], [30, 40, 50]); // => { 'moe': 30, 'larry': 40, 'curly': 50 }",
            "line": " lib/normalize.js:101"
        },
        {
            "message": "Missing item type\nConverts the `collection`, to an array.\n\n(function() { return _.to_array(arguments).slice(1); })(1, 2, 3, 4); // => [2, 3, 4]",
            "line": " lib/normalize.js:130"
        },
        {
            "message": "Missing item type\nCreates an array of numbers (positive and/or negative) progressing from\n`start` up to but not including `stop`. This method is a port of Python's\n`range()` function. See http://docs.python.org/library/functions.html#range.",
            "line": " lib/normalize.js:150"
        },
        {
            "message": "Missing item type\nArray Iterator",
            "line": " lib/normalize.js:180"
        },
        {
            "message": "Missing item type\nRetrieves the value of a specified property from all elements in\nthe `collection`.",
            "line": " lib/normalize.js:200"
        },
        {
            "message": "Missing item type\nGets the size of the `collection` by returning `collection.length` for arrays\nand array-like objects or the number of own enumerable properties for objects.",
            "line": " lib/normalize.js:216"
        },
        {
            "message": "Missing item type\nChecks if `value` is a string.",
            "line": " lib/normalize.js:227"
        },
        {
            "message": "Missing item type",
            "line": " lib/normalize.js:238"
        },
        {
            "message": "Missing item type\nCreates a function that is the composition of the passed functions,\nwhere each function consumes the return value of the function that follows.\nIn math terms, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`.\nEach function is executed with the `this` binding of the composed function.",
            "line": " lib/normalize.js:254"
        },
        {
            "message": "Missing item type\nUses a binary search to determine the smallest index at which the `value`\nshould be inserted into `array` in order to maintain the sort order of the\nsorted `array`. If `callback` is passed, it will be executed for `value` and\neach element in `array` to compute their sort ranking. The `callback` is\nbound to `thisArg` and invoked with one argument; (value). The `callback`\nargument may also be the name of a property to order by.",
            "line": " lib/normalize.js:278"
        },
        {
            "message": "Missing item type\nGets the index at which the first occurrence of `value` is found using\nstrict equality for comparisons, i.e. `===`. If the `array` is already\nsorted, passing `true` for `fromIndex` will run a faster binary search.",
            "line": " lib/normalize.js:305"
        },
        {
            "message": "Missing item type\nCreates an array of values by running each element in the `collection`\nthrough a `callback`. The `callback` is bound to `thisArg` and invoked with\nthree arguments; (value, index|key, collection).\n\n_.map([1, 2, 3], function(num) { return num * 3; });  // => [3, 6, 9]\n\n_.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });  // => [3, 6, 9] (order is not guaranteed)",
            "line": " lib/normalize.js:331"
        },
        {
            "message": "Missing item type",
            "line": " lib/normalize.js:366"
        },
        {
            "message": "Missing item type",
            "line": " lib/normalize.js:385"
        },
        {
            "message": "Missing item type\nNot Yet Tested at All",
            "line": " lib/normalize.js:408"
        },
        {
            "message": "Missing item type",
            "line": " lib/normalize.js:501"
        },
        {
            "message": "Missing item type",
            "line": " lib/normalize.js:520"
        },
        {
            "message": "Missing item type\nObject and Array Transformations",
            "line": " lib/normalize.js:548"
        },
        {
            "message": "Missing item type\nEnable Debug for rest of chain",
            "line": " lib/normalize.js:555"
        },
        {
            "message": "Missing item type\nEnable Debug For Chain",
            "line": " lib/normalize.js:565"
        },
        {
            "message": "Missing item type\nEnable Debug For Chain",
            "line": " lib/normalize.js:576"
        },
        {
            "message": "Missing item type\nBatch Items Passed. Second-level items will have the rest of the rules applied.",
            "line": " lib/normalize.js:600"
        },
        {
            "message": "Missing item type\nSafelty Parse JSON",
            "line": " lib/normalize.js:610"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:623"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:656"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:668"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:680"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:692"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:704"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:733"
        },
        {
            "message": "Missing item type\nString / Number Transormations",
            "line": " lib/normalize.js:776"
        },
        {
            "message": "Missing item type\nConvert String to Printable Words",
            "line": " lib/normalize.js:783"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:800"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:810"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:820"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:848"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:895"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:948"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:958"
        },
        {
            "message": "Missing item type\n{}",
            "line": " lib/normalize.js:968"
        },
        {
            "message": "Missing item type\nInternal logging function",
            "line": " lib/normalize.js:998"
        },
        {
            "message": "Missing item type",
            "line": " lib/normalize.js:1021"
        },
        {
            "message": "Missing item type\nInitialize",
            "line": " lib/normalize.js:1029"
        },
        {
            "message": "Missing item type\n-\n\n-",
            "line": " lib/polyfills.js:1"
        },
        {
            "message": "Missing item type\nAdd Object.setPrototypeOf()",
            "line": " lib/polyfills.js:10"
        },
        {
            "message": "Missing item type",
            "line": " lib/utility.js:44"
        },
        {
            "message": "Missing item type\nMerge object b with object a.",
            "line": " lib/utility.js:237"
        },
        {
            "message": "Missing item type\nRe-group an object by a key, and optionally pick specific keys in the new object.\n\nIf an object is passed, it is assumed to be grouped, thus flattening the values.\nArrays are used as they are.",
            "line": " lib/utility.js:302"
        },
        {
            "message": "Missing item type\nNot a function, that's for sure.\nThis method does not accept any arguments.",
            "line": " lib/utility.js:342"
        },
        {
            "message": "Missing item type\nCreates a continuation function with some arguments already applied.",
            "line": " lib/utility.js:354"
        },
        {
            "message": "Missing item type\nConfigure Defaults for an Object",
            "line": " lib/utility.js:365"
        },
        {
            "message": "Missing item type\nGet property value using a dot notation path.",
            "line": " lib/utility.js:472"
        },
        {
            "message": "Missing item type\nUnwrap dot notation string to nested Object",
            "line": " lib/utility.js:504"
        },
        {
            "message": "Missing item type\nMixin current prototype into target object\n\nHonors property descriptor settings, if available.",
            "line": " lib/utility.js:551"
        },
        {
            "message": "Missing item type\nCarefully Inherit Properties",
            "line": " lib/utility.js:584"
        },
        {
            "message": "Missing item type\nFlatten Array",
            "line": " lib/utility.js:607"
        },
        {
            "message": "Missing item type\nInherit the prototype methods from one constructor into another.\n\nCopy of the Node.js util.inherits method.",
            "line": " lib/utility.js:653"
        },
        {
            "message": "Missing item type\nWalk up the prototype chain, creating a JSON-Schema-esque structure",
            "line": " lib/utility.js:680"
        },
        {
            "message": "Missing item type\nReturn unique values of an array",
            "line": " lib/utility.js:736"
        },
        {
            "message": "Missing item type\nGenerate a unique hash for an Object, using md5 on default.",
            "line": " lib/utility.js:754"
        },
        {
            "message": "Missing item type",
            "line": " lib/utility.js:823"
        },
        {
            "message": "Missing item type\nOutput variables to console log.\n\nSettings can be configured like so:\n   abstract.log.config.depth = 2;\n   abstract.log.config.colors = true;",
            "line": " lib/utility.js:860"
        }
    ]
}