Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
silver-fleece
Advanced tools
Forked from golden-fleece but adjusted and simplified to parse normal JSON with comments. This makes it a bit faster, and the output will always be parsable by standard JSON parsers (comments are only added if you add them).
Patching files like package.json
or tsconfig.json
.
Install it with npm install silver-fleece
and import it into your app:
import * as fleece from 'silver-fleece';
const ast = fleece.parse(`true`);
// { start: 0, end: 4, type: 'Literal', raw: 'true', value: true }
The returned AST is ESTree compliant.
You can optionally pass callbacks that are fired whenever a value or comment is encountered:
const ast = fleece.parse(str, {
onComment: comment => {
console.log('got a comment', comment);
},
onValue: value => {
console.log('got a value', value);
}
});
const { answer } = fleece.evaluate(`{ "answer": 42 }`);
answer === 42; // true
This is where it gets fun:
const str = `
"number": 1,
"string": "yes",
"object": { "nested": true },
"array": ["this", "that", "the other"]
`;
const object = fleece.evaluate(str);
object.number = 42;
object.array[2] = 'EVERYTHING';
fleece.patch(str, object) === `{
"number": 42,
"string": "yes",
"object": { "nested": true },
"array": ["this", "that", "EVERYTHING"]
}`; // true
Notice that the formatting has been preserved.
const object = {
string: 'hello',
'quoted-property': 2,
array: [3, 4]
};
fleece.stringify(object) === `{
"string": "hello",
"quoted-property": 2,
"array": [
3,
4
]
}`; // true
To indent with spaces instead of tabs, pass spaces: n
, where n
is the number of spaces at each level of indentation.
fleece.stringify(object, {
spaces: 2
}) === `{
"string": "hello",
"quoted-property": 2,
"array": [
3,
4
]
}`; // true
Original golden-fleece code is owned and copyrighted by Rich Harris and other contributors. They have released their contributions under the LIL license.
The silver-fleece changes are written by Evert Heylen and other contributors and are also released under the same LIL license.
FAQs
Parse and manipulate JSON strings
The npm package silver-fleece receives a total of 0 weekly downloads. As such, silver-fleece popularity was classified as not popular.
We found that silver-fleece demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.