{"_id":"groan","_rev":"13-ff2f7243ce4c92f4dc118882ff9f9e3d","name":"groan","description":"A PHP session file parser written in JavaScript","dist-tags":{"latest":"0.1.3"},"versions":{"0.0.1":{"name":"groan","version":"0.0.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A PHP session file parser written in JavaScript","main":"./groan","engines":{"node":">=0.2.0"},"keywords":["php","session","parser"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/groan/raw/master/LICENSE"}],"repository":{"type":"git","url":"git://github.com/mscdex/groan.git"},"_npmJsonOpts":{"file":"/home/mscdex/.npm/groan/0.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"groan@0.0.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"37ff407a523589df877e1629ddb9e5500def2fb7","tarball":"https://registry.npmjs.org/groan/-/groan-0.0.1.tgz","integrity":"sha512-awrEoqYw2kyU/WH23kpYed3i/O/srENPu65E6PIM1finZfO83bInp4uQ1TSPkqypM+mZbCwNho/Q6IXmjSid/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFsLu0YuHJup7Sc2rV78uWD8PPAitqowgBUWTsQFxHP9AiBz0nIvFx25M/UfzjPl/MY6rh7TrwHr6VTbObtMmiu5NQ=="}]},"scripts":{},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}]},"0.1.0":{"name":"groan","version":"0.1.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A PHP session file parser written in JavaScript","main":"./groan","engines":{"node":">=0.2.0"},"keywords":["php","session","parser"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/groan/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/groan.git"},"readme":"Description\n===========\n\ngroan is a PHP session file parser written in JavaScript.\n\n\nRequirements\n============\n\n* JavaScript (compatible with [node.js](http://nodejs.org/))\n\n\nNode.JS Examples\n================\n\n```javascript\nvar fs = require('fs'),\n    parser = require('groan');\n\n/*\n  ideally you should first ensure (session file's\n  mtime + PHP's session.gc_maxlifetime) > Date.now() to ensure that the\n  session has not expired yet\n*/\n\n// if it is still valid, continue on ...\nfs.readFile('/tmp/sess_1234567890abcdef', function(err, b) {\n  if (err) throw err;\n  console.dir(parser(b.toString('utf8')));\n  /*\n     for a $_SESSION that contains:\n        [\"0\"]=>\n        string(3) \"foo\"\n        [\"a\"]=>\n        string(5) \"apple\"\n        [\"b\"]=>\n        bool(false)\n        [\"c\"]=>\n        array(3) {\n          [0]=>\n          int(17)\n          [1]=>\n          float(1.5)\n          [2]=>\n          string(1) \"x\"\n        }\n        [\"d\"]=>\n        array(0) {\n        }\n\n    the parser will return an object that looks like:\n      {\n        0: 'foo',\n        a: 'apple',\n        b: false,\n        c: [ 17, 1.5, 'x' ],\n        d: []\n      }\n  */\n});\n```\n\n```javascript\nvar parser = require('groan');\n\nvar serialized = 'a:5:{i:0;s:3:\"foo\";s:1:\"a\";s:5:\"apple\";s:1:\"b\";b:0;s:1:\"c\";a:3:{i:0;i:17;i:1;d:1.5;i:2;s:1:\"x\";}s:1:\"d\";a:0:{}}';\nconsole.dir(parser(serialized));\n\n// output:\n// { '0': 'foo', a: 'apple', b: false, c: [ 17, 1.5, 'x' ], d: [] }\n```\n\n\nNotes\n=====\n\n* References and recursion are not currently supported (currently returns `undefined`)\n\n* The parser assumes the session file data is in the valid PHP session serialized format\n","readmeFilename":"README.md","_id":"groan@0.1.0","dist":{"shasum":"21dd614dc646e184128a4ac1c6ba7e445e92b41f","tarball":"https://registry.npmjs.org/groan/-/groan-0.1.0.tgz","integrity":"sha512-6GnttuSd5RkCgruAEQioNKpa3vwfMT1WIOTAbDNEW6BAZb5WU11dlkEZRPTzCOnHTVSxeaqMrxebWXJcxJkbdQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeOKH1rU5qSFrIvh+E0yTj2tCkHqXeHwviBByay9QvsAIhAPgJOdDOtPgNS2MBQLtVdFcrRSsnNHqKM4UTHLut1fv0"}]},"_from":"https://github.com/mscdex/groan/tarball/v0.1.0","_resolved":"https://github.com/mscdex/groan/tarball/v0.1.0","scripts":{},"_npmVersion":"1.2.11","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}]},"0.1.1":{"name":"groan","version":"0.1.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A PHP session file parser written in JavaScript","main":"./groan","engines":{"node":">=0.2.0"},"keywords":["php","session","parser"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/groan/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/groan.git"},"readme":"Description\n===========\n\ngroan is a PHP session file parser written in JavaScript.\n\n\nRequirements\n============\n\n* JavaScript (compatible with [node.js](http://nodejs.org/))\n\n\nNode.JS Examples\n================\n\n```javascript\nvar fs = require('fs'),\n    parser = require('groan');\n\n/*\n  ideally you should first ensure (session file's\n  mtime + PHP's session.gc_maxlifetime) > Date.now() to ensure that the\n  session has not expired yet\n*/\n\n// if it is still valid, continue on ...\nfs.readFile('/tmp/sess_1234567890abcdef', function(err, b) {\n  if (err) throw err;\n  console.dir(parser(b.toString('utf8')));\n  /*\n     for a $_SESSION that contains:\n        [\"0\"]=>\n        string(3) \"foo\"\n        [\"a\"]=>\n        string(5) \"apple\"\n        [\"b\"]=>\n        bool(false)\n        [\"c\"]=>\n        array(3) {\n          [0]=>\n          int(17)\n          [1]=>\n          float(1.5)\n          [2]=>\n          string(1) \"x\"\n        }\n        [\"d\"]=>\n        array(0) {\n        }\n\n    the parser will return an object that looks like:\n      {\n        0: 'foo',\n        a: 'apple',\n        b: false,\n        c: [ 17, 1.5, 'x' ],\n        d: []\n      }\n  */\n});\n```\n\n```javascript\nvar parser = require('groan');\n\nvar serialized = 'a:5:{i:0;s:3:\"foo\";s:1:\"a\";s:5:\"apple\";s:1:\"b\";b:0;s:1:\"c\";a:3:{i:0;i:17;i:1;d:1.5;i:2;s:1:\"x\";}s:1:\"d\";a:0:{}}';\nconsole.dir(parser(serialized));\n\n// output:\n// { '0': 'foo', a: 'apple', b: false, c: [ 17, 1.5, 'x' ], d: [] }\n```\n\n\nNotes\n=====\n\n* References and recursion are not currently supported (currently returns `undefined`)\n\n* The parser assumes the session file data is in the valid PHP session serialized format\n","readmeFilename":"README.md","_id":"groan@0.1.1","dist":{"shasum":"9f5b6fdc90741234e482cf829f4699f5483340e6","tarball":"https://registry.npmjs.org/groan/-/groan-0.1.1.tgz","integrity":"sha512-VztDk6xYBvVvd5ml6sAYqI2opLhXW2UEY0eyo4MHY4+ILuudoTHTW3Dhqkltkw3+9NIHS0YCkOG5rNmb6LRoCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDey3m4D6Q9ew/+qj3dFB/PBSVJqRIbZmO4ITAhRijq9gIhANNvaDTyyFZHQrii4fxV8IISvS5FCISC5RUxtNeZanO5"}]},"_from":"https://github.com/mscdex/groan/tarball/v0.1.1","_resolved":"https://github.com/mscdex/groan/tarball/v0.1.1","scripts":{},"_npmVersion":"1.2.14","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}]},"0.1.2":{"name":"groan","version":"0.1.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A PHP session file parser written in JavaScript","main":"./groan","engines":{"node":">=0.2.0"},"keywords":["php","session","parser"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/groan/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/groan.git"},"readme":"Description\n===========\n\ngroan is a PHP session file parser written in JavaScript.\n\n\nRequirements\n============\n\n* JavaScript (compatible with [node.js](http://nodejs.org/))\n\n\nNode.JS Examples\n================\n\n```javascript\nvar fs = require('fs'),\n    parser = require('groan');\n\n/*\n  ideally you should first ensure (session file's\n  mtime + PHP's session.gc_maxlifetime) > Date.now() to ensure that the\n  session has not expired yet\n*/\n\n// if it is still valid, continue on ...\nfs.readFile('/tmp/sess_1234567890abcdef', function(err, b) {\n  if (err) throw err;\n  console.dir(parser(b.toString('utf8')));\n  /*\n     for a $_SESSION that contains:\n        [\"0\"]=>\n        string(3) \"foo\"\n        [\"a\"]=>\n        string(5) \"apple\"\n        [\"b\"]=>\n        bool(false)\n        [\"c\"]=>\n        array(3) {\n          [0]=>\n          int(17)\n          [1]=>\n          float(1.5)\n          [2]=>\n          string(1) \"x\"\n        }\n        [\"d\"]=>\n        array(0) {\n        }\n\n    the parser will return an object that looks like:\n      {\n        0: 'foo',\n        a: 'apple',\n        b: false,\n        c: [ 17, 1.5, 'x' ],\n        d: []\n      }\n  */\n});\n```\n\n```javascript\nvar parser = require('groan');\n\nvar serialized = 'a:5:{i:0;s:3:\"foo\";s:1:\"a\";s:5:\"apple\";s:1:\"b\";b:0;s:1:\"c\";a:3:{i:0;i:17;i:1;d:1.5;i:2;s:1:\"x\";}s:1:\"d\";a:0:{}}';\nconsole.dir(parser(serialized));\n\n// output:\n// { '0': 'foo', a: 'apple', b: false, c: [ 17, 1.5, 'x' ], d: [] }\n```\n\n\nNotes\n=====\n\n* References and recursion are not currently supported (currently returns `undefined`)\n\n* The parser assumes the session file data is in the valid PHP session serialized format\n","readmeFilename":"README.md","_id":"groan@0.1.2","dist":{"shasum":"21e2bb3ba47ec1a6f7d3ddf8992b3c175d2edb6f","tarball":"https://registry.npmjs.org/groan/-/groan-0.1.2.tgz","integrity":"sha512-qWpA1A8yoo3kXhHPMVlivGN325wxNjlTuiJsakhLnSSI25QQmV/sjxjq29+3YP+VtYQHqxnGoCtEZb+F/ksluw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAUEzrN97WR7BwRRnngEXJjnlJks0bjB5AVYghBe6Za+AiEAkrFqwob80IwKkFeJ/RMylrlMgcKEEXvdINZDKmsABfc="}]},"_from":"https://github.com/mscdex/groan/tarball/v0.1.2","_resolved":"https://github.com/mscdex/groan/tarball/v0.1.2","scripts":{},"_npmVersion":"1.2.18","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}]},"0.1.3":{"name":"groan","version":"0.1.3","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"A PHP session file parser written in JavaScript","main":"./groan","engines":{"node":">=0.2.0"},"keywords":["php","session","parser"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/groan/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/groan.git"},"readme":"Description\n===========\n\ngroan is a PHP session file parser written in JavaScript.\n\n\nRequirements\n============\n\n* JavaScript (compatible with [node.js](http://nodejs.org/))\n\n\nNode.JS Examples\n================\n\n```javascript\nvar fs = require('fs'),\n    parser = require('groan');\n\n/*\n  ideally you should first ensure (session file's\n  mtime + PHP's session.gc_maxlifetime) > Date.now() to ensure that the\n  session has not expired yet\n*/\n\n// if it is still valid, continue on ...\nfs.readFile('/tmp/sess_1234567890abcdef', function(err, b) {\n  if (err) throw err;\n  console.dir(parser(b.toString('utf8')));\n  /*\n     for a $_SESSION that contains:\n        [\"0\"]=>\n        string(3) \"foo\"\n        [\"a\"]=>\n        string(5) \"apple\"\n        [\"b\"]=>\n        bool(false)\n        [\"c\"]=>\n        array(3) {\n          [0]=>\n          int(17)\n          [1]=>\n          float(1.5)\n          [2]=>\n          string(1) \"x\"\n        }\n        [\"d\"]=>\n        array(0) {\n        }\n\n    the parser will return an object that looks like:\n      {\n        0: 'foo',\n        a: 'apple',\n        b: false,\n        c: [ 17, 1.5, 'x' ],\n        d: []\n      }\n  */\n});\n```\n\n```javascript\nvar parser = require('groan');\n\nvar serialized = 'a:5:{i:0;s:3:\"foo\";s:1:\"a\";s:5:\"apple\";s:1:\"b\";b:0;s:1:\"c\";a:3:{i:0;i:17;i:1;d:1.5;i:2;s:1:\"x\";}s:1:\"d\";a:0:{}}';\nconsole.dir(parser(serialized));\n\n// output:\n// { '0': 'foo', a: 'apple', b: false, c: [ 17, 1.5, 'x' ], d: [] }\n```\n\n\nNotes\n=====\n\n* References and recursion are not currently supported (currently returns `undefined`)\n\n* The parser assumes the session file data is in the valid PHP session serialized format\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mscdex/groan/issues"},"_id":"groan@0.1.3","dist":{"shasum":"4261a98d3857439035ac823f7cb548d5eb761ffc","tarball":"https://registry.npmjs.org/groan/-/groan-0.1.3.tgz","integrity":"sha512-BF463y8SyElA1bwOKxwng6K9a465AoIf7f7CnAGBv8l6gZhEtpqdlmeAcOCkLvQSvJ5giVGzR8sOmxtnqTExqw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBB5dfDPn89SMew3vAvsxb+eTAFqQIkOxDFh+AHyKTU+AiEAwq3VHUY8k2Suu+t81YqQ7Yv2vRbtxfmW0luJu51r7Ss="}]},"_from":"https://github.com/mscdex/groan/tarball/v0.1.3","_resolved":"https://github.com/mscdex/groan/tarball/v0.1.3","scripts":{},"_npmVersion":"1.3.8","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}]}},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"time":{"modified":"2022-06-18T14:14:59.654Z","created":"2011-10-07T11:36:02.080Z","0.0.1":"2011-10-07T11:36:03.795Z","0.1.0":"2013-02-20T03:43:11.626Z","0.1.1":"2013-03-13T08:14:50.372Z","0.1.2":"2013-05-21T13:38:53.503Z","0.1.3":"2013-09-09T14:43:53.405Z"},"author":{"name":"Brian White","email":"mscdex@mscdex.net"},"repository":{"type":"git","url":"http://github.com/mscdex/groan.git"}}