{"_id":"resin-token","_rev":"33-25c43926d9eecbc85e79413bda9670fb","name":"resin-token","description":"Resin.io session token utilities","dist-tags":{"latest":"4.2.2"},"versions":{"1.0.0":{"name":"resin-token","version":"1.0.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"chai":"~1.10.0","coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","mocha":"~2.0.1","sinon":"~1.12.2","sinon-chai":"~2.6.0"},"dependencies":{"lodash":"^3.5.0","node-localstorage":"^0.5.0","user-home":"^1.1.1"},"gitHead":"54f83b8e28e462c8fb6864fa7163830aa241a143","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@1.0.0","_shasum":"0ddec292f49aa639662e3f6d8db301d2752a610d","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.24","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"dist":{"shasum":"0ddec292f49aa639662e3f6d8db301d2752a610d","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-1.0.0.tgz","integrity":"sha512-Ut7QqQXUdmxGePM13/+kUCQEzDGglpvIEebYDKFE9Y4KoXYNskNu5BCentbPchNMz75LM1I2aeo6MfcMG8EN/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGPYdqhhdOMCRfqYcU7ZBd0cmJ+On6uCplRC3p+0nJ2gIhAMBR7CjdMq5ySZnEcNdHgZjOg9deyFd1KKC3cbCEYuaF"}]},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"resin-token","version":"1.1.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"chai":"~1.10.0","coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","mocha":"~2.0.1","sinon":"~1.12.2","sinon-chai":"~2.6.0"},"dependencies":{"atob":"^1.1.2","lodash":"^3.5.0","node-localstorage":"^0.5.0","user-home":"^1.1.1"},"gitHead":"c22a4f394768696d446bd733e999ae4a81cf104a","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@1.1.0","_shasum":"a5deddbd53fba177b367537b686e76f105ad19ec","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.24","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"dist":{"shasum":"a5deddbd53fba177b367537b686e76f105ad19ec","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-1.1.0.tgz","integrity":"sha512-hJ2tU2QTq596vOA7qKvjhCO5Nfciw+JYZN2y+Rdo081fWz+bf5krIwQLNy8roRM2AbjH8oWu6Bdat27pS5QHuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRkJRwNhcngU/VIEvmSJFsYa46k1fjhgShCQcxY2LPKAiEA1ZZh1ko9V2F391IPWt4YraDo1jIdj8kBrCOh40zjImk="}]},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.0":{"name":"resin-token","version":"1.2.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"chai":"~1.10.0","coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","mocha":"~2.0.1","sinon":"~1.12.2","sinon-chai":"~2.6.0"},"dependencies":{"atob":"^1.1.2","lodash":"^3.5.0","node-localstorage":"^0.5.0","resin-errors":"^1.0.1","user-home":"^1.1.1"},"gitHead":"790e27236581c40e1029127766a9a0e13f942bfb","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@1.2.0","_shasum":"7282bca0bd85ce7d8fdf28b352fd219acde802b7","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.24","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"dist":{"shasum":"7282bca0bd85ce7d8fdf28b352fd219acde802b7","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-1.2.0.tgz","integrity":"sha512-pv1LiFGoi3har8CAlWAaeZ6nQJgFdn7ObgmAutgE1s2kcYW5vWuklYxJ8+De2JTppdh0wC3HP20V6bF4QNOjHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHgyU8hHs9kH+t0wSwsVSEqbfKsgkbMMxO+wNCbvoX9CAiArGqafIdg7BgJyGk6HfcCRkNkNo4ayVsIrhYnEObAcug=="}]},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.3.0":{"name":"resin-token","version":"1.3.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"chai":"~1.10.0","coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","mocha":"~2.0.1","sinon":"~1.12.2","sinon-chai":"~2.6.0"},"dependencies":{"atob":"^1.1.2","lodash":"^3.5.0","node-localstorage":"^0.5.0","resin-errors":"^1.0.1","user-home":"^1.1.1"},"gitHead":"7f54560f0677af1ef62fc1b68e577ae387e8083a","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@1.3.0","_shasum":"7db8cc0a0fc1a3b954f80b8f4fbb9c4442e43c63","_from":".","_npmVersion":"2.3.0","_nodeVersion":"0.10.24","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"7db8cc0a0fc1a3b954f80b8f4fbb9c4442e43c63","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-1.3.0.tgz","integrity":"sha512-Y1o1jydOrhYAikVApXippELEgXms8ef+9tBwb+pJZg5jEZc7SM8xUxWsmtwHsZ9TYkRNM3L5hzANbML6OK3/Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcbvReAjqtZn/VVaZs1ycKMgKWeATtnby6kZJFAr0hiQIhAOTy2n4JsGVXEkUdGgfV7WX0dLwOsgOklRY/NgEe8CgI"}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0":{"name":"resin-token","version":"2.0.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","mocha":"~2.0.1","mochainon":"^1.0.0","jsdoc-to-markdown":"^1.1.1"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","node-localstorage":"^0.5.0","resin-errors":"^1.0.1","resin-settings-client":"^1.2.0"},"gitHead":"bdf1314621ade63879367e3b111a69b6575f76d9","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.0.0","_shasum":"b930a683e438b5f0b17de0963e1d82cb92e03c2d","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"b930a683e438b5f0b17de0963e1d82cb92e03c2d","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.0.0.tgz","integrity":"sha512-oopmFoOYDeo2bnAMhJr5HEcO6HpB8CA3Vdpl7Wfo8/44j42/QlfcwL4c0AR4q6uUPgRJYT97W6ZZfFIdYaPg+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/etLWu0tVpvjXkLxZAW2i1a5TigcyDdUEiViLLkwKLwIgL4lTMWlJ99g5xbwIJ7LgVNwrBvAmRZV5WyA/sGYiSKo="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.1.0":{"name":"resin-token","version":"2.1.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","mocha":"~2.0.1","mochainon":"^1.0.0","nock":"^2.6.0"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","node-localstorage":"^0.5.0","request":"^2.58.0","resin-errors":"^1.0.1","resin-settings-client":"^1.3.0"},"gitHead":"a0866622b6704fc0da1863e41ffa4071e3b3b56e","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.1.0","_shasum":"09837a4492cb052f87db07e85f38335327ec2bc8","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"09837a4492cb052f87db07e85f38335327ec2bc8","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.1.0.tgz","integrity":"sha512-FnXr4IY1ELVo2eCM6Dah5Tn2HX74cuX5rVzUhIOVov0vyjS6JLHQ3Wic1Qp5sSIGRC4G+K5TZh5hVQNtWuZ0PA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE5wb6upyVMlsxYRSZkUn6v68r83AnvGL4Z7Awz4X8MfAiAcavZ+Cu9QUB/vpm+vh3brW0KCY9dhpLBEsa4MHCDf7A=="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.2.0":{"name":"resin-token","version":"2.2.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","mocha":"~2.0.1","mochainon":"^1.0.0","nock":"^2.6.0"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","node-localstorage":"^0.5.0","request":"^2.58.0","resin-errors":"^1.0.1","resin-settings-client":"^1.3.0"},"gitHead":"de83d68cc1a2eaca86bcc3d62e93b22e4af2cdd1","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.2.0","_shasum":"a33de11836bd5169f98c4376ebb231fefe2a3db6","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"a33de11836bd5169f98c4376ebb231fefe2a3db6","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.2.0.tgz","integrity":"sha512-srsgcqSJGcxNqLAcv6bXKmWkFCMUK/yex6GA53Ts/kxPPIbuUrw06GxHLGjQHFayYnCMcjH+cdFMyTS/uDyk1Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCGqoRJJBxqy6H58qXtE9zDnR7HI361ynMz+vsDYtimQIgchrJP8V3NT+p1uFhmJaTiKPUt2wHf1IceqX4YupZrFU="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.3.0":{"name":"resin-token","version":"2.3.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","mocha":"~2.0.1","mochainon":"^1.0.0","nock":"^2.6.0"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","node-localstorage":"^0.5.0","request":"^2.58.0","resin-errors":"^1.0.1","resin-settings-client":"^1.3.0"},"gitHead":"4d57c3cfb7b6d9746b49ec5a669e06f0da9d2b7f","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.3.0","_shasum":"20623fbef549a15e3128ccf37b1ebb5adcdb837e","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"20623fbef549a15e3128ccf37b1ebb5adcdb837e","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.3.0.tgz","integrity":"sha512-RJsPmfo2A0aVXkNDsRQtwycejUBnMhow4llTJ1RrTNosj6rZuoruRKjVkQI6Txl3qOH0Pa0DsjaEJxdVuMwo+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzNVGjXod06P8tSTwBoyVR8ELnf9Yn26DpzFfpAziigAiEAqS51jzxNJcUycyjvpukoWJvmmAv5DfGlNnC0KD1i+4Q="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.0":{"name":"resin-token","version":"2.4.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","mocha":"~2.0.1","mochainon":"^1.0.0","nock":"^2.6.0","timekeeper":"0.0.5"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","node-localstorage":"^0.5.0","request":"^2.58.0","resin-errors":"^1.0.1","resin-settings-client":"^1.3.0"},"gitHead":"600d78bf06354af4d0abfb5045f26e6255672e00","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.4.0","_shasum":"e82ddd4d13e3b222ab716ba980a6eaf7782361f1","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"e82ddd4d13e3b222ab716ba980a6eaf7782361f1","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.4.0.tgz","integrity":"sha512-pwkRw1Nd8JS64B6eJuigFFJNsXG8bdWDt+h3jfScabXEqlJ8eSbpSVhDlCOISLIaDLVPaONgnpnq+PLEdHs/CA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0Cc1K3Vsvtkm8+b4orXQAs+KnETLo7OW8mundkk3lmwIhAPEh8QNVOh/edx3IKVY6N/jygJtSk7OYoVxOQyoeOsxq"}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.1":{"name":"resin-token","version":"2.4.1","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","mocha":"~2.0.1","mochainon":"^1.0.0","timekeeper":"0.0.5"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","resin-errors":"^2.0.0","resin-settings-storage":"^1.0.0"},"gitHead":"869d80a128ba31085a3c5c68e776b9e0fc817ec7","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.4.1","_shasum":"388b5a2986aea0dd438c4765a782c91ecbacefe1","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"388b5a2986aea0dd438c4765a782c91ecbacefe1","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.4.1.tgz","integrity":"sha512-KTWfxTnku3i1bnghoUt7us3nyakDhAjeYaClnQ9fDAjxMLPWuJp39uhzEFLNPcFwlQegKMouFmSj2KXw2/2fWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCC5GylmZQe4O75ZPs4u/9a2Ge51QEoxe92zdsKhbXgQwIhANyJrvadA5nXTGjb+9Pga4To+h3Y+1fGWKGf1wDOb6f4"}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.2":{"name":"resin-token","version":"2.4.2","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"gulp test","prepublish":"gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juanchiviotti@gmail.com"},"license":"MIT","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","mocha":"~2.0.1","mochainon":"^1.0.0","timekeeper":"0.0.5"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","resin-errors":"^2.0.0","resin-settings-storage":"^1.0.1"},"gitHead":"f2eccbabee747fe826b108e57bd7a0ae335d5906","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.4.2","_shasum":"eb2087de837c29c74137637733ecc7ac974b6c6b","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"resin.io","email":"accounts+npm@resin.io"},"dist":{"shasum":"eb2087de837c29c74137637733ecc7ac974b6c6b","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.4.2.tgz","integrity":"sha512-FiLcchQT+H3XGI9zTS4LBacCSqWGnpO7izAW/hq1Qzf/7n+U0P8U8u0Rtu6S1BQypHNkEjFwlAgFsXA0sGYuOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFXp6sJ16m8VRrTkPRpRn2qgLqfSDWtQigyuYcV8GhuUAiEArKb8uaGXcSTUUBqakwLX7I4uXOnCbqj0PawcoB9fCSk="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.4.3":{"name":"resin-token","version":"2.4.3","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test":"npm run test-node && npm run test-browser","test-node":"gulp test","test-browser":"karma start","prepublish":"npm test && gulp build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"coffee-script":"~1.8.0","gulp":"~3.8.10","gulp-coffee":"~2.2.0","gulp-coffeelint":"~0.4.0","gulp-mocha":"~2.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","karma":"^1.2.0","mocha":"~2.0.1","mochainon":"^1.0.0","resin-config-karma":"^1.0.4","timekeeper":"0.0.5"},"dependencies":{"atob":"^1.1.2","bluebird":"^2.9.30","resin-errors":"^2.0.0","resin-settings-storage":"^1.1.0"},"gitHead":"8a2943450950b12a896d79fe6985cc48a9f1882c","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@2.4.3","_shasum":"3be00b99e1ead42e7a81e83e57d875defd00f31b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"resin.io","email":"accounts@resin.io"},"dist":{"shasum":"3be00b99e1ead42e7a81e83e57d875defd00f31b","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-2.4.3.tgz","integrity":"sha512-gHVNchRKXw6c0Ki7zDOWYQCSSF3DKFo+1eaznXTEGRwRRRFV3HM+HnKUTY9jefuaDEqrqRAqPRh9TPi1galWdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAiLTUkfX4ttfgZjayXfiN17ZvpHZ1geNBWMXkfYVdARAiEA0qr6g0gG/OWk5AVg4iri2YfUqbT+ChK4eKbNA3Vq3Zg="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/resin-token-2.4.3.tgz_1473668626698_0.7468950438778847"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.0.0":{"name":"resin-token","version":"3.0.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"lint":"gulp lint","test":"npm run test-node && npm run test-browser","test-node":"gulp test","test-browser":"karma start","build":"gulp build","prepublish":"npm test && npm run build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"coffee-script":"~1.11.0","gulp":"^3.8.10","gulp-coffee":"^2.2.0","gulp-coffeelint":"^0.6.0","gulp-mocha":"^3.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","karma":"^1.2.0","mocha":"^3.0.0","mochainon":"^1.0.0","resin-config-karma":"^1.0.4","timekeeper":"0.1.1","resin-settings-client":"^3.5.2"},"dependencies":{"bluebird":"^3.0.0","jwt-decode":"^2.1.0","resin-errors":"^2.0.0","resin-settings-storage":"^2.0.0"},"gitHead":"f3b20a9633ba7bea76b959d7cb32c326e0f75599","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@3.0.0","_shasum":"49689bb598a46213621df466faf257ca188821cf","_from":".","_npmVersion":"4.0.2","_nodeVersion":"6.5.0","_npmUser":{"name":"resin.io","email":"accounts@resin.io"},"dist":{"shasum":"49689bb598a46213621df466faf257ca188821cf","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-3.0.0.tgz","integrity":"sha512-BooYlnjAwVmZUPqmPIN2Vz5l1UOH54T0TMPMaV6JNhkBfYGNJKfJCI2WWeu4HQhFwZnxtB1EbcvTEBNnht58zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGl3I0yROlRScAda4NdXaDbUEuD9zScn1tWhvfFpxM8uAiAjAUyFFAd3RBjNVqKHxafYjKQ0b3z3qS/mNrS8/wFZ3Q=="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/resin-token-3.0.0.tgz_1479502295253_0.6967404326424003"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.0.0":{"name":"resin-token","version":"4.0.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"lint":"gulp lint","test":"npm run test-node && npm run test-browser","test-node":"gulp test","test-browser":"karma start","build":"gulp build","prepublish":"npm test && npm run build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"coffee-script":"~1.11.0","gulp":"^3.8.10","gulp-coffee":"^2.2.0","gulp-coffeelint":"^0.6.0","gulp-mocha":"^3.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","karma":"^1.2.0","mocha":"^3.0.0","mochainon":"^1.0.0","resin-config-karma":"^1.0.4","timekeeper":"0.1.1","resin-settings-client":"^3.5.2"},"dependencies":{"bluebird":"^3.0.0","jwt-decode":"^2.1.0","resin-errors":"^2.0.0","resin-settings-storage":"^3.0.0"},"gitHead":"b1b15aa583de8aadffbf42a4e7aabe8ec75c18bb","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@4.0.0","_shasum":"297c8c4b811cd2c18b3947fd32efeac08b4eb0f7","_from":".","_npmVersion":"4.0.3","_nodeVersion":"7.2.1","_npmUser":{"name":"resin.io","email":"accounts@resin.io"},"dist":{"shasum":"297c8c4b811cd2c18b3947fd32efeac08b4eb0f7","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-4.0.0.tgz","integrity":"sha512-2SfxP9yv6sDri15Y7mpTUgp0iTi6JdBUnuajd2WN9/FyWEP1oIvuZL1WYW5U3LUeFqwlIMcichBjvt6iDMdVCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD36SoK0b1PYAnQ8JVHTLZJ74ptHofiUnYkWhWLzl3L5gIhALqaTfMOItx0iK0SI7ey3Ff6/Q5br6CqYDP72NWJkN1m"}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/resin-token-4.0.0.tgz_1490781261613_0.9048110833391547"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.1.0":{"name":"resin-token","version":"4.1.0","description":"Resin.io session token utilities","main":"build/token.js","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"lint":"gulp lint","test":"npm run test-node && npm run test-browser","test-node":"gulp test","test-browser":"karma start","build":"gulp build","prepublish":"npm test && npm run build","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"coffee-script":"~1.12.5","gulp":"^3.8.10","gulp-coffee":"^2.2.0","gulp-coffeelint":"^0.6.0","gulp-mocha":"^3.0.0","gulp-util":"~3.0.1","jsdoc-to-markdown":"^1.1.1","jsonwebtoken":"^7.3.0","karma":"^1.2.0","mocha":"^3.0.0","mochainon":"^1.0.0","resin-config-karma":"^1.0.4","resin-settings-client":"^3.5.2","timekeeper":"0.1.1"},"dependencies":{"bluebird":"^3.0.0","jwt-decode":"^2.1.0","resin-errors":"^2.0.0","resin-settings-storage":"^3.0.0"},"gitHead":"74dca8f7af12448f71b4093c40fbfbc2bca24856","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@4.1.0","_shasum":"43d1e9f5d3dfcbc86bbdaca4f2b6bf9da075fa00","_from":".","_npmVersion":"4.5.0","_nodeVersion":"7.7.3","_npmUser":{"name":"resin.io","email":"accounts@resin.io"},"dist":{"shasum":"43d1e9f5d3dfcbc86bbdaca4f2b6bf9da075fa00","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-4.1.0.tgz","integrity":"sha512-u/YeamYobe+4vxslKdumV/pCrP4nGS4zxXJXv0IOvYStbIIQiEb/Hrq5h5XutuPV2MMFOzssmFVj1k+onpW18A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQCujh/57EtxQGrx32oU8UJT5OjRLV3Ll3yIVvwrmfQQIgaUy3QhMe80E2mWVUf1DcP5dCHpM5FOSukylyLdRTzfo="}]},"maintainers":[{"name":"resin.io","email":"accounts+npm@resin.io"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/resin-token-4.1.0.tgz_1492980103629_0.34693921846337616"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.2.0":{"name":"resin-token","version":"4.2.0","description":"Resin.io session token utilities","main":"build/token.js","types":"lib/token.ts","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test:node":"mocha -r ts-node/register --reporter spec tests/**/*.spec.ts","test:browser":"karma start","lint":"tslint \"lib/**/*.ts\" \"tests/**/*.ts\"","test":"npm run build && npm run lint && npm run test:node && npm run test:browser","build":"rimraf ./build && npm run prettify && tsc && npm run readme","prepublish":"require-npm4-to-publish","prepublishOnly":"npm test","prettify":"prettier --use-tabs --single-quote --write \"lib/*.ts\" \"tests/**/*.ts\"","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"@resin.io/types-mochainon":"^2.0.1","@resin.io/types-timekeeper":"^1.0.0","@types/jsonwebtoken":"^7.2.3","@types/mocha":"^2.2.42","@types/node":"^8.0.26","jsdoc-to-markdown":"^3.0.0","jsonwebtoken":"^7.3.0","karma":"^1.7.0","mocha":"^3.5.0","mochainon":"^2.0.0","prettier":"^1.5.3","require-npm4-to-publish":"^1.0.0","resin-config-karma":"^2.0.0","resin-settings-client":"^3.7.0","rimraf":"^2.6.1","timekeeper":"1.0.0","ts-node":"^3.3.0","tslint":"^5.5.0","typescript":"2.4.2"},"dependencies":{"@types/bluebird":"^3.5.8","@types/jwt-decode":"^2.2.1","bluebird":"^3.0.0","jwt-decode":"^2.1.0","resin-errors":"^2.8.0","resin-settings-storage":"^4.0.0"},"gitHead":"60eb4baf52d27b009faad925dd5cbf303ddc3b2d","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@4.2.0","_shasum":"fd248c68a47c8506caa4b4086fc975f1c5026a67","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.4.0","_npmUser":{"name":"resin.io","email":"accounts@resin.io"},"dist":{"shasum":"fd248c68a47c8506caa4b4086fc975f1c5026a67","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-4.2.0.tgz","integrity":"sha512-JZiOh65yrKnMQpemY4Pq/96NhrCzvBgzaefPUF9mb8xlS8jd2sXptD5bDdn7c1i+4/mlsXgEeqJmJ6Bd/1BuUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/xn9uxHIcMmWcw3ACQ+KYkCI/bhZ4IOs7M1nEKD2hxAIhAMG9VSaUN2hQCMhE1T34va+8qihL5ZgKW923um+t77g7"}]},"maintainers":[{"email":"accounts@resin.io","name":"resin.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resin-token-4.2.0.tgz_1504275695611_0.8884977193083614"},"deprecated":"this release contains breaking changes"},"4.2.1":{"name":"resin-token","version":"4.2.1","description":"Resin.io session token utilities","main":"build/token.js","types":"lib/token.ts","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test:node":"mocha -r ts-node/register --reporter spec tests/**/*.spec.ts","test:browser":"karma start","lint":"tslint \"lib/**/*.ts\" \"tests/**/*.ts\"","test":"npm run build && npm run lint && npm run test:node && npm run test:browser","build":"rimraf ./build && npm run prettify && tsc && npm run readme","prepublish":"require-npm4-to-publish","prepublishOnly":"npm test","prettify":"prettier --use-tabs --single-quote --write \"lib/*.ts\" \"tests/**/*.ts\"","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"@resin.io/types-mochainon":"^2.0.1","@resin.io/types-timekeeper":"^1.0.0","@types/jsonwebtoken":"^7.2.3","@types/mocha":"^2.2.42","@types/node":"^8.0.26","jsdoc-to-markdown":"^3.0.0","jsonwebtoken":"^7.3.0","karma":"^1.7.0","mocha":"^3.5.0","mochainon":"^2.0.0","prettier":"^1.5.3","require-npm4-to-publish":"^1.0.0","resin-config-karma":"^2.0.0","resin-settings-client":"^3.7.0","rimraf":"^2.6.1","timekeeper":"1.0.0","ts-node":"^3.3.0","tslint":"^5.5.0","typescript":"2.4.2"},"dependencies":{"@types/bluebird":"^3.5.8","@types/jwt-decode":"^2.2.1","bluebird":"^3.0.0","jwt-decode":"^2.1.0","resin-errors":"^2.8.0","resin-settings-storage":"^4.0.0"},"gitHead":"ad1db4d51c982999454193ba1d540871bc0e6eec","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@4.2.1","_shasum":"85a7d4d92f70b7f5b92dc73ed67d7d61c0a08743","_from":".","_npmVersion":"4.1.1","_nodeVersion":"6.9.4","_npmUser":{"name":"resin.io","email":"accounts@resin.io"},"dist":{"shasum":"85a7d4d92f70b7f5b92dc73ed67d7d61c0a08743","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-4.2.1.tgz","integrity":"sha512-qxtDdP/N972zkZ2LRYuQ+GgUWbvY8y+NTHDBUZpgOEu03FXPFnMV53m0ZbKhOym0sVqUgvViOaMH8OuTWwP1RA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH1R2tA2nQP0AJWKnL4Q4bDPOcvZgghIB3CaZweaKT/sAiAOI1PvyzG5MuZpxOZxF/jr0Rzxtv2PBaj5vsJkUjVGOA=="}]},"maintainers":[{"email":"accounts@resin.io","name":"resin.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resin-token-4.2.1.tgz_1504600110545_0.36752937315031886"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.2.2-use-d-ts-cc05d37329564e667058517982cef108a34d3f4a":{"name":"resin-token","version":"4.2.2-use-d-ts-cc05d37329564e667058517982cef108a34d3f4a","description":"Resin.io session token utilities","main":"build/token.js","types":"build/token.d.ts","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test:node":"mocha -r ts-node/register/transpile-only --reporter spec tests/**/*.spec.ts","test:browser":"karma start","lint":"tslint \"lib/**/*.ts\" \"tests/**/*.ts\"","test":"npm run build && npm run lint && npm run test:node && npm run test:browser","build":"rimraf ./build && npm run prettify && tsc && npm run readme","prepublish":"require-npm4-to-publish","prepare":"npm test","prettify":"prettier --use-tabs --single-quote --write \"lib/*.ts\" \"tests/**/*.ts\"","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"@resin.io/types-mochainon":"^2.0.1","@resin.io/types-timekeeper":"^1.0.0","@types/jsonwebtoken":"^7.2.3","@types/mocha":"^2.2.42","@types/node":"^8.0.26","jsdoc-to-markdown":"^3.0.0","jsonwebtoken":"^7.3.0","karma":"^1.7.0","mocha":"^3.5.0","mochainon":"^2.0.0","prettier":"^1.5.3","require-npm4-to-publish":"^1.0.0","resin-config-karma":"^2.0.0","resin-settings-client":"^3.7.0","rimraf":"^2.6.1","timekeeper":"1.0.0","ts-node":"^7.0.1","tslint":"^5.5.0","typescript":"^3.4.5"},"dependencies":{"@types/bluebird":"^3.5.8","@types/jwt-decode":"^2.2.1","bluebird":"^3.0.0","jwt-decode":"^2.1.0","resin-errors":"^2.8.0","resin-settings-storage":"^4.0.0"},"readme":"resin-token\n-----------\n\n[![npm version](https://badge.fury.io/js/resin-token.svg)](http://badge.fury.io/js/resin-token)\n[![dependencies](https://david-dm.org/resin-io/resin-token.png)](https://david-dm.org/resin-io/resin-token.png)\n[![Build Status](https://travis-ci.org/resin-io/resin-token.svg?branch=master)](https://travis-ci.org/resin-io/resin-token)\n[![Build status](https://ci.appveyor.com/api/projects/status/i01h2qi3raf0acm7?svg=true)](https://ci.appveyor.com/project/jviotti/resin-token)\n\nJoin our online chat at [![Gitter chat](https://badges.gitter.im/resin-io/chat.png)](https://gitter.im/resin-io/chat)\n\nResin.io session token utilities.\n\nRole\n----\n\nThe intention of this module is to provide low level access to how a Resin.io session token is parsed and persisted.\n\n**THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY**.\n\nUnless you know what you're doing, use the [Resin SDK](https://github.com/resin-io/resin-sdk) instead.\n\nInstallation\n------------\n\nInstall `resin-token` by running:\n\n```sh\n$ npm install --save resin-token\n```\n\nDocumentation\n-------------\n\nThe module returns a _factory function_ that you use to get an instance of the token module.\n\nIt accepts the following params:\n\n| Param | Type | Description |\n| --- | --- | --- |\n| options | <code>Object</code> | options |\n| options.dataDirectory | <code>string</code> | the directory to use for storage in Node.js. Ignored in the browser. |\n\n**Example**\n```js\nconst token = require('resin-token')({\n\tdataDirectory: '/opt/cache/resin'\n})\n```\n\n\n* [token](#module_token)\n    * [~parse(token)](#module_token..parse) ⇒ <code>Promise.&lt;Object&gt;</code>\n    * [~isValid(token)](#module_token..isValid) ⇒ <code>Promise.&lt;Boolean&gt;</code>\n    * [~isExpired()](#module_token..isExpired) ⇒ <code>Promise.&lt;boolean&gt;</code>\n    * [~set(token)](#module_token..set) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~get()](#module_token..get) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~has()](#module_token..has) ⇒ <code>Promise.&lt;Boolean&gt;</code>\n    * [~remove()](#module_token..remove) ⇒ <code>Promise</code>\n    * [~getData()](#module_token..getData) ⇒ <code>Promise.&lt;Object&gt;</code>\n    * [~getProperty(property)](#module_token..getProperty) ⇒ <code>Promise.&lt;\\*&gt;</code>\n    * [~getUsername()](#module_token..getUsername) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~getUserId()](#module_token..getUserId) ⇒ <code>Promise.&lt;Number&gt;</code>\n    * [~getEmail()](#module_token..getEmail) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~getAge()](#module_token..getAge) ⇒ <code>Promise.&lt;Number&gt;</code>\n\n<a name=\"module_token..parse\"></a>\n\n### token~parse(token) ⇒ <code>Promise.&lt;Object&gt;</code>\nThis function does't save the token. Use `token.set()` if you want to persist it afterwards.\nThe returned promise is rejected if the token is invalid.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Parse a token  \n**Returns**: <code>Promise.&lt;Object&gt;</code> - parsed token  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| token | <code>String</code> | token |\n\n**Example**  \n```js\ntoken.parse('...').then((parsedTokenData) => {\n\tconsole.log(parsedTokenData);\n});\n```\n<a name=\"module_token..isValid\"></a>\n\n### token~isValid(token) ⇒ <code>Promise.&lt;Boolean&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Check if a token is valid  \n**Returns**: <code>Promise.&lt;Boolean&gt;</code> - is valid  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| token | <code>String</code> | token |\n\n**Example**  \n```js\ntoken.isValid('...').then((isValid) => {\n\tif (isValid) {\n\t\tconsole.log('The token is valid!');\n\t}\n});\n```\n<a name=\"module_token..isExpired\"></a>\n\n### token~isExpired() ⇒ <code>Promise.&lt;boolean&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Check if the given token has expired  \n**Access**: public  \n**Example**  \n```js\ntoken.isExpired(jwtToken).then((isExpired) => {\n\tconsole.log(isExpired);\n});\n```\n<a name=\"module_token..set\"></a>\n\n### token~set(token) ⇒ <code>Promise.&lt;String&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Set the token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - token  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| token | <code>String</code> | token |\n\n**Example**  \n```js\ntoken.set('...');\n```\n<a name=\"module_token..get\"></a>\n\n### token~get() ⇒ <code>Promise.&lt;String&gt;</code>\nThis function resolved to undefined if no token.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - token  \n**Access**: public  \n**Example**  \n```js\ntoken.get().then((sessionToken) => {\n\tconsole.log(sessionToken);\n});\n```\n<a name=\"module_token..has\"></a>\n\n### token~has() ⇒ <code>Promise.&lt;Boolean&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Has a token  \n**Returns**: <code>Promise.&lt;Boolean&gt;</code> - has token  \n**Access**: public  \n**Example**  \n```js\ntoken.has().then((hasToken) => {\n\tif (hasToken) {\n\t\tconsole.log('There is a token!');\n\t} else {\n\t\tconsole.log('There is not a token!');\n\t}\n});\n```\n<a name=\"module_token..remove\"></a>\n\n### token~remove() ⇒ <code>Promise</code>\nThis promise is not rejected if there was no token at the time of removal.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Remove the token  \n**Access**: public  \n**Example**  \n```js\ntoken.remove();\n```\n<a name=\"module_token..getData\"></a>\n\n### token~getData() ⇒ <code>Promise.&lt;Object&gt;</code>\nIt will resolve to `undefined` if there's no saved token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the data encoded in the saved token  \n**Returns**: <code>Promise.&lt;Object&gt;</code> - token data  \n**Access**: public  \n**Example**  \n```js\ntoken.getData().then((parsedTokenData) => {\n\tconsole.log(parsedTokenData);\n});\n```\n<a name=\"module_token..getProperty\"></a>\n\n### token~getProperty(property) ⇒ <code>Promise.&lt;\\*&gt;</code>\nThis function resolves to `undefined` for any property name if there is no token.\nIt also resolved to `undefined` if the property name is invalid.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get a property from a saved token  \n**Returns**: <code>Promise.&lt;\\*&gt;</code> - property value  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| property | <code>String</code> | property name |\n\n**Example**  \n```js\ntoken.getProperty('username').then((username) => {\n\tconsole.log(username);\n});\n```\n<a name=\"module_token..getUsername\"></a>\n\n### token~getUsername() ⇒ <code>Promise.&lt;String&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the username of the saved token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - username  \n**Access**: public  \n**Example**  \n```js\ntoken.getUsername().then((username) => {\n\tconsole.log(username);\n});\n```\n<a name=\"module_token..getUserId\"></a>\n\n### token~getUserId() ⇒ <code>Promise.&lt;Number&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the user id of the saved token  \n**Returns**: <code>Promise.&lt;Number&gt;</code> - user id  \n**Access**: public  \n**Example**  \n```js\ntoken.getUserId().then((userId) => {\n\tconsole.log(userId);\n});\n```\n<a name=\"module_token..getEmail\"></a>\n\n### token~getEmail() ⇒ <code>Promise.&lt;String&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the email of the saved token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - email  \n**Access**: public  \n**Example**  \n```js\ntoken.getEmail().then((email) =>\n\tconsole.log(email);\n});\n```\n<a name=\"module_token..getAge\"></a>\n\n### token~getAge() ⇒ <code>Promise.&lt;Number&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the age of the saved token  \n**Returns**: <code>Promise.&lt;Number&gt;</code> - age in milliseconds  \n**Access**: public  \n**Example**  \n```js\ntoken.getAge().then((age) => {\n\tconsole.log(age);\n});\n```\n\nSupport\n-------\n\nIf you're having any problem, please [raise an issue](https://github.com/resin-io/resin-token/issues/new) on GitHub and the Resin.io team will be happy to help.\n\nTests\n-----\n\nRun the test suite by doing:\n\n```sh\n$ npm test\n```\n\nContribute\n----------\n\n- Issue Tracker: [github.com/resin-io/resin-token/issues](https://github.com/resin-io/resin-token/issues)\n- Source Code: [github.com/resin-io/resin-token](https://github.com/resin-io/resin-token)\n\nBefore submitting a PR, please make sure that you include tests, and that [coffeelint](http://www.coffeelint.org/) runs without any warning:\n\n```sh\n$ npm run lint\n```\n\nLicense\n-------\n\nThe project is licensed under the Apache 2.0 license.\n","readmeFilename":"README.md","gitHead":"cc05d37329564e667058517982cef108a34d3f4a","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@4.2.2-use-d-ts-cc05d37329564e667058517982cef108a34d3f4a","_nodeVersion":"10.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-vugKlbaIlRf/76282a6k1lRhinAc34kQc5VW/dYIRDciGnR6RthvvS43bRITn2HULglXrvFug6nY+vVqfFXI9Q==","shasum":"49a5e20910cd6aea1d3e3d01557b59412af3d5d7","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-4.2.2-use-d-ts-cc05d37329564e667058517982cef108a34d3f4a.tgz","fileCount":18,"unpackedSize":68660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1ZUgCRA9TVsSAnZWagAAoM0QAJJaaY+l0evbiq0s+IRy\nJx0WainfwlDMJitU999nGxZAsIfe/sA8U+Jx1D7qD+l6DK3hEBECmPW0mjvC\n8eMfnTZRLkiV9797cXT5cnk1e1YO5ZOamjML85Mk6lkX6SjCdHhefVL2uhNJ\nFHM6AWH9KXyorzISJUgtGGx60iw5VCsaXa7Ix9J4mEPBd6tphtQultzMqLp/\nE8VrEkIuWlcdkQ3sXekWhvqzQy8Qhxbff4VmHqGj0D/7uba1lLNF/RyrxKni\nJZDaeFic+PUh2bN4xO+Beg757gjngQ1c4BHjYua/RyzByFEWrwE4i4VUDJt+\nqVg5HoDktkptS2aqi5kRzSTUTZPdHdmgS7uYpxzv/5t+jmjWxzN2ciEcBAzQ\nrogOl7oOfRxXXDWM8f5A4RGwSQUhOdE/uztCIfFCRsZJlkSkfnf+ZSkGYf6E\n6rgexn3xSqPuOyjkC8NP5sMUQETmPKwDXUQsTju7onjN7wM9qc44bymaN1XZ\ntZXRwob/sOAOH4HsHtP8pvUWWrMJbRyGp/D6WuDIgaqpKu/BmHY5RzVwEZGX\nfBj3ORi2RMP5fzxz0waPZJCl2Lq3J2v6HtE0eK1wtyu/I/ACap29wGLbHZpY\naz6176UA9hktKUcCEStELr0PqKwlHVzaQllAXEJ5UHEGS0NB50A0iBNqsCbD\nnPAz\r\n=iDSL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE5+GW5pUGj4WD+8ShQBbPPPBWO4+hC78BdZLsgrxeQTAiAPUAxi5GUCKp9u3gg7DAeV7FNhRZtQ0V3oUbZDBohSyQ=="}]},"maintainers":[{"email":"accounts+npm@balena.io","name":"balena.io"}],"_npmUser":{"name":"balena.io","email":"accounts+npm@balena.io"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resin-token_4.2.2-use-d-ts-cc05d37329564e667058517982cef108a34d3f4a_1557501215643_0.7805635838870166"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.2.2":{"name":"resin-token","version":"4.2.2","description":"Resin.io session token utilities","main":"build/token.js","types":"build/token.d.ts","homepage":"https://github.com/resin-io/resin-token","repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"keywords":["resin","token","session"],"directories":{"test":"tests"},"scripts":{"test:node":"mocha -r ts-node/register/transpile-only --reporter spec tests/**/*.spec.ts","test:browser":"karma start","lint":"tslint \"lib/**/*.ts\" \"tests/**/*.ts\"","test":"npm run build && npm run lint && npm run test:node && npm run test:browser","build":"rimraf ./build && npm run prettify && tsc && npm run readme","prepublish":"require-npm4-to-publish","prepare":"npm test","prettify":"prettier --use-tabs --single-quote --write \"lib/*.ts\" \"tests/**/*.ts\"","readme":"jsdoc2md --template doc/README.hbs build/token.js > README.md"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"license":"Apache-2.0","devDependencies":{"@resin.io/types-mochainon":"^2.0.1","@resin.io/types-timekeeper":"^1.0.0","@types/jsonwebtoken":"^7.2.3","@types/mocha":"^2.2.42","@types/node":"^8.0.26","jsdoc-to-markdown":"^3.0.0","jsonwebtoken":"^7.3.0","karma":"^1.7.0","mocha":"^3.5.0","mochainon":"^2.0.0","prettier":"^1.5.3","require-npm4-to-publish":"^1.0.0","resin-config-karma":"^2.0.0","resin-settings-client":"^3.7.0","rimraf":"^2.6.1","timekeeper":"1.0.0","ts-node":"^7.0.1","tslint":"^5.5.0","typescript":"^3.4.5"},"dependencies":{"@types/bluebird":"^3.5.8","@types/jwt-decode":"^2.2.1","bluebird":"^3.0.0","jwt-decode":"^2.1.0","resin-errors":"^2.8.0","resin-settings-storage":"^4.0.0"},"gitHead":"879b7d32a5cbf38a609fa90b20b8f88c5ed3c32b","bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"_id":"resin-token@4.2.2","_nodeVersion":"10.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-kVmprszwMF0Zl3EBksJD5j81g5KUOuIWBbEURZazZzH8GaBsviKtiZaCpGqVXLtg2YroakH5E6faH1oIr55PDA==","shasum":"1a9ea4be5496ba07d5cfb9fd7eec823612092711","tarball":"https://registry.npmjs.org/resin-token/-/resin-token-4.2.2.tgz","fileCount":18,"unpackedSize":68610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1ZrFCRA9TVsSAnZWagAAxnEP/ipKSaP0yZE1V0tsb0ol\nz80TTs/UaO4tbc30VIahCcz0nfkuNCmDplNmVBa5mzYNVF12mG7goJwx7Et9\nDUUfTtf22steTtewhRI0HFJhBq24iVuz8DKzleXpwLgTCw31oPtG4aVuGq23\nm9Udnx5WOGtE+IZxkbJ7f38dEOdS6RoT2srQwRwAHwOYgWI26GiHCWO6YcKf\nnXEakGVocvzYpqeAu6O+EELQcL8hcCphqY/ypnCw8jvvozqq5aGqkG3fPq0q\nnqstW45MMdyNTXR7LMDGkzlQK+5iis6EHgYhDKn8yJltxqQagPkoNOhDrVGN\n8KQ07zHuvEBdJ38IN2npyZDv2H38Q5jMq3K5DhAByE9MQq885ELwGqHlxcm+\nGT/44iiwdeJXow3kf/uWcdVxP2dGEhopKe4o7E6QBlXAqb/0xlPL+v+eNrUw\naDhc2+nyaKXqoZI906d3F1LC1Z559cm4bGxI5NUiun/vXXRMDJGBDFOxO9IG\nR+VZYsg5uJK2Di0UN/5E4im3lEx+awGF2rNMOv8WLvyrpN34P5HZzLM1ofZ+\n+quT6mkKMQ2dU+xF1W7RD0aA85Ff0gwmAD1kIUV9VAOgfEejchS2aaxXe8s5\nT6Li5ckwPIBugB/lzncSZUiotqEIDnz6Stdn48LKJRvuQACw+yxP292jH2Mt\nK9Mt\r\n=mXg8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFSgPZFYsvZT2It2GGnznR3VDJo25Gyfs6HNmjg+iMKFAiEA/mclFLjwBoE/iSv0cdDmyNvtM5pVLEiG4Dm47tTAJLg="}]},"maintainers":[{"email":"accounts+npm@balena.io","name":"balena.io"}],"_npmUser":{"name":"balena.io","email":"accounts+npm@balena.io"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/resin-token_4.2.2_1557502660855_0.027648507477727957"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"readme":"resin-token\n-----------\n\n[![npm version](https://badge.fury.io/js/resin-token.svg)](http://badge.fury.io/js/resin-token)\n[![dependencies](https://david-dm.org/resin-io/resin-token.png)](https://david-dm.org/resin-io/resin-token.png)\n[![Build Status](https://travis-ci.org/resin-io/resin-token.svg?branch=master)](https://travis-ci.org/resin-io/resin-token)\n[![Build status](https://ci.appveyor.com/api/projects/status/i01h2qi3raf0acm7?svg=true)](https://ci.appveyor.com/project/jviotti/resin-token)\n\nJoin our online chat at [![Gitter chat](https://badges.gitter.im/resin-io/chat.png)](https://gitter.im/resin-io/chat)\n\nResin.io session token utilities.\n\nRole\n----\n\nThe intention of this module is to provide low level access to how a Resin.io session token is parsed and persisted.\n\n**THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY**.\n\nUnless you know what you're doing, use the [Resin SDK](https://github.com/resin-io/resin-sdk) instead.\n\nInstallation\n------------\n\nInstall `resin-token` by running:\n\n```sh\n$ npm install --save resin-token\n```\n\nDocumentation\n-------------\n\nThe module returns a _factory function_ that you use to get an instance of the token module.\n\nIt accepts the following params:\n\n| Param | Type | Description |\n| --- | --- | --- |\n| options | <code>Object</code> | options |\n| options.dataDirectory | <code>string</code> | the directory to use for storage in Node.js. Ignored in the browser. |\n\n**Example**\n```js\nconst token = require('resin-token')({\n\tdataDirectory: '/opt/cache/resin'\n})\n```\n\n\n* [token](#module_token)\n    * [~parse(token)](#module_token..parse) ⇒ <code>Promise.&lt;Object&gt;</code>\n    * [~isValid(token)](#module_token..isValid) ⇒ <code>Promise.&lt;Boolean&gt;</code>\n    * [~isExpired()](#module_token..isExpired) ⇒ <code>Promise.&lt;boolean&gt;</code>\n    * [~set(token)](#module_token..set) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~get()](#module_token..get) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~has()](#module_token..has) ⇒ <code>Promise.&lt;Boolean&gt;</code>\n    * [~remove()](#module_token..remove) ⇒ <code>Promise</code>\n    * [~getData()](#module_token..getData) ⇒ <code>Promise.&lt;Object&gt;</code>\n    * [~getProperty(property)](#module_token..getProperty) ⇒ <code>Promise.&lt;\\*&gt;</code>\n    * [~getUsername()](#module_token..getUsername) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~getUserId()](#module_token..getUserId) ⇒ <code>Promise.&lt;Number&gt;</code>\n    * [~getEmail()](#module_token..getEmail) ⇒ <code>Promise.&lt;String&gt;</code>\n    * [~getAge()](#module_token..getAge) ⇒ <code>Promise.&lt;Number&gt;</code>\n\n<a name=\"module_token..parse\"></a>\n\n### token~parse(token) ⇒ <code>Promise.&lt;Object&gt;</code>\nThis function does't save the token. Use `token.set()` if you want to persist it afterwards.\nThe returned promise is rejected if the token is invalid.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Parse a token  \n**Returns**: <code>Promise.&lt;Object&gt;</code> - parsed token  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| token | <code>String</code> | token |\n\n**Example**  \n```js\ntoken.parse('...').then((parsedTokenData) => {\n\tconsole.log(parsedTokenData);\n});\n```\n<a name=\"module_token..isValid\"></a>\n\n### token~isValid(token) ⇒ <code>Promise.&lt;Boolean&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Check if a token is valid  \n**Returns**: <code>Promise.&lt;Boolean&gt;</code> - is valid  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| token | <code>String</code> | token |\n\n**Example**  \n```js\ntoken.isValid('...').then((isValid) => {\n\tif (isValid) {\n\t\tconsole.log('The token is valid!');\n\t}\n});\n```\n<a name=\"module_token..isExpired\"></a>\n\n### token~isExpired() ⇒ <code>Promise.&lt;boolean&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Check if the given token has expired  \n**Access**: public  \n**Example**  \n```js\ntoken.isExpired(jwtToken).then((isExpired) => {\n\tconsole.log(isExpired);\n});\n```\n<a name=\"module_token..set\"></a>\n\n### token~set(token) ⇒ <code>Promise.&lt;String&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Set the token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - token  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| token | <code>String</code> | token |\n\n**Example**  \n```js\ntoken.set('...');\n```\n<a name=\"module_token..get\"></a>\n\n### token~get() ⇒ <code>Promise.&lt;String&gt;</code>\nThis function resolved to undefined if no token.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - token  \n**Access**: public  \n**Example**  \n```js\ntoken.get().then((sessionToken) => {\n\tconsole.log(sessionToken);\n});\n```\n<a name=\"module_token..has\"></a>\n\n### token~has() ⇒ <code>Promise.&lt;Boolean&gt;</code>\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Has a token  \n**Returns**: <code>Promise.&lt;Boolean&gt;</code> - has token  \n**Access**: public  \n**Example**  \n```js\ntoken.has().then((hasToken) => {\n\tif (hasToken) {\n\t\tconsole.log('There is a token!');\n\t} else {\n\t\tconsole.log('There is not a token!');\n\t}\n});\n```\n<a name=\"module_token..remove\"></a>\n\n### token~remove() ⇒ <code>Promise</code>\nThis promise is not rejected if there was no token at the time of removal.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Remove the token  \n**Access**: public  \n**Example**  \n```js\ntoken.remove();\n```\n<a name=\"module_token..getData\"></a>\n\n### token~getData() ⇒ <code>Promise.&lt;Object&gt;</code>\nIt will resolve to `undefined` if there's no saved token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the data encoded in the saved token  \n**Returns**: <code>Promise.&lt;Object&gt;</code> - token data  \n**Access**: public  \n**Example**  \n```js\ntoken.getData().then((parsedTokenData) => {\n\tconsole.log(parsedTokenData);\n});\n```\n<a name=\"module_token..getProperty\"></a>\n\n### token~getProperty(property) ⇒ <code>Promise.&lt;\\*&gt;</code>\nThis function resolves to `undefined` for any property name if there is no token.\nIt also resolved to `undefined` if the property name is invalid.\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get a property from a saved token  \n**Returns**: <code>Promise.&lt;\\*&gt;</code> - property value  \n**Access**: public  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| property | <code>String</code> | property name |\n\n**Example**  \n```js\ntoken.getProperty('username').then((username) => {\n\tconsole.log(username);\n});\n```\n<a name=\"module_token..getUsername\"></a>\n\n### token~getUsername() ⇒ <code>Promise.&lt;String&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the username of the saved token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - username  \n**Access**: public  \n**Example**  \n```js\ntoken.getUsername().then((username) => {\n\tconsole.log(username);\n});\n```\n<a name=\"module_token..getUserId\"></a>\n\n### token~getUserId() ⇒ <code>Promise.&lt;Number&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the user id of the saved token  \n**Returns**: <code>Promise.&lt;Number&gt;</code> - user id  \n**Access**: public  \n**Example**  \n```js\ntoken.getUserId().then((userId) => {\n\tconsole.log(userId);\n});\n```\n<a name=\"module_token..getEmail\"></a>\n\n### token~getEmail() ⇒ <code>Promise.&lt;String&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the email of the saved token  \n**Returns**: <code>Promise.&lt;String&gt;</code> - email  \n**Access**: public  \n**Example**  \n```js\ntoken.getEmail().then((email) =>\n\tconsole.log(email);\n});\n```\n<a name=\"module_token..getAge\"></a>\n\n### token~getAge() ⇒ <code>Promise.&lt;Number&gt;</code>\nThis function resolves to `undefined` if there is no token\n\n**Kind**: inner method of [<code>token</code>](#module_token)  \n**Summary**: Get the age of the saved token  \n**Returns**: <code>Promise.&lt;Number&gt;</code> - age in milliseconds  \n**Access**: public  \n**Example**  \n```js\ntoken.getAge().then((age) => {\n\tconsole.log(age);\n});\n```\n\nSupport\n-------\n\nIf you're having any problem, please [raise an issue](https://github.com/resin-io/resin-token/issues/new) on GitHub and the Resin.io team will be happy to help.\n\nTests\n-----\n\nRun the test suite by doing:\n\n```sh\n$ npm test\n```\n\nContribute\n----------\n\n- Issue Tracker: [github.com/resin-io/resin-token/issues](https://github.com/resin-io/resin-token/issues)\n- Source Code: [github.com/resin-io/resin-token](https://github.com/resin-io/resin-token)\n\nBefore submitting a PR, please make sure that you include tests, and that [coffeelint](http://www.coffeelint.org/) runs without any warning:\n\n```sh\n$ npm run lint\n```\n\nLicense\n-------\n\nThe project is licensed under the Apache 2.0 license.\n","maintainers":[{"email":"accounts+npm@balena.io","name":"balena.io"}],"time":{"modified":"2022-07-06T12:16:19.667Z","created":"2015-03-18T17:43:59.650Z","1.0.0":"2015-03-18T17:43:59.650Z","1.1.0":"2015-03-19T17:23:10.023Z","1.2.0":"2015-03-19T18:21:43.072Z","1.3.0":"2015-05-16T11:55:00.056Z","2.0.0":"2015-06-18T15:40:43.839Z","2.1.0":"2015-06-19T15:06:51.908Z","2.2.0":"2015-06-26T12:01:10.428Z","2.3.0":"2015-07-09T16:10:11.857Z","2.4.0":"2015-07-17T13:48:58.864Z","2.4.1":"2015-08-06T15:24:28.683Z","2.4.2":"2015-09-07T07:00:46.615Z","2.4.3":"2016-09-12T08:23:48.578Z","3.0.0":"2016-11-18T20:51:35.945Z","4.0.0":"2017-03-29T09:54:23.674Z","4.1.0":"2017-04-23T20:41:44.501Z","4.2.0":"2017-09-01T14:21:36.667Z","4.2.1":"2017-09-05T08:28:31.700Z","4.2.2-use-d-ts-cc05d37329564e667058517982cef108a34d3f4a":"2019-05-10T15:13:35.755Z","4.2.2":"2019-05-10T15:37:41.138Z"},"homepage":"https://github.com/resin-io/resin-token","keywords":["resin","token","session"],"repository":{"type":"git","url":"git://github.com/resin-io/resin-token.git"},"author":{"name":"Juan Cruz Viotti","email":"juan@resin.io"},"bugs":{"url":"https://github.com/resin-io/resin-token/issues"},"license":"Apache-2.0","readmeFilename":"README.md"}