pillarjs/cookies

Cookie set to '' when pass the value as 0

Open

#101 创建于 2018年8月22日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)JavaScript (1,261 star) (152 fork)batch import
bughelp wanted

描述

When I want to record the user visit time in the header, I found the 0 value cannot set to cookie only if we convert it to string type, but other number type value can be saved. I create one test to reproduce the issue:

it('when set value to 0', () => {
      var cookie = new cookies.Cookie('foo', 0 );
      assert.equal(cookie.toHeader(), 'foo=0; path=/; httponly')
 }) //this will faile

it('when set value to 1', () => {
        var cookie = new cookies.Cookie('foo', 1 );
        assert.equal(cookie.toHeader(), 'foo=1; path=/; httponly')
}) //this will pass

And I check the source code found this issue happens because of the index.js L:131

  this.value = value || ""

This will convert the 0 to empty string, so I am woundering is this a bug or not, if not, I think we should notice the user we should always put he String type value.

贡献者指南