每周npm模块源码解读:@medv/prettyjson
2018-11-14
字数统计:1.3k 字
阅读时长 ≈ 1 分钟
周2018.11.12 ~ 2018.11.18
前言
模块名:@medv/prettyjson
github: https://github.com/antonmedv/prettyjson
描述:美化JSON格式
适合人群:至少看过一遍源码
正文
有两个参数可以输入,第一个是值 v
,第二个是缩进的空格。用模块 chalk
输出不同的颜色的值。
首先判断 v
类型 :
undefiend
:如果是,返回 void 0
,实则是 undefined
。
值为 null
: 则返回值。
number
并且使用 Numebr.isFinite
为true:则返回值。
boolean
: 如果是,返回值。
string
:需要对其进行 JSON.stringify
然后在返回。
array
:使用了 Generator
函数,然后使用递归判断里面的值,并用模块 indent-string
缩进字符串。
object
: 同 array
。
如果都不能满足以上情况,则使用 JSON.stringify
。
结语
有以下知识点可以学习到:
void 0
的意思,ES6中Number的新方法,Generator
函数的用法,递归。