Comments (4)
It is the intended behavior. Here formatObject
is not initialized and is assigned once. You can turn the single assignment into an initialization.
from biome.
It is the intended behavior. Here
formatObject
is not initialized and is assigned once. You can turn the single assignment into an initialization.
How do you mean? I did it like that because of the recursion.
from biome.
What preventing you of writing the code like this:
const format = (variableName: string, source: unknown) => {
const formatObject = (src: Record<string, unknown>) =>
Object.keys(src)
.map((property) => formatObjectProperty(property, src[property]))
.join('');
const formatObjectProperty = (propertyName: string, content: unknown) => {
let output = '';
switch (typeof content) {
case 'string':
output = `[=[${content}]=]`;
break;
case 'object':
output = `{ ${formatObject(content as Record<string, unknown>)} }`;
break;
case 'undefined':
output = `""`;
break;
default:
throw new Error(
`Unknown type (${typeof content}) of property "${propertyName}"!`,
);
}
return `["${propertyName.replace(/\\/g, '')}"] = ${output},\n`;
};
const output = formatObject(source as Record<string, unknown>);
return `${variableName} = {\n${output}\n}`;
};
export default format;
from biome.
What preventing you of writing the code like this:
const format = (variableName: string, source: unknown) => { const formatObject = (src: Record<string, unknown>) => Object.keys(src) .map((property) => formatObjectProperty(property, src[property])) .join(''); const formatObjectProperty = (propertyName: string, content: unknown) => { let output = ''; switch (typeof content) { case 'string': output = `[=[${content}]=]`; break; case 'object': output = `{ ${formatObject(content as Record<string, unknown>)} }`; break; case 'undefined': output = `""`; break; default: throw new Error( `Unknown type (${typeof content}) of property "${propertyName}"!`, ); } return `["${propertyName.replace(/\\/g, '')}"] = ${output},\n`; }; const output = formatObject(source as Record<string, unknown>); return `${variableName} = {\n${output}\n}`; }; export default format;
Ah yes, I just figured my case was worth a report, but you are right, it does make sense!
from biome.
Related Issues (20)
- 📝 HTML void tags should always emit a `/` token HOT 2
- 📝 Multiple elements at the root level don't get parsed or formatted correctly HOT 2
- 💅 lint/a11y/useAltText asks for alt when using object spread HOT 2
- npx biome lint . --write starts, but doesnt do anything HOT 1
- 📎 Add `bail` flag for `ci` command HOT 1
- 💅 `useSemanticElements` recommends replacing `<div role="img">` with `<img>` HOT 2
- 💅 React TypeScript issue on `The React variable is undeclared` HOT 9
- 💅 `lint/correctness/noUnusedFunctionParameters` false positive HOT 1
- Limit the length of code context in reported errors
- 📎 CLI flag in linter to write ignores for existing violations HOT 5
- 🐛 Import Sorting should be case-insensitive HOT 1
- 📝 Formatting line-break is different from prettier
- 📝 Contents of `<pre>` elements should not be formatted
- 💅 [useSemanticElements] says to convert <div role="option"> to <option>
- 📝 HTML directive casing does not match prettier HOT 1
- 📎 HTML: Implement "Bracket same line" option
- 📝 Unwanted zero added before .<number> in CSS HOT 2
- 📝 Comments in grid-template moves (CSS)
- 💅 useFocusableInteractive says to put tabindex attribute on element with role="option"
- 📎 All caps ENUM in GraphQL HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from biome.