feat: option to inject code verbatim
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 30/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- javascript
- 领域
- tooling
调研方向
首先检查 package 的序列化代码,以了解当前如何转换 JavaScript 对象值,以及函数字符串在哪里被重写。确定应如何表示和检测所提议的 verbatim 值,然后验证注入的代码保持不变,同时普通值保留现有的序列化行为。
由索引模型根据 Issue 内容生成。
描述
It would be handy for a use case I have for this package to support a feature that could inject code verbatim if it appears in a JavaScript object.
To implement, we could use (A) a special object constructor, (B) a special property on a string, or (C) a tagged template literal returning some special value, which would allow us to detect such cases in the serialization code.
A:
const object = {
customCode: serialize.verbatim('window.navigator.userAgent')
};
B:
const customCode = 'window.navigator.userAgent';
customCode.verbatim = true;
const object = {
customCode
};
C:
const customCode = serialize.verbatim`window.navigator.userAgent`;
const object = {
customCode
};
I tried a hack similar to https://github.com/yahoo/serialize-javascript/issues/32#issuecomment-350184098 using a function as a value and overriding its toString method, but it didn't work since I can't include ( in the code without it being rewritten as part of the function serialization.
- 主要语言
- JavaScript
- 星标
- 2.9k
- 派生
- 215
- 平均合并
- 1 天 12 小时
- 30 天内合并 PR
- 2
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
yahoo/serialize-javascript 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 72/100
yahoo/serialize-javascript#230 ·
-
Ad java script 未关闭
难度 5/5 一周以上 新手友好度 20/100
yahoo/serialize-javascript#212 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 45/100
yahoo/serialize-javascript#208 · 10 条评论 · 25 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 35/100
yahoo/serialize-javascript#195 ·
-
难度 3/5 1-2 天 新手友好度 45/100
yahoo/serialize-javascript#182 ·
查看 yahoo/serialize-javascript 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 75/100
mksglu/context-mode#1200 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
neondatabase/website#5944 ·
-
module: core
难度 2/5 1-3 小时 新手友好度 75/100
bigbluebutton/bigbluebutton#25849 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
jaegertracing/jaeger-ui#4506 ·