mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-31 20:24:27 -04:00
Fix comment newline handling
This commit is contained in:
parent
3d6912b60d
commit
0499be4194
@ -136,7 +136,7 @@ export const movies = new Elysia({ prefix: "/movies", tags: ["movies"] })
|
|||||||
...KError,
|
...KError,
|
||||||
description: comment`
|
description: comment`
|
||||||
The Accept-Language header can't be satisfied (all languages listed are
|
The Accept-Language header can't be satisfied (all languages listed are
|
||||||
unavailable). Try with another languages or add * to the list of languages
|
unavailable.) Try with another languages or add * to the list of languages
|
||||||
to fallback to any language.
|
to fallback to any language.
|
||||||
`,
|
`,
|
||||||
examples: [
|
examples: [
|
||||||
@ -158,6 +158,7 @@ export const movies = new Elysia({ prefix: "/movies", tags: ["movies"] })
|
|||||||
}) => {
|
}) => {
|
||||||
const langs = processLanguages(languages);
|
const langs = processLanguages(languages);
|
||||||
const [transQ, transCol] = getTranslationQuery(langs);
|
const [transQ, transCol] = getTranslationQuery(langs);
|
||||||
|
// TODO: move this to typebox transform
|
||||||
const order = sort.map((x) => {
|
const order = sort.map((x) => {
|
||||||
const desc = x[0] === "-";
|
const desc = x[0] === "-";
|
||||||
const key = (desc ? x.substring(1) : x) as RemovePrefix<typeof x, "-">;
|
const key = (desc ? x.substring(1) : x) as RemovePrefix<typeof x, "-">;
|
||||||
@ -203,7 +204,11 @@ export const movies = new Elysia({ prefix: "/movies", tags: ["movies"] })
|
|||||||
"-nextRefresh",
|
"-nextRefresh",
|
||||||
]),
|
]),
|
||||||
// TODO: support explode: true (allow sort=slug,-createdAt). needs a pr to elysia
|
// TODO: support explode: true (allow sort=slug,-createdAt). needs a pr to elysia
|
||||||
{ explode: false, default: ["slug"] },
|
{
|
||||||
|
explode: false,
|
||||||
|
default: ["slug"],
|
||||||
|
description: "How to sort the query",
|
||||||
|
},
|
||||||
),
|
),
|
||||||
filter: t.Optional(Filter({ def: movieFilters })),
|
filter: t.Optional(Filter({ def: movieFilters })),
|
||||||
limit: t.Integer({
|
limit: t.Integer({
|
||||||
|
@ -24,9 +24,9 @@ export const Filter = ({
|
|||||||
t.String({
|
t.String({
|
||||||
description: comment`
|
description: comment`
|
||||||
${description}
|
${description}
|
||||||
This is based on [odata's filter specification](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionfilter).
|
|
||||||
|
|
||||||
Filters available: ${Object.keys(def).join(", ")}
|
This is based on [odata's filter specification](https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_SystemQueryOptionfilter).
|
||||||
|
Filters available: ${Object.keys(def).join(", ")}.
|
||||||
`,
|
`,
|
||||||
example: "(rating gt 75 and genres has action) or status eq planned",
|
example: "(rating gt 75 and genres has action) or status eq planned",
|
||||||
}),
|
}),
|
||||||
|
@ -2,7 +2,10 @@
|
|||||||
export const comment = (str: TemplateStringsArray, ...values: any[]) =>
|
export const comment = (str: TemplateStringsArray, ...values: any[]) =>
|
||||||
str
|
str
|
||||||
.reduce((acc, str, i) => `${acc}${values[i - 1]}${str}`)
|
.reduce((acc, str, i) => `${acc}${values[i - 1]}${str}`)
|
||||||
.replace(/(^[^\S\n]+|\s+$|^\s+)/gm, "");
|
.replace(/(^\s)|(\s+$)/g, "") // first & last whitespaces
|
||||||
|
.replace(/^[ \t]+/gm, "") // leading spaces
|
||||||
|
.replace(/([^\n])\n([^\n])/g, "$1 $2") // two lines to space separated line
|
||||||
|
.replace(/\n{2}/g, "\n"); // keep newline if there's an empty line
|
||||||
|
|
||||||
export type RemovePrefix<
|
export type RemovePrefix<
|
||||||
T extends string,
|
T extends string,
|
||||||
|
@ -130,7 +130,7 @@ describe("Get all movies", () => {
|
|||||||
expect(body).toMatchObject({
|
expect(body).toMatchObject({
|
||||||
status: 422,
|
status: 422,
|
||||||
message:
|
message:
|
||||||
"Invalid property: slug.\nExpected one of genres, rating, status, runtime, airDate, originalLanguage.",
|
"Invalid property: slug. Expected one of genres, rating, status, runtime, airDate, originalLanguage.",
|
||||||
details: {
|
details: {
|
||||||
in: "slug eq bubble",
|
in: "slug eq bubble",
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user