blakeembrey / blakeembrey/javascript-stringify
allow identifier when maxDepth/maxValues is hit
- 主要语言
- TypeScript
- 星标
- 146
- 派生
- 16
- PR 合并指标
- 30 天内没有已合并 PR
描述
currently when using maxDepth/ maxValue, there is no way to know if a item is an empty object/undefined or if its been truncated by this param, I propose adding either a custom text param, or at least a flag to set default text variables to tell the client that the data is truncated and not in fact empty/undefined
# max depth example
```
//currently
const obj = {"hello":{"world":{"i am":"an Object"}}}
stringify(obj,null,null,{maxDepth:2});
//outputs: '{hello:{world:{}}}'
// unknown if depth has been reached or if "world" key just goes to an empty object
//feature with same object
const str = "[JSON max depth has been reached]"
stringify(obj,null,null,{maxDepth:2, maxDepthText: str});
//outputs:'{hello:{world:[JSON max depth has been reached]}}'
```
# max value example
```
//currently
const obj2 = {"hello":{"world":{"i": "am","an": "Object"}, test1: true, test2:false}}
stringify(obj2,null,null,{maxValues:3});
//outputs:'{hello:{world:{}}}'
// unknown if value limt has been reached or if the value for the "hello" key just has an object with a "world" key
//feature with same object
const str = "max values for object reached"
stringify(obj,null,null,{maxValues:3, maxValuesText: str});
//outputs: '{hello:{world:{"..." : "max values for object reached" }, "...": "max values for object reached"}}'
// notice not "..." for both test1 and test2, just 1 "..." for the object that is missing keys
```
贡献指南
这个仓库没有索引到贡献指南
调研方向
未指定文件或测试路径。定位 stringify 的入口点和当前对 maxDepth/maxValues 的处理,比较提议的自定义文本和标志选项,然后添加覆盖测试,以区分被截断的值与真正为空或 undefined 的值,并验证示例输出。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript, typescript
- 领域
- tooling
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100