{"_id":"loverly-frankenstein","_rev":"98-3f0b06d4c889d69db9f158cb422e21de","name":"loverly-frankenstein","time":{"modified":"2022-06-19T14:24:23.676Z","created":"2014-04-22T20:05:10.889Z","0.0.53":"2014-04-22T20:05:12.508Z","0.0.54":"2014-04-22T20:11:59.613Z","0.0.55":"2014-04-28T21:26:12.980Z","0.1.1":"2014-04-29T19:53:50.555Z","0.1.2":"2014-04-30T02:34:17.433Z","0.1.3":"2014-05-07T20:22:33.684Z","0.1.5":"2014-05-08T22:26:17.414Z","0.2.0":"2014-05-18T19:10:02.736Z","0.2.1":"2014-05-22T20:43:49.632Z","0.2.2":"2014-05-23T17:00:06.804Z","0.2.3":"2014-05-23T18:04:14.664Z","0.2.4":"2014-05-25T16:05:53.446Z","0.2.5":"2014-05-28T21:40:04.294Z","0.2.6":"2014-06-04T17:48:53.585Z","0.2.7":"2014-06-10T21:58:44.168Z","0.2.8":"2014-06-11T15:29:14.290Z","0.2.9":"2014-06-12T15:29:40.756Z","0.2.10":"2014-06-26T14:32:28.486Z","0.2.11":"2014-07-02T19:14:32.403Z","0.2.12":"2014-07-03T15:32:21.398Z","0.2.13":"2014-07-03T21:18:14.179Z","0.2.14":"2014-07-03T21:39:01.816Z","0.2.15":"2014-07-03T22:03:42.572Z","0.2.16":"2014-07-12T20:41:04.115Z","0.2.17":"2014-08-06T21:16:44.198Z","0.2.18":"2014-08-14T19:36:23.945Z","0.2.19":"2014-09-23T14:59:41.921Z","0.2.20":"2014-10-07T03:06:30.257Z","0.2.21":"2014-10-14T19:26:30.176Z","0.2.22":"2014-11-17T15:45:05.072Z","0.2.23":"2014-11-24T22:26:38.204Z","0.2.24":"2014-12-03T07:28:39.379Z","0.2.25":"2015-01-15T22:19:52.514Z","0.2.26":"2015-02-11T05:36:27.306Z","0.2.27":"2015-02-11T19:22:22.857Z","0.2.28":"2015-04-22T21:33:43.902Z","0.2.29":"2015-04-23T06:47:07.530Z","0.2.30":"2015-05-27T22:05:38.643Z","0.2.31":"2015-06-29T18:51:59.328Z","0.2.32":"2015-06-30T20:21:38.046Z","0.2.33":"2015-09-15T21:10:35.022Z","0.2.34":"2015-09-15T21:32:14.368Z","0.2.35":"2015-09-15T21:50:50.738Z","0.2.36":"2015-10-30T17:01:59.593Z"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","readme":"# Disclaimer\n\nThis is a *WORK IN PROGRESS* I would not recommend using this unless you really\nwant to waste a lot of time.\n\n\n\n\n# loverly-frankenstein\n\n\nThe Loverly node.js model layer that allows a unified hierarchical structure on\ntop of an assortment of data-storage engines.\n\nTired of that restrictive flat relational structure?  Want a nice JSON-based\ndocument on top of a legacy MySQL data store? No problem! __loverly-frankenstein__\nis here to save the day!\n\nThe goal of this module is to abstract the underlying data storage engines from\nthe end-user's interactions, creating a clean easy-to-use presentation layer that\ncan fit into a standardized REST API.\n\n\n## Is there a difference between an ORM and loverly-frankenstein?\n\nConceptually, not really.  At its core, the goal is the same, take data from a data\nstorage system and transform it into an object that is relevant to the application.\nloverly-frankenstein allows you to specify in a very fine-grained fashion how\nvarious pieces of data should be sewn together to form a cohesive system entity.\n\n\n# Contents\n\n* [Usage](#usage)\n* [Model concepts](#model-concepts)\n* [Creating a model](#creating-a-model)\n* [Creating your own data sources](#creating-your-own-data-sources)\n\n# Usage\n\nInstall in typical fashion:\n\n    npm install loverly-frankenstein --save-dev\n\n## Setting up loverly-frankenstein\n\nThe configuration and management of models can become quite complex if managed\nmanually.  I prefer to use a [Service Container](https://github.com/linkshare/service-container)\nto manage building the objects I need, but you can do it manually if you prefer.\n\n\n# Model concepts\n\nFrom an application perspective, all interaction with your various data sources\nshould occur through Instances of a loverly-frankenstein __model__.  If you've\nused an ORM like [Sequelize.js](http://sequelizejs.com/) or an ODM like [Mongoose](http://mongoosejs.com/)\nthen you're probably familiar with the concept.  A model represents an entity in\nyour system.  This could be a User, a Product, a Car, or anything that is relevant\nto you and your application.  Sometimes the data for a specific entity is spread\nacross multiple data sources and is fairly hard to deal with consistently and easily.\n\nTake for example, a User.  A User may have typical things like a username and a password,\nbut in a more complicated/broadly integrated system, they probably have Facebook\nfriends, Twitter followers, Instagram photos, analytics information, etc.  Wouldn't\nit be nice to have all of these disparate pieces of information be gathered together\nin a single object.\n\n```javascript\n// My user object\n{\n  name: \"brandon\",\n  username: \"brandon@lover.ly\",\n  password: \"f234oiiO0334Fwer\",\n  facebook: {\n    friends: [{id: 1, name: \"alice\"}, {id: 2, name: \"bob\"}]\n  },\n  twitter: {\n    followers: [{id: 1, name: \"alice\"}, {id: 2, name: \"bob\"}]\n  },\n  instagram: {\n    photos: [{id: 27, src: \"http://coolimage.com\"}]\n  }\n}\n```\n\nUpon inspection, each piece of data comes from a different system/API.  The basic\naccount info may come from our own system (a DB perhaps, mysql, mongo, etc), the\nfacebook, twitter, and instagram info probably comes from their public APIs.\n\nThe goal of loverly-frankenstein is to give you an easy-to-use interface to deal\nwith multiple data sources as a single object. Imagine a world where you could\nmanipulate all of the various data sources as part of the same object and then\nsimply call:\n\n    user.save(callback);\n\nAnd just like that, all of the various API's and DB's where called in the right\norder and with the right calls.  Too good to be true?  Probably.  That's why this\nlibrary's not done yet :P\n\n\n## What is a model?\n\nLike the above example, a model is a representation of your data.  It contains a\nspecific structure, and provides a consistent API for reading and listing instances\nof that particular model.\n\nThe magic of a model is that fields can be re-organized and aliased into new names\nto suit your particular application needs.  For example this:\n\n    {name: \"brandon\", joined: \"2014-01-01\"}\n\nCan become:\n\n    {full_name: \"brandon\", important_dates: {joined: {year: 2014, month: 1, day: 1}}}\n\nwith a few simple manipulations.  This is especially useful in legacy applications\nwhere data has non-sensical names or structures that must be tolerated for some\ntransition period before it can be reorganized into a better schema.\n\nPossibly more useful, it also provides\n\n## Everything is a Data Source\n\nModels in loverly-frankenstein are retrieve and manipulate their data via their\ndata sources.  Each data source is responsible for a set number of fields within\na model and each source is treated as separate and unrelated to other data sources\nexcept via the model.\n\nA data source can be:\n\n* A table in a DB\n* An web API\n* A file on disk\n* An object in memory\n* Another model!\n\nAn interesting design element is that models implement the same API as data sources\ndo, and can therefore be used as data sources for other higher-level models.  This\nisn't a great idea, as the number of operations needed to retrieve data for a\nmodel will probably vastly increase as you \"frankenstein\" more of these models\ntogether, however it is useful for creating distinct views and combinations of\nexisting data.\n\n\n## The price of abstraction\n\nEfficiency is always the first sacrifice in a generally-applicable tool.  Many\nperformance tweaks rely on knowledge of a particular API or DB system in order\nto optimize a specific operation.  For example, every data source is treated as\nlogically separate (except through defined key-based relationships) and have no\ninteraction together.  Therefore when we define relationships between multiple\ntables in a DB it takes more work to create the same join statement that direct\nquerying would easily enable.\n\nThese kind of limitations can be circumvented by defining a higher-level Data Source\nthat is represented by the joining of the multiple tables, but this comes with\ncost of increased complexity and slightly more difficult maintenance (for the\nsake of performance).\n\n\n# Creating a model\n\nA model is composed of the following pieces:\n\n* name\n* definition\n* views\n* sources\n* queries\n\nThe __name__ is the model's name (obvious).  I like to use the general convention\nof model name + \"Model\" for the class and file naming.  For example the \"Wedding\"\nmodel would have a class and filename of \"WeddingModel\".\n\nThe __definition__ of a model is the core of what the model looks like and how each\nfield gets its data.  Each property of a model is a field in the output and contains\na type, constraints, views it is included in, and a mapping to a data source.\n\nThe __views__ property defines default options for a particular sub-segment of this\nmodel's data.  You can think of a view as a way to filter fields and to make your\nreading of data more efficient.  A model will only read from data sources whose\nfields are required in a view, so have a minimal view with only the ID or similar\nwill make the reads much more efficient for a very complex model.  Each field definition\ndefines what views it should be included in.\n\nThe __sources__ property lists out the different data sources for this model (as\ndescribed above) and their relationship to this model (one-to-one, one-to-many, etc).\n\nThe __queries__ propertly lists saved query configurations for data sources that\nallow you to query different data sources in different ways with a named query.\nThis avoids having repeat query logic everywhere in your code and allows the model\nto abstract the physical query parameters that need to be sent to different data\nsources to provide the expected result.\n\n\n## Model Definition\n\nA model definition might look like the following:\n\n```javascript\nthis.definition = {};\n\nthis.definition.id = {\n  \"type\": \"STRING\",\n  \"required\": true,\n  \"readOnly\": true,\n  \"views\": [\"default\"],\n  \"constraints\": {\n    \"isInt\": {\"msg\": \"ID must be an integer\"}\n  },\n  \"mapping\": {\n    \"type\": this.MAPPING_TYPES.FIELD,\n    \"source\": \"Source1\",\n    \"alias\": \"cool_fieldx\",\n    \"serialize\": function (data) {\n      return parseInt(data, 10);\n    },\n    \"deserialize\": function (data) {\n      return new String(data);\n    }\n  }\n}\n```\n\nThe field definition is by far the most complex structure in a model.  It is composed\nof:\n\n* __type__ - The data type of the field\n* __required__ - Boolean, whether or not this field must be specified\n* __readOnly__ - Cannot be modified by updates (usually auto-generated fields)\n* __views__ - Which views this field should be included in\n* __constraints__ - Field validation for creating/updating\n* __mapping__ - Specify which data source this field's information comes from\n\nAll of the different field definition options are described in detail below.\n\n\n### Type\n\nSupported types:\n\n* __BOOLEAN__\n* __DATE__\n* __INTEGER__\n* __NUMBER__\n* __STRING__\n* __ARRAY__ - Used for submodels with one-to-many relationships\n\n\n### Required & Read Only\n\nThe required field is neccessary because if a field is not required, its validation\nis skipped if the field is not defined.  Use required to ensure that the field is\nalways validated before save.\n\nRead only fields will typically be used for auto-generated data such as auto increment\nsurrogate keys or timestamps.  Read only fields can never be specified.\n\n\n### Views\n\nViews are field filters.  They tell the model what data to return to minimize the\nnumber of reads necessary from its disparate data sources and to minimize the\nresponse size from the model.  Only data sources whose fields are included in the\nview will be queried for data.\n\n\n### Constraints\n\nField constraints are validation requirements on the field.  For example, a username\nmight require that it be 6-10 characters long, only contain alpha-numeric characters\nand is required for the form.\n\nThe constraints property on a field is an object that maps to validation functions\non your given validator that you've set on the `this.validator` property.  It must\nimplement the node.js [validator](https://github.com/chriso/validator.js) library.\n\nBasically it just has a bunch of functions that return `true` or `false` depending\non whether or not the validation has passed.\n\nA validation constraint definition might look like:\n\n```javascript\n\nthis.definition.username = {\n  type: \"STRING\",\n  views: ['default'],\n  required: true,\n  constraints: {\n    isNotBlank: {\n      msg: \"Please specify your username.\"\n    },\n    isAlphanumericString: {\n      msg: \"A username must contain only letters or numbers.\"\n    },\n    isLength: {\n      args: [6, 10],\n      msg: \"A username must be between 6 and 10 characters long.\"\n    },\n    hasAtLeastMinNumbers: {\n      args: [2],\n      msg: \"A username must have at least 2 numbers.\",\n      isValid: function (val, limit) {\n        var minNumRegex = new RegExp(\"(.*[0-9]{1}.*){\" + limit + \"}\");\n        return minNumRegex.test(val);\n      }\n    },\n  }\n};\n\n```\n\nNotice that the last item in the list specifies an `isValid` method.  You can\ncreate non-reusable custom validators inline using this method.\n\nAlso notice that constraints are specified in order from general to specific so\nthat way the errors can help the user properly complete the form.  The `isNotBlank`\nvalidator is added to ensure that a custom error message is shown when the user\nhas left the username as `null`.\n\nSome validators can be modified by specifying constraint arguments, as in the `args`\nproperty on the `isLength` constraint.  The `args` property is an array, where the\nvalue of the field is always the first argument to a validation function, but the\nargs array is appended after that using the `func.apply(context, args)` method.\n\n\n### Mapping\n\n#### One-to-one relationships\n\n#### One-to-many relationships\n\n\n### Serializer & Deserializer\n\n\n### Extending models\n\n`TODO:` We definitely need a way to easily extend/reuse models\n\nI think the best way to achieve this is to change the way models are defined, to\nhouse the various fields at the `prototype` level, allowing copying to occur through\ntypical prototypal inheritance like:\n\n```javascript\nvar AbstractModel = require('loverly-frankenstein').Model;\n\nvar ParentModel = function () {\n  AbstractModel.call(this);\n};\n\nParentModel.prototype = new AbstractModel();\nParentModel.definition = {};\n\nParentModel.definition.id = {\n  type: 'NUMBER',\n  views: ['default'],\n  constraints: {}\n};\n\nParentModel.definition.description = {\n  type: 'STRING',\n  views: ['default'],\n  constraints: {}\n};\n\n// Create a child model that extends the parent model, but overrides some defs\n\nvar ChildModel = function () {\n  ParentModel.call(this);\n};\n\nChildModel.prototype = new ParentModel();\n\nChildModel.prototype.definition.description = {\n  type: 'STRING',\n  views: ['details'],\n  constraints: {\n    isLength: {\n      args: [1, 2],\n      msg: 'Some cool message'\n    }\n  }\n};\n\n```\n\nThat way we follow all of the common javascript patterns for inheritance and anyone\ncan use whatever JS utilities they want for prototype extension.\n\n\n### Adding a Search Submodel to Your Model\n\nModels have a built-in search concept which will return a list of instances based\noff of a query passed to a search model.  Each model may have only one `SEARCH` type\nsubmodel which it will query to obtain a list of IDs to use to generate a list\nof objects.\n\n\n`TODO:` Provide access to the solr client I created as part of frankenstein maybe the same\nfor the rackspace client and sequelize?\n\n\nAt [loverly](http://lover.ly) we use Solr for our search queries, and therefore\nour search models are based off of Solr Data Sources.\n\nSpecifically for Solr data sources, there are two types of query syntaxes that\nare supported, `edismax` and `lucene`.  This is configured at the Data Source level\nif you are using the built-in (loverly) Solr client.\n\nThe source can be added to the model like:\n\n```javascript\nthis.sources = {\n  \"ImageSearch\": {\n    \"relationship\": this.SOURCE_MAPPING_TYPES.SEARCH\n  }\n}\n```\n\nThe search model should be defined like a typical model with solr as a data source.\nOnce that is configured, you can call the search endpoint like:\n\n```javascript\n// edismax example\nvar searchQuery = {\n  term1: '+', // this term is mandatory in the search results\n  term2: '-', // this term is prohibited (excluded) in search results\n  term3: '',  // this term is optional\n  term4: '',  // this term is also optional\n};\nvar options = {\n  /* typical model list options */\n  handler: 'similar',      // request handler\n  parser: 'edismax',       // parser\n  search_field: 'image_id' // field to search against in the current model's sources\n};\nmodel.search(searcQuery, options, callback);\n\n// lucene example\n// The lucene type only supports the \"q\" param where you specify the raw lucene\n// query\nvar searchQuery = {\n  q: '+field1:term1 -field1:term2 field2:term3 field2:term4'\n};\nvar options = {/* typical model list options */}\nmodel.search(searcQuery, options, callback);\n```\n\nFor the edismax parser, the fields where the different terms (keywords), are\nsearched are configured by the search request handler.  The weighting (boosts) are\nalso configured in the request handler.  The terms can be controlled with `+`, `-`,\nor blank for required, excluded, and optional terms respectively.\n\nFor the lucene parser, the raw query must be generated (for now) and placed into\nthe `q` parameter.  The query should follow the lucene syntax and will specify\nfield/value pairs, plus whatever else you want.  This is for more complex queries\ninvolving multiple fields where one field's value is mandatory and another is optional.\n\nThe search function returns the same result structure as the `list()` method with\nthe same options.  This is because the search method first calls the search model\nto get a list of IDs then uses that as a filter parameter for calling the `list()`\nmethod on the model.  The field that is filtered is determined by the `search_field`\nin the options, defaulting to `id`.\n\nSearch models must always return an `id` property.  This is transformed into an\narray and given to the parent model's list method for filtering, using an `in` style\nquery.  The data source may return a different property, but this should be aliased\nat the model layer to be `id` (i.e. `image_id` is transformed to just `id` using\nthe `mapping` property on the field with an `alias`).\n\n\n\n### Lists with One-to-Many Relationships (Data Decoration)\n\n`TODO:`  Need to do this by default if the one-to-many field is included in the\nresults.\n\n\n# Creating your own data sources\n## Integrating an external API\n\n\n## Setting up the CRUD routes\n\n# Examples\n\n# Run the Tests\n","versions":{"0.0.54":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.0.54","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.0.54","dist":{"shasum":"606bcd634f49ba2d18116979306c2f0c0c96a2aa","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.0.54.tgz","integrity":"sha512-pw4LkTkHhmuD71RL0F1l90DC+IMhBfxy5CyX7cj8zIHGF7G2qOgVPmbmGAegndPlW5dYqp6yXN0zYPWAPRaOJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAMOxfLRWbRiRvk6XBnEkG5/y2yVyyO9d0Fa6wAIBtpQIgEiaZrTU5gmQhVumdP7FahHFsZ2Ci/QYhT7F6+V5tkxw="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}]},"0.0.55":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.0.55","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.0.55","dist":{"shasum":"8d3a28b6c947431db659893c33031738a992f3fd","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.0.55.tgz","integrity":"sha512-WkZhyMqAnOG+O7Q1+Db8BhY2kuHD06vSXTJdttgdXwWfpjpcJn2mSIWYVdOl35mjD2uUF2YzjDpbDhKcogkLrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOIhIXB8iDv+5nYfxvXon2THVi4puL1p1nJp+1DZX/yQIga8o+EcH1cZJSuFCE79XIQucrY3+0LnaTT7/dZRiTf+s="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}]},"0.1.1":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.1.1","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.1.1","dist":{"shasum":"ab46923f8d10cba22d28d7934dce9a33af46a448","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.1.1.tgz","integrity":"sha512-Dx6Q53SK4GZ8HsOUCmhSyjOFA1Gix48aDHImgSo3aazWea7fwV++JUpyXvOJNJ2VhUv1zrV7xWQ6FOuM8a5N6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8Zehloqbm/ihLi59kr3RPeA3bjP0MGZCh7hiy4334nQIhAPAohS3Ynyuye1znVZ2kuYrRFsG9cKGLGveAlz1r1+oo"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}]},"0.1.2":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.1.2","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.1.2","dist":{"shasum":"2dabe5fc508e619334cfc14ebabf019c6d1262fe","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.1.2.tgz","integrity":"sha512-GN6cZZF1M6XPLvj1v3ffS7KoEwf2f3TnppBpdmZmVkXUBfm6Tux83AFWcyX/kHoEKIUooQkp2AJgGVvFlTKT7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF3FiSp6UHZ005h9Cl2ZThB7gbYxtM9NNAGn7EoAg8o8AiAU8WwNeNV1vf4ih8iwwiTU4FoenONme8naW7+ahGgBSA=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}]},"0.1.3":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.1.3","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.1.3","dist":{"shasum":"f3f7186c17816ddaaa03b4afc8eaf4a02a0cfe75","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.1.3.tgz","integrity":"sha512-uh4SGmRl5QZ6oV1tdpNFm2E8Wkl/fOYObTh+TojbxTR81YbYZI7TPJ3cUyCf4BGQyVNvL9F+ntp2qJMd2b/3wQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf+J7JaAT6L1L40bwRQcm/TL0YANYS4uExMioBcarzxgIhAIXB4n/HCkQLplPfWBVwIhs1g640UOQcBN6jP7qDAMxs"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}]},"0.1.5":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.1.5","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.1.5","dist":{"shasum":"5990a7ccd214f7838e06555ee2182441b1752c07","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.1.5.tgz","integrity":"sha512-+hKLlTkH6JPw6lzd6u1PtuH26bMp0GIssEDVLBVe0OTulyT0D/4NFzFVLtR5iX4FaFWs0dbEs6G/GAZooiiZ1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICeVmjnTrqETrmlpYj2hhD2AZcD3ojZV7+ki/DTDYKW9AiA1cFOsZsyojTC6FXgVOyaZocAuFTqPN1T9MLpJXFhnNw=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}]},"0.2.0":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.0","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.0","_shasum":"dd980cf9f65f6a1ee576804511da6597acf470cf","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"dd980cf9f65f6a1ee576804511da6597acf470cf","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.0.tgz","integrity":"sha512-0cApypXuI3yALvPMY6L0qohHrwSoMBSuU7gtzGatM1mROpxLPaLxjjniGfrOfvG1Qgex4mPxSEujgqYTXj1COw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0HbRBz06oTCXjAXX6KJwnMzSXUg8Le35TSDLMIvJ1WAiB79HAMeFIM1UEKqJ+2l7Oge6XkSpxIhhCmRU8q1m01GQ=="}]}},"0.2.1":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.1","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.1","_shasum":"6c3fb554e0061d2f11207552d154fa141bba523b","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"6c3fb554e0061d2f11207552d154fa141bba523b","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.1.tgz","integrity":"sha512-7hqomgIVtWMtdTjI3hSZ0eZ6ndOjwylCaaAyAVeM5NsPnhK+kBAK9C9l+LLYY1+9w3lOMHnywSoNsG+OUdpfeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHLyybwCDBkN0ClWRm99zuh3+jXaM06exsne9+v+df77AiEAvr2mrWZ6tgYbF9T251w3hA6Fo5XvkDqETXt+DGlqJlc="}]}},"0.2.2":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.2","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.2","_shasum":"8dbc76a46f04abe028a688f40be44d9440503eda","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"8dbc76a46f04abe028a688f40be44d9440503eda","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.2.tgz","integrity":"sha512-PEpjfqAXv+XLrKboXXwioZcPsu8dPKY6WUZzkqYQ4cWBK6a4qLFxZo8IgHlx2LeWxHaCfNBJvVWCZJKv9P5jFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVOOkc7ewrZns4LZSUcfbhsiG7+Xw1ntK8f3B/Vef6IgIgRpTaUhV18f0fV4v8cHvU1ZwQRfiRC6svKTzW0cy5V8U="}]}},"0.2.3":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.3","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.3","_shasum":"574b9f74d2fdd95ac9638b5939683b06981d80a6","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"574b9f74d2fdd95ac9638b5939683b06981d80a6","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.3.tgz","integrity":"sha512-eE/nCtvv2+A5XyLT2G+iXnGMcp075yBBRL1p46muKpyyvcZGyISd2N65gZft5ddHp+9uTAEZFWIGiG0IHIfKMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLNperCcu6clc5YvdxVW7KAAhTighWrKu1IA2fNWIgKQIhAPCofRZ1HV9yFZG46HcRpUYkZAHgCPf+aNAZBRnbB5f2"}]}},"0.2.4":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.4","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.4","_shasum":"a0dfd8866666d344c0e0baf6321d20fab0bdea06","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"a0dfd8866666d344c0e0baf6321d20fab0bdea06","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.4.tgz","integrity":"sha512-EBPdDx2DmuHbakbeJT8IFgq4ViSAM/5KMJ0B8cT5wpYLp0WhmK70dxUCVFNkmtIStNs+1Gvb3/GyMD4Ae3xtnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF93PwOAVwe/ORTUS66QkTt9R7H6xgG2gQGwcfT9TXKWAiBhaLjsLrmgHP40RFjZ7K6Ie6MNgx4YnHkFfS33eu+1tw=="}]}},"0.2.5":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.5","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.5","_shasum":"ac37f57b59396dd42986f5e2dbf226d06b05f608","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"ac37f57b59396dd42986f5e2dbf226d06b05f608","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.5.tgz","integrity":"sha512-lIPD0P/+QxF9kqIBS3cvo5Eh9glG4vE46p1TTmTE+Da/cNItO1nLA/+VE5crgJHnhYlCvBgQRazcErlEpEmA8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWIXi39O9pTaqkW63Clb6nmT44pjruKzsoV7KjIGAsPAIgVAp18FZ4IzBRqSWi9GqhGpGncOB+OGj/HofPPuuhM3M="}]}},"0.2.6":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.6","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.6","_shasum":"9581822291e378af24c76fc776abccdb8935d293","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"9581822291e378af24c76fc776abccdb8935d293","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.6.tgz","integrity":"sha512-41/J5nIIRDKogiI14BcjemCVWnSuCKCJHRSOy8q1jrUVFuCP+/ys6P5n7IqLCbv46BLn+i8gdObFx2fbZkKDHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSjrf1tjfQUgEt0WjpEwOSfyn35n0AuaW6asGm060NAQIhALu3HFwUM+/lKEPC2UHlav4GzHdu2tOMs91XRRcQE0Zu"}]}},"0.2.7":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.7","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Sharrukin Josephson","email":"sharrukin@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"1eb67690b59ec659b434844c5ba21ac0b19d50e9","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.7","scripts":{},"_shasum":"4bfc2b0894f96f0eb251f35aa0ffa245134c2e1b","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"4bfc2b0894f96f0eb251f35aa0ffa245134c2e1b","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.7.tgz","integrity":"sha512-YC3jlMLc2uKsVSxaqh4unAL7x5A7RrSNcI69UDCObelhGlPym3cQGc6bBbSV2ml0ud4Gr4dGt9qXOoJdxQHXdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgoLvSjzH4CxfgE6vH/0l/qT4mueIzMOpOUTHEly+CXgIgQQAHsiuX2I+APW+Th0yRveKa9KTXoiszdcqK+H65+Rc="}]}},"0.2.8":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.8","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"8af0325ad123059501e019523011805c8636163f","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.8","scripts":{},"_shasum":"a5dfb876b5d7ca3f7015496fb0c44436cd8e055a","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"a5dfb876b5d7ca3f7015496fb0c44436cd8e055a","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.8.tgz","integrity":"sha512-ODyscwvwLTt0ddPvrryS6N46UfR4Gc3trl9DfLR1i291l23YuWngZPmVlHs2mhfRzeCLWydFJHUE7eG7YLZWHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUbHwIlcOIu4UX6f6WYR6QvPX1OMJQpLlHK2vc5ShvfAIgQ5HG62aNQwvuSZYvlqfiNztXWVK5km68cctCPjlc5tM="}]}},"0.2.9":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.9","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.9","_shasum":"e412ebbbce69b6ca1c0d7468f6478f320d0bc892","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"e412ebbbce69b6ca1c0d7468f6478f320d0bc892","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.9.tgz","integrity":"sha512-BB8dPSs6USO6JS8zpo8kQI7OQJvOZmW9fcfKynQO4yrTh0n2aLBZY0CZ3+WC05W2EC7DSRBnLD725+gFBMkaXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCk4AfM7B3XlJRRI6C7QH0W36STE+rVmC64IFqGEdRoxwIgOVC2GWFxXa/CfxVdA+GavlJvyS0e2D6zER2ztMtSrSs="}]}},"0.2.10":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.10","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.10","_shasum":"0528aed16bced1698375529a5f135737089d5780","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"0528aed16bced1698375529a5f135737089d5780","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.10.tgz","integrity":"sha512-D89Loe2jWdJuthGleRmI9Q4TXHph31/zrZ5O7ERfLV5UFBNuudHTWM8j3zqUv4naeLtFYUxuCJn7BsC+pSP9pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLGDDY6jivvm+e7R5DNVgHAAmA8Wiby37b+Nbx+IDq9QIhAKp35mlTYrGKOhjD4hi4baxwpJLAtXoZEFO4JIAozuYP"}]}},"0.2.11":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.11","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.11","_shasum":"b266da141b6c9af166140616d738faba1ce2dfcd","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"b266da141b6c9af166140616d738faba1ce2dfcd","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.11.tgz","integrity":"sha512-TuMTY2iT3GGSGFJ8cyTiCzFyHfj6USAXLeJAqMef8AJWn0DiTxYfbF5blVq8aWDU+Ct8LhFh/Bttk5KADBbYzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXkS/KYxGLHrprfCIb26DXbBsITdH90DI/+3Wn8EpWVwIgcC6HuxmY1u9X84qzLdV2tF3TtYOjcBFmboY50CO6xWs="}]}},"0.2.12":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.12","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.12","_shasum":"012e7b557a3da0fa62ddb5ad4854ec22611b2fdd","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"012e7b557a3da0fa62ddb5ad4854ec22611b2fdd","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.12.tgz","integrity":"sha512-6wqDPsM+x9nHahxJyg/INGpr7UeVcdIQkNSke6zVV7QPA8NOT7G+IKJlBi82lga24BqNSAgu5YP5n+dOAHhOFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFehRpribunvTU/V9OC1mDnIQH16caU6OzueBAJzEzrVAiEA9D2gcrpRgr0V5waln9W5aloGqo/x0TczACgfyM9Z/QA="}]}},"0.2.13":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.13","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.13","_shasum":"ed16038d5bcf6e09ca94cdc1603787375c9e07ae","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"ed16038d5bcf6e09ca94cdc1603787375c9e07ae","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.13.tgz","integrity":"sha512-TwM5oPWK31m17xsQgAapW6vdP+9tvXW4xIYPdZwiTeic2My40uEBApJ9wlmzfDYnPL342cI5rcc0YLnfJk14zA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDTXnMrOBe3QXVKZk35OAx4LmAMBOjKrwXvb1O1DOBQnAiBqYSzUr7iYWcwyqOT3U6H+1JQZKGwPnmPn0aLHfmvnPQ=="}]}},"0.2.14":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.14","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.14","_shasum":"bc6d468829e9258ffc861c154d94d7ab5c8f3a90","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"bc6d468829e9258ffc861c154d94d7ab5c8f3a90","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.14.tgz","integrity":"sha512-3ROQBkhPyYp9JhjBj5eAnX5b72Z3MuZgBPDAQlq6rK0coTLTDgaVdKFdKl0eMiaA+sy65MTyab0OaZIED7vlEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvB1MhSXXHyLlpTgUgdLHDOzzJhCKkbKrLCmQld+Rd3QIgUlUiVDxrbjFCIN3QkCwfDCXYMf2Bs5yiQ6VpSOK/jJU="}]}},"0.2.15":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.15","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.15","_shasum":"b91b4cfe2b9895b3e33b7e0f5b2ce740adc31201","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"b91b4cfe2b9895b3e33b7e0f5b2ce740adc31201","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.15.tgz","integrity":"sha512-lz46NnB/I1mlFmrJhAanbybav76YfihsZWQxG1oPUL1ksApsCf98PrU/289d++BdhRjr8ZvRQ1oacstCVxRJeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDB3NxCQD79kGsEwGWlb6bcjKpao1dxlYFY90tyeXwRWQIgEfQ+meIOZSxTbtAkwEae6ESJXda4aoytXlrE7F6I1FM="}]}},"0.2.16":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.16","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.16","_shasum":"cf227b112b73288ad21294d44427be424a5647c2","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"cf227b112b73288ad21294d44427be424a5647c2","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.16.tgz","integrity":"sha512-5MdYFKSbl7QmBTwL24gmoVEL51z/ZLEiRaxJsLLsSQmBnBkWUJ2qnqh8odhEfhCx+xaAU6B4PEP3vv/6XUhS7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC09oeOU4RsiEPimYqXnP0h+9x+0xHWR2f8J8q0Qq/KOgIhAIsFNsNaS9e4Jfl0zCB7OJbyYfSc8P8UW1PEFpqfqkoc"}]}},"0.2.17":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.17","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Karen Teng","email":"karen@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.17","_shasum":"023512ff098dbc73e2b6aca01c25a3ac966ec49f","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"023512ff098dbc73e2b6aca01c25a3ac966ec49f","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.17.tgz","integrity":"sha512-Z17dAu9rV7BLR0TUJNLkbGWrJwnEnIuYGyycsc0kfeLzyuqkAvgWDip6TIFedb+UiuzlUyPuO8jt8/8lCuEzLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHYy28lbiJjTgIB1zQbvaCbAdPlq41xa7n1oqGVXe2/AiEAhwnhCtealJe46b7WmM6PE3sOCwQG4h03OlhsFyFF2fk="}]}},"0.2.18":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.18","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.18","_shasum":"a3a3cc1125e24802c73c0bf3a39d14727abbceb1","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"a3a3cc1125e24802c73c0bf3a39d14727abbceb1","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.18.tgz","integrity":"sha512-qwFGEg1xScTLyrZmsH0k50Mwl/RouUW0V2rRd2fqqWQInJpXSQE5db3yHZ1hQm2NTb0iRZcWiQvhLhwE6l+hRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE00s/zg+jszVB9m3meKihDjRUfuo5Lg6sfXfZJYKTaAIhAK7logM05mhIVipm8lfEVB2C1ZGMQ1cXQuD3aHNTr6Yw"}]}},"0.2.19":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.19","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.19","_shasum":"de9bf0440e0ee9d00d2177c5b0b7a4b7e927f299","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"de9bf0440e0ee9d00d2177c5b0b7a4b7e927f299","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.19.tgz","integrity":"sha512-aiCwKLD+eL88QuvoPBjXttHeu2u+N5TMASECTGQx0GWidlVQHkpUsSuFsLkxFUffsuLcuSCrVUJIbtxSsGbwxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLNEWhloptBekpZ/9SlhWw2ryrwB8Mq/QUZwGBk0p+bwIgVkMnjxSrVelBqaahvOPyWrvtUVjJX1yy57ig3Wxp5m8="}]}},"0.2.20":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.20","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.20","_shasum":"6a316b8094e3e365463b1ab3b2e095a0ac434ed8","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"6a316b8094e3e365463b1ab3b2e095a0ac434ed8","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.20.tgz","integrity":"sha512-6OenjHYdm5LLvwbEQn7PUDA3i0AdGL6xHzaaZRWz6s6aFmTf6ox2hQ+BrpNU/x8GOETPFvga3UvkNb+ta04w1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBEBiYUAMUWQEIa0zhdeUXU5C0aHr/3XO6ykGL+qAFUWAiAOj95AG/o6d4EZQ1zyiqSR3CyhtgPmZChhddrHORrOfw=="}]}},"0.2.21":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.21","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.21","_shasum":"f1b04b23ed9d1a4927dc129c29eaf817f8c0ef2a","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"f1b04b23ed9d1a4927dc129c29eaf817f8c0ef2a","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.21.tgz","integrity":"sha512-7kHFJaGkElXhG10fV9NtH9jwKUX3UHOA4Dzbhk2UFqre+O/ijR54aJfM3wcdZt2osCiZ7aC1Wfeyr1vIYUZh6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGcUG/o9Aisg2aHapMHWkeQ2X5+2tAXw2hRT5nb7mAANAiBfPmYEpcu+XpxXsay2Ec53GVgtDpTBhhulyeHAYebeoQ=="}]}},"0.2.22":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.22","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.22","_shasum":"59cc8209fcc90a7b721b240a8c0255074ae8ec16","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"59cc8209fcc90a7b721b240a8c0255074ae8ec16","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.22.tgz","integrity":"sha512-6qUmvyNnwGfwu49/LFSPpUJaJ9Jn/vrHqlNw6EQ8Sn6MECYlC68+XwFAKiiuNw+B30kcbbJ7Li1OTP9gIU5Jew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8B/lQhfSqbQzvF6oM0Hwvsw2W/VpfoUVh/kQtITe2pAiAM/mc5bFD3WKu2Sq8b4KvYkQsYgqR+wG5drMlfk988Vg=="}]}},"0.2.23":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.23","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.23","_shasum":"1d9f37c79a16885e96af1c3f1547224c241f8bb6","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"1d9f37c79a16885e96af1c3f1547224c241f8bb6","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.23.tgz","integrity":"sha512-lTpe5zyi8ShzOpDfQhU9+Be8hayJCsAVHNUrfiAWnjrlOjs9jiVVB98OsxqCGnxus2ji5WxHjZyxWYg83tGGxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyYFtLH9Hb1ydorIkotkTIlK0RD/kBLlyIsYYNBWgGAwIgV1WS94AGnsLwPWnAzdphoAbVQdObyWqphfzKVqsAOE8="}]}},"0.2.24":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.24","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.24","_shasum":"f445fa21492282d0be4698224d97444d4e790025","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"f445fa21492282d0be4698224d97444d4e790025","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.24.tgz","integrity":"sha512-rg0MEVVqeA47yFawTQHRxJr4jWNkqqwdL1LtU5MEQllQnu2IN8kquFH5JIXojs4KoN0mdUz8lLLmuHYgQyy2bQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz0Ge3/ibVzNjZA0KZe7zhYVNF8apfFWZ8FNzhX8JfagIgWbWA2x9+vcfOV2Vy1Gvq8A8Gxk/Ku6oFpJs7mtEmvVo="}]}},"0.2.25":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.25","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"David Carcamo","email":"hello@davidcarcamo.com"},{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Cassandra Rommel","email":"cassandra.rommel@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Jennifer Creighton","email":"jenn@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.25","_shasum":"2fc592f724ee73285cbe81c8a6daf855b78b7399","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"2fc592f724ee73285cbe81c8a6daf855b78b7399","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.25.tgz","integrity":"sha512-BVB8ueWyqm0PGn97XDBS6TlFe2TngrdiCLNbKIDb0hQbkpetJwDS2kUHwLjMJumTvHJpv6qEk+3Z2CTfjDpoQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1+2MSOOD9NNX2ZhjVxaB4hJFwn+4scjnv0f9jskHfkgIhAKwvRN2U78zD1J9O9LT8EA/uNnoot4qq1cvbNECy3lEA"}]}},"0.2.26":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.26","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.26","_shasum":"eb1950db49ba33faae114978dcedc5f2b5741cf2","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"eb1950db49ba33faae114978dcedc5f2b5741cf2","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.26.tgz","integrity":"sha512-vwwt0BKmkpdkoArk5pB9pfu+dbU1BZTDYPszfx6UHtqtt3/6c908i1fperLCR01oiwuutRj5AyBzVrkuGnvz/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwMUNeaDzxFGbFp8mUrcVMsxzAa7GVA8tbnlHcXAoNKgIhAI+FSkRfBAW1tWyuY1f+NCO7Yv5ty6EmLFghWVESpZmS"}]}},"0.2.27":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.27","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.27","_shasum":"ff36f2493122b56bf4add31f9f5b6c7e4e374d76","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"ff36f2493122b56bf4add31f9f5b6c7e4e374d76","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.27.tgz","integrity":"sha512-Q9nd58WoubmagDYJD+TfCFR9cjQnoMqlpHyZFgf8efyP7YLqWZp1J5ldUSotQx7Pgdwh1Ntm6cXoB9pxLPUk4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKH3mqvnK1XrAlDP8aHgUbiK+e7Y4UC01Yd4ANeFQTjAiEAhmzmiomTUPMxECiVrAXMN6zzp+b6unukHWTGFVpOa3M="}]}},"0.2.28":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.28","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.28","_shasum":"fe7690e2fdd6903de9725f0d76be0d86b8edb721","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"fe7690e2fdd6903de9725f0d76be0d86b8edb721","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.28.tgz","integrity":"sha512-j0sL7IbuCDk8Bzpy7DyMr8Cbz6415ppf6i24NSqQ+Wu+DTlBuvVngZ1YOrkeUpjBZYtHfI5wvZuxY9ETMW7a6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH6sl60VYr6osfnkBSNjnR2ttJFezs+CI9SHgKd5VwjfAiBbOSojJVP4img5xlDTr/kHWviI55oSH0YQ1kUtF/cnFw=="}]}},"0.2.29":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.29","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"https://github.com/loverly/loverly-frankenstein"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.29","_shasum":"798807f8f972b553d5a94d5208178fda723d088e","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"798807f8f972b553d5a94d5208178fda723d088e","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.29.tgz","integrity":"sha512-RcJaPlDywpRjw4OaNKpeUoxmFZ4Q1prIeOUIl18FgtWxFqJyOqpbkDUerTAYsNOAr38dIxA6DmlJFhbJMj5BWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+DFI0QnJ7HwOYOZCx1HFVVsSkKibDSQBcpcTnxpsv1AiAfieVAnKPvgiNxPCVm/ql6lt9n6NFP5VZ1EY+ZZSaMTg=="}]}},"0.2.30":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.30","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"7c4493c8e0587aeedd65fe6bd10083bc635c27d2","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.30","scripts":{},"_shasum":"ecfb7853a74ebd9a5d91b789a1eddc11458066c1","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.10.21","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"ecfb7853a74ebd9a5d91b789a1eddc11458066c1","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.30.tgz","integrity":"sha512-mQfNm2Zqy0M6ICEZ2C2glrsuLa9a/Bzms7bve94eSHRl+ZoTnlTuQaPl2KDubMRIawdNtN+ogNq30GEJ4NCS2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAPkgWGfsjIVKRMF87dXiCt5/LBdl+IoZLGGB7ILdtuiAiBoqZ/qpdU72soxqP52ZBdRPK+bzinm+zO34rXrof10eA=="}]}},"0.2.31":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.31","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"3ad2cf8a31cc5f5ed5519021362bed53edb85f07","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.31","scripts":{},"_shasum":"5ed400dc29e537a9ef45464ac317bc1a23d573a1","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.10.21","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"5ed400dc29e537a9ef45464ac317bc1a23d573a1","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.31.tgz","integrity":"sha512-CTC6D7F28orTkppn1epDmQKZPYhKq8A3iDWJMja6pFwCXPg8MiemXfo0WQ8tCb78UYdcbxlGTBYXZvKM0ynvkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5z5gTiJePy7ojefUXcT99xEhHz7LjTxlhYW9vL6iNMwIgUDeaW3jb1I5Hj2Th+HBDHFIfm8L3qVw+qQd83UnvmqY="}]}},"0.2.32":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.32","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"23648f400fed3e4e6c64571a4aa3fdb618f805bc","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.32","scripts":{},"_shasum":"40572719cb2743b797e76312ae87afe5080d43ce","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.10.21","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"40572719cb2743b797e76312ae87afe5080d43ce","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.32.tgz","integrity":"sha512-meEQ2re5oFTANa+dZbdtkU104f855Wd06KYJJYUSSV691TxrT8n+dBSDWsUYVAEV5Ra+q/OZsIvPzmI4sThBRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtvR5Nxyxo28hNkeFrHI1iUIJZtnU4zj2AfzpjE8vibAIgPEkhO7b/JmiVqosKPvfbujfLRjj4vTNEiKng/Q67Yfs="}]}},"0.2.33":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.33","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"a230c992962ae905f0c24a779dff23bbe2ef8f68","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.33","scripts":{},"_shasum":"6549c7556530f8d45e540ec59b17db42ef389951","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.10.21","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"6549c7556530f8d45e540ec59b17db42ef389951","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.33.tgz","integrity":"sha512-eJaMnUahfXS8QFwvyHfYM7RMmTTYsWH8TPsujEWvne4jqUo0LFvMEzIsBhQ8fZljZJBuYbVUsU7yCVcE5hGt8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8nLA3lMyDzzuUEDjd3cJibs/MJ8n105j071LTeg2IUAIgN1HUMuZR7qdxcC6zA6TPaLIl196sMBRg55PKoWMwuAU="}]}},"0.2.34":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.34","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"5a69f80f804c211251cb33dc6ab0af2d9a4eb62f","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.34","scripts":{},"_shasum":"fd38e659ad89647ee3111d37731c043df6faea50","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.10.21","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"fd38e659ad89647ee3111d37731c043df6faea50","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.34.tgz","integrity":"sha512-IR0RBo1KZ5zmm9CZ6/zITrSo/auL3wNOavizGOuOGg1o1HR2jv7ZeBrwAz/UEc6FHJTzeDksdiKsSOnh7y292g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChdLDQjFWAnL9xvl5/6K6p3QsSlZ79mjjgfAdH8ahyaAIgH7BIGmQmkY7NfXFECEHOdIiweNhOpZYEtEz2xlqjLUk="}]}},"0.2.35":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.35","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"5ca2270b8c8d391f71992308aa4df92aca197d36","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.35","scripts":{},"_shasum":"e7a74eb371f9c373e431163750381a147efb8590","_from":".","_npmVersion":"2.10.0","_nodeVersion":"0.10.21","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}],"dist":{"shasum":"e7a74eb371f9c373e431163750381a147efb8590","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.35.tgz","integrity":"sha512-WYhSLZrtuyTywa9NJarZUHp7aemBfo8at/AZYCj1h8sI7CJP5E3+li4NQHeuvpOdN1PFeO4BWJIr6D6kA8WoCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHwHZcDuS/Rpnv33WbC8+5zSz0fDCyl7ZNxcTbHBkrIuAiBffnJ7S3wsHwJEcRyn5c6ewSAvJpEyHJd15AXp9ByGtA=="}]}},"0.2.36":{"name":"loverly-frankenstein","description":"The loverly node-js model layer that allows a unified hierarchical structure on top of an assortment of data-storage engines","version":"0.2.36","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"main":"./index.js","dependencies":{},"devDependencies":{"spears":"git+https://github.com/beum/spears-js.git","chai":"latest","sinon-chai":"latest","mocha":"latest","cucumber":"latest"},"engines":{"node":">= 0.10.21"},"gitHead":"a3321e0cbe972f6b6280cf1490354beb187e3fbb","bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"},"_id":"loverly-frankenstein@0.2.36","scripts":{},"_shasum":"12ebee9f7af872610c63e85113b01e8764ec883f","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"loverly","email":"brandon@lover.ly"},"dist":{"shasum":"12ebee9f7af872610c63e85113b01e8764ec883f","tarball":"https://registry.npmjs.org/loverly-frankenstein/-/loverly-frankenstein-0.2.36.tgz","integrity":"sha512-/svTFV4Uw8yCWThzW5hNUAkwREcEoxxsLxSrc/OAqS7urwRiBHbjBDVr1kJpkGmpmVW/zevDrJArfgm/BHmS5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDzgKS5IX8C9UpY3NI+Eog9xpfGf8x7ReIFw+PiS3LX6AiEAhU3Bo6OoQ9reiGYCxAi0QlLmhDIILyG984P3wpy5Onw="}]},"maintainers":[{"name":"loverly","email":"brandon@lover.ly"}]}},"dist-tags":{"latest":"0.2.36"},"readmeFilename":"README.md","homepage":"https://github.com/loverly/loverly-frankenstein","repository":{"type":"git","url":"git+https://github.com/loverly/loverly-frankenstein.git"},"contributors":[{"name":"Brandon Eum","email":"brandon@lover.ly"},{"name":"Luca Columbu","email":"luca@lover.ly"},{"name":"Dan Post","email":"dan.post@lover.ly"},{"name":"Hisako Shiraishi","email":"hisako.shiraishi@lover.ly"}],"author":{"name":"Lover.ly Team","url":"http://dev.lover.ly/"},"bugs":{"url":"https://github.com/loverly/loverly-frankenstein/issues"}}