add obsidian eslint plugin, solve major issues

This commit is contained in:
Moritz Jung 2026-05-06 16:26:59 +02:00
parent 84214a1c3c
commit 498e2611ae
105 changed files with 5702 additions and 5308 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,602 @@
{
"components": {
"schemas": {
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail",
"type": "array"
}
},
"title": "HTTPValidationError",
"type": "object"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"type": "string"
},
"title": "Location",
"type": "array"
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
},
"required": ["loc", "msg", "type"],
"title": "ValidationError",
"type": "object"
}
}
},
"info": {
"description": "- These are still in development and may not be perfect\n- Contribute by proposing edits to [openapi.json](https://github.com/internetarchive/openlibrary/blob/master/static/openapi.json)\n- Please do not use our APIs for bulk downloads, see [dev center](https://openlibrary.org/developers/api)",
"title": "Open Library API",
"version": "0.1.0"
},
"openapi": "3.0.2",
"paths": {
"/api/books": {
"get": {
"operationId": "read_api_books_api_books_get",
"parameters": [
{
"examples": {
"isbn": {
"value": "ISBN:0201558025"
},
"multiple": {
"value": "ISBN:9781408113479,OCLC:420517"
},
"oclc": {
"value": "OCLC:263296519"
}
},
"in": "query",
"name": "bibkeys",
"required": true,
"schema": {
"title": "Bibkeys",
"type": "string"
}
},
{
"description": "Specifies the response format. Possible values are json and javascript. When not specified the format is javascript.",
"in": "query",
"name": "format",
"required": false,
"schema": {
"default": "json",
"title": "Format",
"type": "string"
}
},
{
"description": "The name of the JavaScript function to call with the result. This is considered only when the format is javascript.",
"in": "query",
"name": "callback",
"required": false,
"schema": {
"title": "Callback"
}
},
{
"description": "Decides what information to provide for each matched bib_key. Possible values are viewapi and data. The default value is viewapi.",
"in": "query",
"name": "jscmd",
"required": false,
"schema": {
"default": "viewapi",
"title": "Jscmd",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Api Books",
"tags": ["books"]
}
},
"/api/volumes/brief/{key_type}/{value}.json": {
"get": {
"operationId": "read_api_volumes_brief_api_volumes_brief__key_type___value__json_get",
"parameters": [
{
"in": "path",
"name": "key_type",
"required": true,
"schema": {
"title": "Key Type"
}
},
{
"in": "path",
"name": "value",
"required": true,
"schema": {
"title": "Value"
}
},
{
"in": "query",
"name": "callback",
"required": false,
"schema": {
"title": "Callback"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Api Volumes Brief",
"tags": ["books"]
}
},
"/authors/{olid}.json": {
"get": {
"operationId": "read_authors_authors__olid__json_get",
"parameters": [
{
"in": "path",
"name": "olid",
"required": true,
"schema": {
"title": "Olid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Authors",
"tags": ["authors"]
}
},
"/authors/{olid}/works.json": {
"get": {
"operationId": "read_authors_works_authors__olid__works_json_get",
"parameters": [
{
"in": "path",
"name": "olid",
"required": true,
"schema": {
"title": "Olid"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"title": "Limit",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Authors Works",
"tags": ["authors"]
}
},
"/books/{olid}": {
"get": {
"operationId": "read_books_books__olid__get",
"parameters": [
{
"in": "path",
"name": "olid",
"required": true,
"schema": {
"example": "OL53924W",
"title": "Olid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Books",
"tags": ["books"]
}
},
"/covers/{key_type}/{value}-{size}.jpg": {
"get": {
"operationId": "read_covers_key_type_value_size_jpeg_covers__key_type___value___size__jpg_get",
"parameters": [
{
"in": "path",
"name": "key_type",
"required": true,
"schema": {
"title": "Key Type"
}
},
{
"in": "path",
"name": "value",
"required": true,
"schema": {
"title": "Value"
}
},
{
"in": "path",
"name": "size",
"required": true,
"schema": {
"title": "Size"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Covers Key Type Value Size Jpeg",
"tags": ["covers"]
}
},
"/isbn/{isbn}": {
"get": {
"operationId": "read_isbn_isbn__isbn__get",
"parameters": [
{
"in": "path",
"name": "isbn",
"required": true,
"schema": {
"title": "Isbn"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Isbn",
"tags": ["books"]
}
},
"/search.json": {
"get": {
"operationId": "read_search_json_search_json_get",
"parameters": [
{
"in": "query",
"name": "q",
"required": true,
"schema": {
"title": "Q"
}
},
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"title": "Page",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Search Json",
"tags": ["search"]
}
},
"/search/authors.json": {
"get": {
"operationId": "read_search_authors_json_search_authors_json_get",
"parameters": [
{
"in": "query",
"name": "q",
"required": true,
"schema": {
"title": "Q"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Search Authors Json",
"tags": ["search"]
}
},
"/subjects/{subject}.json": {
"get": {
"operationId": "read_subjects_subjects__subject__json_get",
"parameters": [
{
"in": "path",
"name": "subject",
"required": true,
"schema": {
"title": "Subject"
}
},
{
"in": "query",
"name": "details",
"required": false,
"schema": {
"default": false,
"title": "Details",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Subjects",
"tags": ["subjects"]
}
},
"/works/{olid}": {
"get": {
"operationId": "read_works_works__olid__get",
"parameters": [
{
"in": "path",
"name": "olid",
"required": true,
"schema": {
"title": "Olid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Read Works",
"tags": ["books"]
}
}
},
"tags": [
{
"description": "Retrieve a specific work or edition by identifier",
"externalDocs": {
"description": "Find out more",
"url": "https://openlibrary.org/dev/docs/api/books"
},
"name": "books"
},
{
"description": "Retrieve an author and their works by author identifier",
"externalDocs": {
"description": "Find out more",
"url": "https://openlibrary.org/dev/docs/api/authors"
},
"name": "authors"
},
{
"description": "Search results for books, authors, and more",
"externalDocs": {
"description": "Find out more",
"url": "https://openlibrary.org/dev/docs/api/search"
},
"name": "search"
},
{
"description": "Fetch book covers by ISBN or Open Library identifier",
"externalDocs": {
"description": "Find out more",
"url": "https://openlibrary.org/dev/docs/api/covers"
},
"name": "covers"
},
{
"description": "Fetch books by subject name ",
"externalDocs": {
"description": "Find out more",
"url": "https://openlibrary.org/dev/docs/api/subjects"
},
"name": "subjects"
}
]
}

View file

@ -0,0 +1,578 @@
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
'/api/books': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Api Books */
get: operations['read_api_books_api_books_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/volumes/brief/{key_type}/{value}.json': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Api Volumes Brief */
get: operations['read_api_volumes_brief_api_volumes_brief__key_type___value__json_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/authors/{olid}.json': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Authors */
get: operations['read_authors_authors__olid__json_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/authors/{olid}/works.json': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Authors Works */
get: operations['read_authors_works_authors__olid__works_json_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/books/{olid}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Books */
get: operations['read_books_books__olid__get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/covers/{key_type}/{value}-{size}.jpg': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Covers Key Type Value Size Jpeg */
get: operations['read_covers_key_type_value_size_jpeg_covers__key_type___value___size__jpg_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/isbn/{isbn}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Isbn */
get: operations['read_isbn_isbn__isbn__get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/search.json': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Search Json */
get: operations['read_search_json_search_json_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/search/authors.json': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Search Authors Json */
get: operations['read_search_authors_json_search_authors_json_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/subjects/{subject}.json': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Subjects */
get: operations['read_subjects_subjects__subject__json_get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/works/{olid}': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Read Works */
get: operations['read_works_works__olid__get'];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** HTTPValidationError */
HTTPValidationError: {
/** Detail */
detail?: components['schemas']['ValidationError'][];
};
/** ValidationError */
ValidationError: {
/** Location */
loc: string[];
/** Message */
msg: string;
/** Error Type */
type: string;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
read_api_books_api_books_get: {
parameters: {
query: {
bibkeys: string;
/** @description Specifies the response format. Possible values are json and javascript. When not specified the format is javascript. */
format?: string;
/** @description The name of the JavaScript function to call with the result. This is considered only when the format is javascript. */
callback?: unknown;
/** @description Decides what information to provide for each matched bib_key. Possible values are viewapi and data. The default value is viewapi. */
jscmd?: string;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_api_volumes_brief_api_volumes_brief__key_type___value__json_get: {
parameters: {
query?: {
callback?: unknown;
};
header?: never;
path: {
key_type: unknown;
value: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_authors_authors__olid__json_get: {
parameters: {
query?: never;
header?: never;
path: {
olid: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_authors_works_authors__olid__works_json_get: {
parameters: {
query?: {
limit?: number;
};
header?: never;
path: {
olid: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_books_books__olid__get: {
parameters: {
query?: never;
header?: never;
path: {
olid: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_covers_key_type_value_size_jpeg_covers__key_type___value___size__jpg_get: {
parameters: {
query?: never;
header?: never;
path: {
key_type: unknown;
value: unknown;
size: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_isbn_isbn__isbn__get: {
parameters: {
query?: never;
header?: never;
path: {
isbn: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_search_json_search_json_get: {
parameters: {
query: {
q: unknown;
page?: number;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_search_authors_json_search_authors_json_get: {
parameters: {
query: {
q: unknown;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_subjects_subjects__subject__json_get: {
parameters: {
query?: {
details?: boolean;
};
header?: never;
path: {
subject: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
read_works_works__olid__get: {
parameters: {
query?: never;
header?: never;
path: {
olid: unknown;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': unknown;
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
'application/json': components['schemas']['HTTPValidationError'];
};
};
};
};
}

22832
packages/schemas/src/TMDB.ts Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#! /bin/env bash
# IMPORTANT: needs to be ran from this directory, otherwise the output files will be generated in the wrong place
# https://docs.api.jikan.moe/
bun openapi-typescript https://raw.githubusercontent.com/jikan-me/jikan-rest/master/storage/api-docs/api-docs.json -o ./MALAPI.ts
# https://www.giantbomb.com/forums/api-developers-3017/giant-bomb-openapi-specification-1901269/
bun openapi-typescript ./GiantBomb.json -o ./GiantBomb.ts
# https://github.com/internetarchive/openlibrary-api/blob/main/swagger.yaml
bun openapi-typescript ./OpenLibrary.json -o ./OpenLibrary.ts
# https://developer.themoviedb.org/openapi
bun openapi-typescript https://developer.themoviedb.org/openapi/tmdb-api.json -o ./TMDB.ts