refactor: structure
This commit is contained in:
@@ -10,24 +10,24 @@ from typing import Any, Literal, Union, get_args, get_origin
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from lnbits.core.extensions import (
|
||||
ExtensionAPI,
|
||||
from lnbits.core.wasm_ext import (
|
||||
ExtensionAPIMethod,
|
||||
ExtensionHostAPI,
|
||||
get_extension_api_method,
|
||||
list_extension_api_methods,
|
||||
)
|
||||
|
||||
|
||||
def generate_typescript_sdk(
|
||||
api_cls: type[ExtensionAPI] | None = None,
|
||||
api_cls: type[ExtensionHostAPI] | None = None,
|
||||
method_ids: Sequence[str] | None = None,
|
||||
) -> str:
|
||||
api_cls = api_cls or ExtensionAPI
|
||||
api_cls = api_cls or ExtensionHostAPI
|
||||
methods = _select_methods(api_cls, method_ids)
|
||||
models = _collect_models(methods)
|
||||
|
||||
lines = [
|
||||
"/* Generated by LNbits ExtensionAPI codegen. */",
|
||||
"/* Generated by LNbits ExtensionHostAPI codegen. */",
|
||||
"/* Do not edit by hand. */",
|
||||
"",
|
||||
"export type MaybePromise<T> = T | Promise<T>",
|
||||
@@ -52,7 +52,7 @@ def generate_typescript_sdk(
|
||||
|
||||
def write_typescript_sdk(
|
||||
path: str | Path,
|
||||
api_cls: type[ExtensionAPI] | None = None,
|
||||
api_cls: type[ExtensionHostAPI] | None = None,
|
||||
method_ids: Sequence[str] | None = None,
|
||||
) -> None:
|
||||
Path(path).write_text(
|
||||
@@ -61,7 +61,7 @@ def write_typescript_sdk(
|
||||
|
||||
|
||||
def _select_methods(
|
||||
api_cls: type[ExtensionAPI], method_ids: Sequence[str] | None
|
||||
api_cls: type[ExtensionHostAPI], method_ids: Sequence[str] | None
|
||||
) -> list[ExtensionAPIMethod]:
|
||||
if not method_ids:
|
||||
return list_extension_api_methods(api_cls)
|
||||
@@ -342,13 +342,13 @@ def _is_empty_model(model: type[BaseModel]) -> bool:
|
||||
|
||||
def main(argv: Sequence[str] | None = None) -> int:
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Generate a TypeScript SDK from the LNbits ExtensionAPI."
|
||||
description="Generate a TypeScript SDK from the LNbits ExtensionHostAPI."
|
||||
)
|
||||
parser.add_argument(
|
||||
"--method",
|
||||
action="append",
|
||||
dest="method_ids",
|
||||
help="ExtensionAPI method id to include. Can be passed multiple times.",
|
||||
help="ExtensionHostAPI method id to include. Can be passed multiple times.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--out",
|
||||
|
||||
Reference in New Issue
Block a user