apexdevkit 1.12.6__tar.gz → 1.13.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/PKG-INFO +1 -1
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/service.py +9 -6
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/base.py +8 -8
- apexdevkit-1.13.2/apexdevkit/repository/decorator.py +40 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/in_memory.py +5 -14
- apexdevkit-1.13.2/apexdevkit/repository/interface.py +37 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/mongo.py +0 -7
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/sqlite.py +5 -12
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/pyproject.toml +1 -1
- apexdevkit-1.12.6/apexdevkit/repository/decorator.py +0 -37
- apexdevkit-1.12.6/apexdevkit/repository/interface.py +0 -35
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/LICENSE +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/README.md +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/__init__.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/annotation/__init__.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/annotation/deprecate.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/environment.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/error.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/__init__.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/builder.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/dependable.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/docs.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/resource.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/response.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/router.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fastapi/schema.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/fluent.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/formatter.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/http/__init__.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/http/fake.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/http/fluent.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/http/httpx.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/http/json.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/http/url.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/py.typed +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/__init__.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/alternative/__init__.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/alternative/base.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/alternative/formatter_repository.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/connector.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/database.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/testing/__init__.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/testing/database.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/testing/fake.py +0 -0
- {apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/testing/rest.py +0 -0
|
@@ -3,6 +3,7 @@ from dataclasses import dataclass, field
|
|
|
3
3
|
from typing import Any, Dict, Generic, Iterable, Self, TypeVar
|
|
4
4
|
|
|
5
5
|
from apexdevkit.formatter import Formatter
|
|
6
|
+
from apexdevkit.repository.decorator import BatchRepositoryDecorator
|
|
6
7
|
from apexdevkit.repository.interface import Repository
|
|
7
8
|
|
|
8
9
|
RawItem = dict[str, Any]
|
|
@@ -52,14 +53,14 @@ ItemT = TypeVar("ItemT")
|
|
|
52
53
|
@dataclass
|
|
53
54
|
class RestfulRepositoryBuilder(Generic[ItemT]):
|
|
54
55
|
formatter: Formatter[dict[str, Any], ItemT] = field(init=False)
|
|
55
|
-
repository: Repository[
|
|
56
|
+
repository: Repository[ItemT] = field(init=False)
|
|
56
57
|
|
|
57
58
|
def with_formatter(self, formatter: Formatter[dict[str, Any], ItemT]) -> Self:
|
|
58
59
|
self.formatter = formatter
|
|
59
60
|
|
|
60
61
|
return self
|
|
61
62
|
|
|
62
|
-
def with_repository(self, repository: Repository[
|
|
63
|
+
def with_repository(self, repository: Repository[ItemT]) -> Self:
|
|
63
64
|
self.repository = repository
|
|
64
65
|
|
|
65
66
|
return self
|
|
@@ -71,7 +72,7 @@ class RestfulRepositoryBuilder(Generic[ItemT]):
|
|
|
71
72
|
@dataclass
|
|
72
73
|
class _RestfulRepository(RestfulService, Generic[ItemT]):
|
|
73
74
|
formatter: Formatter[dict[str, Any], ItemT]
|
|
74
|
-
repository: Repository[
|
|
75
|
+
repository: Repository[ItemT]
|
|
75
76
|
|
|
76
77
|
def create_one(self, item: RawItem) -> RawItem:
|
|
77
78
|
return self.formatter.dump(self.repository.create(self.formatter.load(item)))
|
|
@@ -79,7 +80,7 @@ class _RestfulRepository(RestfulService, Generic[ItemT]):
|
|
|
79
80
|
def create_many(self, items: RawCollection) -> RawCollection:
|
|
80
81
|
return [
|
|
81
82
|
self.formatter.dump(item)
|
|
82
|
-
for item in self.repository.create_many(
|
|
83
|
+
for item in BatchRepositoryDecorator(self.repository).create_many(
|
|
83
84
|
[self.formatter.load(fields) for fields in items]
|
|
84
85
|
)
|
|
85
86
|
]
|
|
@@ -106,7 +107,7 @@ class _RestfulRepository(RestfulService, Generic[ItemT]):
|
|
|
106
107
|
|
|
107
108
|
updates.append(self.formatter.load(data))
|
|
108
109
|
|
|
109
|
-
self.repository.update_many(updates)
|
|
110
|
+
BatchRepositoryDecorator(self.repository).update_many(updates)
|
|
110
111
|
|
|
111
112
|
return [self.formatter.dump(item) for item in updates]
|
|
112
113
|
|
|
@@ -116,7 +117,9 @@ class _RestfulRepository(RestfulService, Generic[ItemT]):
|
|
|
116
117
|
return item
|
|
117
118
|
|
|
118
119
|
def replace_many(self, items: RawCollection) -> RawCollection:
|
|
119
|
-
self.repository.update_many(
|
|
120
|
+
BatchRepositoryDecorator(self.repository).update_many(
|
|
121
|
+
[self.formatter.load(item) for item in items]
|
|
122
|
+
)
|
|
120
123
|
|
|
121
124
|
return items
|
|
122
125
|
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
from typing import Any, Generic, Iterator
|
|
1
|
+
from typing import Any, Generic, Iterable, Iterator
|
|
2
2
|
|
|
3
|
-
from apexdevkit.repository.interface import
|
|
3
|
+
from apexdevkit.repository.interface import ItemT, Repository
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
class RepositoryBase(Generic[
|
|
6
|
+
class RepositoryBase(Generic[ItemT]): # pragma: no cover
|
|
7
7
|
def create(self, item: ItemT) -> ItemT:
|
|
8
8
|
raise NotImplementedError
|
|
9
9
|
|
|
10
|
-
def create_many(self, items:
|
|
10
|
+
def create_many(self, items: Iterable[ItemT]) -> Iterable[ItemT]:
|
|
11
11
|
raise NotImplementedError
|
|
12
12
|
|
|
13
|
-
def read(self, item_id:
|
|
13
|
+
def read(self, item_id: str) -> ItemT:
|
|
14
14
|
raise NotImplementedError
|
|
15
15
|
|
|
16
16
|
def update(self, item: ItemT) -> None:
|
|
17
17
|
raise NotImplementedError
|
|
18
18
|
|
|
19
|
-
def update_many(self, items:
|
|
19
|
+
def update_many(self, items: Iterable[ItemT]) -> None:
|
|
20
20
|
raise NotImplementedError
|
|
21
21
|
|
|
22
|
-
def delete(self, item_id:
|
|
22
|
+
def delete(self, item_id: str) -> None:
|
|
23
23
|
raise NotImplementedError
|
|
24
24
|
|
|
25
|
-
def bind(self, **kwargs: Any) -> Repository[
|
|
25
|
+
def bind(self, **kwargs: Any) -> Repository[ItemT]:
|
|
26
26
|
raise NotImplementedError
|
|
27
27
|
|
|
28
28
|
def __iter__(self) -> Iterator[ItemT]:
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import Any, Iterable, Iterator
|
|
3
|
+
|
|
4
|
+
from apexdevkit.repository.base import RepositoryBase
|
|
5
|
+
from apexdevkit.repository.interface import ItemT, Repository
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass
|
|
9
|
+
class RepositoryDecorator(RepositoryBase[ItemT]):
|
|
10
|
+
inner: Repository[ItemT]
|
|
11
|
+
|
|
12
|
+
def create(self, item: ItemT) -> ItemT:
|
|
13
|
+
return self.inner.create(item)
|
|
14
|
+
|
|
15
|
+
def read(self, item_id: str) -> ItemT:
|
|
16
|
+
return self.inner.read(item_id)
|
|
17
|
+
|
|
18
|
+
def update(self, item: ItemT) -> None:
|
|
19
|
+
self.inner.update(item)
|
|
20
|
+
|
|
21
|
+
def delete(self, item_id: str) -> None:
|
|
22
|
+
self.inner.delete(item_id)
|
|
23
|
+
|
|
24
|
+
def bind(self, **kwargs: Any) -> Repository[ItemT]:
|
|
25
|
+
return self.inner.bind(**kwargs)
|
|
26
|
+
|
|
27
|
+
def __iter__(self) -> Iterator[ItemT]:
|
|
28
|
+
return self.inner.__iter__()
|
|
29
|
+
|
|
30
|
+
def __len__(self) -> int:
|
|
31
|
+
return self.inner.__len__()
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class BatchRepositoryDecorator(RepositoryDecorator[ItemT]):
|
|
35
|
+
def create_many(self, items: Iterable[ItemT]) -> Iterable[ItemT]:
|
|
36
|
+
return [self.inner.create(item) for item in items]
|
|
37
|
+
|
|
38
|
+
def update_many(self, items: Iterable[ItemT]) -> None:
|
|
39
|
+
for item in items:
|
|
40
|
+
self.inner.update(item)
|
|
@@ -4,7 +4,7 @@ from typing import Any, Callable, Iterable, Iterator, Self
|
|
|
4
4
|
from apexdevkit.error import DoesNotExistError, ExistsError
|
|
5
5
|
from apexdevkit.formatter import Formatter
|
|
6
6
|
from apexdevkit.repository import RepositoryBase
|
|
7
|
-
from apexdevkit.repository.interface import
|
|
7
|
+
from apexdevkit.repository.interface import ItemT
|
|
8
8
|
|
|
9
9
|
KeyFunction = Callable[[Any], str]
|
|
10
10
|
_Raw = dict[str, Any]
|
|
@@ -19,7 +19,7 @@ class AttributeKey:
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
@dataclass
|
|
22
|
-
class InMemoryRepository(RepositoryBase[
|
|
22
|
+
class InMemoryRepository(RepositoryBase[ItemT]):
|
|
23
23
|
formatter: Formatter[_Raw, ItemT]
|
|
24
24
|
items: dict[str, _Raw] = field(default_factory=dict)
|
|
25
25
|
|
|
@@ -34,15 +34,10 @@ class InMemoryRepository(RepositoryBase[IdT, ItemT]):
|
|
|
34
34
|
return self
|
|
35
35
|
|
|
36
36
|
def with_seeded(self, *items: ItemT) -> Self:
|
|
37
|
-
self.create_many(list(items))
|
|
38
|
-
|
|
39
|
-
return self
|
|
40
|
-
|
|
41
|
-
def create_many(self, items: list[ItemT]) -> list[ItemT]:
|
|
42
37
|
for item in items:
|
|
43
38
|
self.create(item)
|
|
44
39
|
|
|
45
|
-
return
|
|
40
|
+
return self
|
|
46
41
|
|
|
47
42
|
def create(self, item: ItemT) -> ItemT:
|
|
48
43
|
self._ensure_does_not_exist(item)
|
|
@@ -63,19 +58,15 @@ class InMemoryRepository(RepositoryBase[IdT, ItemT]):
|
|
|
63
58
|
def _pk(self, item: ItemT) -> Any:
|
|
64
59
|
return self._keys[0](item)
|
|
65
60
|
|
|
66
|
-
def update_many(self, items: list[ItemT]) -> None:
|
|
67
|
-
for item in items:
|
|
68
|
-
self.update(item)
|
|
69
|
-
|
|
70
61
|
def update(self, item: ItemT) -> None:
|
|
71
62
|
self.delete(self._pk(item))
|
|
72
63
|
self.create(item)
|
|
73
64
|
|
|
74
|
-
def delete(self, item_id:
|
|
65
|
+
def delete(self, item_id: str) -> None:
|
|
75
66
|
item = self.read(item_id)
|
|
76
67
|
del self.items[self._pk(item)]
|
|
77
68
|
|
|
78
|
-
def read(self, item_id:
|
|
69
|
+
def read(self, item_id: str) -> ItemT:
|
|
79
70
|
for key in self._keys:
|
|
80
71
|
for item in self:
|
|
81
72
|
if key(item) == str(item_id):
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Iterable
|
|
4
|
+
from typing import Any, Iterator, Protocol, TypeVar
|
|
5
|
+
|
|
6
|
+
ItemT = TypeVar("ItemT")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Repository(Protocol[ItemT]): # pragma: no cover
|
|
10
|
+
def create(self, item: ItemT) -> ItemT:
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
def read(self, item_id: str) -> ItemT:
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
def update(self, item: ItemT) -> None:
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
def delete(self, item_id: str) -> None:
|
|
20
|
+
pass
|
|
21
|
+
|
|
22
|
+
def bind(self, **kwargs: Any) -> Repository[ItemT]:
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
def __iter__(self) -> Iterator[ItemT]:
|
|
26
|
+
pass
|
|
27
|
+
|
|
28
|
+
def __len__(self) -> int:
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class BatchRepository(Repository[ItemT], Protocol[ItemT]): # pragma: no cover
|
|
33
|
+
def create_many(self, items: Iterable[ItemT]) -> Iterable[ItemT]:
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
def update_many(self, items: Iterable[ItemT]) -> None:
|
|
37
|
+
pass
|
|
@@ -49,9 +49,6 @@ class MongoRepository(Generic[ItemT]):
|
|
|
49
49
|
self.collection(client).insert_one(self.formatter.dump(item))
|
|
50
50
|
return item
|
|
51
51
|
|
|
52
|
-
def create_many(self, items: list[ItemT]) -> list[ItemT]:
|
|
53
|
-
return [self.create(item) for item in items]
|
|
54
|
-
|
|
55
52
|
def read(self, item_id: str) -> ItemT:
|
|
56
53
|
with self.connector.connect() as client:
|
|
57
54
|
raw = self.collection(client).find_one({"id": item_id})
|
|
@@ -69,10 +66,6 @@ class MongoRepository(Generic[ItemT]):
|
|
|
69
66
|
return_document=ReturnDocument.AFTER,
|
|
70
67
|
)
|
|
71
68
|
|
|
72
|
-
def update_many(self, items: list[ItemT]) -> None:
|
|
73
|
-
for item in items:
|
|
74
|
-
self.update(item)
|
|
75
|
-
|
|
76
69
|
def delete(self, item_id: str) -> None:
|
|
77
70
|
with self.connector.connect() as client:
|
|
78
71
|
result = self.collection(client).delete_one({"id": item_id})
|
|
@@ -6,15 +6,15 @@ from typing import Any, Generic, Iterator
|
|
|
6
6
|
|
|
7
7
|
from apexdevkit.error import DoesNotExistError, ExistsError
|
|
8
8
|
from apexdevkit.repository import Database, DatabaseCommand, RepositoryBase
|
|
9
|
-
from apexdevkit.repository.interface import
|
|
9
|
+
from apexdevkit.repository.interface import ItemT
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
@dataclass
|
|
13
|
-
class SqliteRepository(RepositoryBase[
|
|
13
|
+
class SqliteRepository(RepositoryBase[ItemT]):
|
|
14
14
|
db: Database
|
|
15
15
|
table: SqlTable[ItemT]
|
|
16
16
|
|
|
17
|
-
def bind(self, **kwargs: Any) -> SqliteRepository[
|
|
17
|
+
def bind(self, **kwargs: Any) -> SqliteRepository[ItemT]:
|
|
18
18
|
return SqliteRepository(self.db, self.table.bind(**kwargs))
|
|
19
19
|
|
|
20
20
|
def __iter__(self) -> Iterator[ItemT]:
|
|
@@ -39,10 +39,7 @@ class SqliteRepository(RepositoryBase[IdT, ItemT]):
|
|
|
39
39
|
self.table.duplicate(item).fire()
|
|
40
40
|
return item
|
|
41
41
|
|
|
42
|
-
def
|
|
43
|
-
return [self.create(item) for item in items]
|
|
44
|
-
|
|
45
|
-
def read(self, item_id: IdT) -> ItemT:
|
|
42
|
+
def read(self, item_id: str) -> ItemT:
|
|
46
43
|
raw = self.db.execute(self.table.select(str(item_id))).fetch_one()
|
|
47
44
|
|
|
48
45
|
if not raw:
|
|
@@ -53,11 +50,7 @@ class SqliteRepository(RepositoryBase[IdT, ItemT]):
|
|
|
53
50
|
def update(self, item: ItemT) -> None:
|
|
54
51
|
self.db.execute(self.table.update(item)).fetch_none()
|
|
55
52
|
|
|
56
|
-
def
|
|
57
|
-
for item in items:
|
|
58
|
-
self.update(item)
|
|
59
|
-
|
|
60
|
-
def delete(self, item_id: IdT) -> None:
|
|
53
|
+
def delete(self, item_id: str) -> None:
|
|
61
54
|
self.db.execute(self.table.delete(str(item_id))).fetch_none()
|
|
62
55
|
|
|
63
56
|
def delete_all(self) -> None:
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass
|
|
2
|
-
from typing import Any, Iterator
|
|
3
|
-
|
|
4
|
-
from apexdevkit.repository.base import RepositoryBase
|
|
5
|
-
from apexdevkit.repository.interface import IdT, ItemT, Repository
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
@dataclass
|
|
9
|
-
class RepositoryDecorator(RepositoryBase[IdT, ItemT]):
|
|
10
|
-
inner: Repository[IdT, ItemT]
|
|
11
|
-
|
|
12
|
-
def create(self, item: ItemT) -> ItemT:
|
|
13
|
-
return self.inner.create(item)
|
|
14
|
-
|
|
15
|
-
def create_many(self, items: list[ItemT]) -> list[ItemT]:
|
|
16
|
-
return self.inner.create_many(items)
|
|
17
|
-
|
|
18
|
-
def read(self, item_id: IdT) -> ItemT:
|
|
19
|
-
return self.inner.read(item_id)
|
|
20
|
-
|
|
21
|
-
def update(self, item: ItemT) -> None:
|
|
22
|
-
self.inner.update(item)
|
|
23
|
-
|
|
24
|
-
def update_many(self, items: list[ItemT]) -> None:
|
|
25
|
-
self.inner.update_many(items)
|
|
26
|
-
|
|
27
|
-
def delete(self, item_id: IdT) -> None:
|
|
28
|
-
self.inner.delete(item_id)
|
|
29
|
-
|
|
30
|
-
def bind(self, **kwargs: Any) -> Repository[IdT, ItemT]:
|
|
31
|
-
return self.inner.bind(**kwargs)
|
|
32
|
-
|
|
33
|
-
def __iter__(self) -> Iterator[ItemT]:
|
|
34
|
-
return self.inner.__iter__()
|
|
35
|
-
|
|
36
|
-
def __len__(self) -> int:
|
|
37
|
-
return self.inner.__len__()
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Any, Iterator, Protocol, TypeVar
|
|
4
|
-
|
|
5
|
-
ItemT = TypeVar("ItemT")
|
|
6
|
-
IdT = TypeVar("IdT", contravariant=True)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class Repository(Protocol[IdT, ItemT]): # pragma: no cover
|
|
10
|
-
def create(self, item: ItemT) -> ItemT:
|
|
11
|
-
pass
|
|
12
|
-
|
|
13
|
-
def create_many(self, items: list[ItemT]) -> list[ItemT]:
|
|
14
|
-
pass
|
|
15
|
-
|
|
16
|
-
def read(self, item_id: IdT) -> ItemT:
|
|
17
|
-
pass
|
|
18
|
-
|
|
19
|
-
def update(self, item: ItemT) -> None:
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
def update_many(self, items: list[ItemT]) -> None:
|
|
23
|
-
pass
|
|
24
|
-
|
|
25
|
-
def delete(self, item_id: IdT) -> None:
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
def bind(self, **kwargs: Any) -> Repository[IdT, ItemT]:
|
|
29
|
-
pass
|
|
30
|
-
|
|
31
|
-
def __iter__(self) -> Iterator[ItemT]:
|
|
32
|
-
pass
|
|
33
|
-
|
|
34
|
-
def __len__(self) -> int:
|
|
35
|
-
pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{apexdevkit-1.12.6 → apexdevkit-1.13.2}/apexdevkit/repository/alternative/formatter_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|