diff options
| author | Johann150 <johann.galle@protonmail.com> | 2022-05-29 08:15:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-29 15:15:52 +0900 |
| commit | 804fa33535baa9e5cdf49070a50a555cf2c3b1ea (patch) | |
| tree | 61b2a5c705af743c8dff1cf77764e0bcb76f1820 /packages/backend/src/services | |
| parent | fix(client): Vite related boot mechanism revision (#8753) (diff) | |
| download | misskey-804fa33535baa9e5cdf49070a50a555cf2c3b1ea.tar.gz misskey-804fa33535baa9e5cdf49070a50a555cf2c3b1ea.tar.bz2 misskey-804fa33535baa9e5cdf49070a50a555cf2c3b1ea.zip | |
refactor: improve code quality (#8751)
* remove unnecessary if
`Array.prototype.some` already returns a boolean so an if to return
true or false is completely unnecessary in this case.
* perf: use count instead of find
When using `count` instead of `findOneBy`, the data is not
unnecessarily loaded.
* remove duplicate null check
The variable is checked for null in the lines above and the function
returns if so. Therefore, it can not be null at this point.
* simplify `getJsonSchema`
Because the assigned value is `null` and the used keys are only
shallow, use of `nestedProperty.set` seems inappropriate. Because the
value is not read, the initial for loop can be replaced by a `for..in`
loop.
Since all keys will be assigned `null`, the condition of the ternary
expression in the nested function will always be true. Therefore the
recursion case will never happen. With this the nested function can be
eliminated.
* remove duplicate condition
The code above already checks `dragging` and returns if it is truthy.
Checking it again later is therefore unnecessary.
To make this more obvious the `return` is removed in favour of using
an if...else construct.
* remove impossible "unknown" time
The `ago` variable will always be a number and all non-negative numbers
are already covered by other cases, the negative case is handled with
`future` so there is no case when `unkown` could be achieved.
Diffstat (limited to 'packages/backend/src/services')
| -rw-r--r-- | packages/backend/src/services/chart/core.ts | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/packages/backend/src/services/chart/core.ts b/packages/backend/src/services/chart/core.ts index cf69e2194d..2960bac8f7 100644 --- a/packages/backend/src/services/chart/core.ts +++ b/packages/backend/src/services/chart/core.ts @@ -91,27 +91,20 @@ type ToJsonSchema<S> = { }; export function getJsonSchema<S extends Schema>(schema: S): ToJsonSchema<Unflatten<ChartResult<S>>> { - const object = {}; - for (const [k, v] of Object.entries(schema)) { - nestedProperty.set(object, k, null); - } + const jsonSchema = { + type: 'object', + properties: {} as Record<string, unknown>, + required: [], + }; - function f(obj: Record<string, null | Record<string, unknown>>) { - const jsonSchema = { - type: 'object', - properties: {} as Record<string, unknown>, - required: [], + for (const k in schema) { + jsonSchema.properties[k] = { + type: 'array', + items: { type: 'number' }, }; - for (const [k, v] of Object.entries(obj)) { - jsonSchema.properties[k] = v === null ? { - type: 'array', - items: { type: 'number' }, - } : f(v as Record<string, null | Record<string, unknown>>); - } - return jsonSchema; } - return f(object) as ToJsonSchema<Unflatten<ChartResult<S>>>; + return jsonSchema as ToJsonSchema<Unflatten<ChartResult<S>>>; } /** |