|
11 | 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
12 | 12 | # License for the specific language governing permissions and limitations |
13 | 13 | # under the License. |
| 14 | +from __future__ import annotations |
| 15 | + |
14 | 16 | import typing |
15 | 17 |
|
16 | 18 | from cloudevents.sdk.event import base, opt |
17 | 19 |
|
| 20 | +if typing.TYPE_CHECKING: |
| 21 | + from typing_extensions import Self |
| 22 | + |
18 | 23 |
|
19 | 24 | class Event(base.BaseEvent): |
20 | 25 | _ce_required_fields = {"id", "source", "type", "specversion"} |
@@ -79,39 +84,39 @@ def Extensions(self) -> dict: |
79 | 84 | return {} |
80 | 85 | return dict(result) |
81 | 86 |
|
82 | | - def SetEventType(self, eventType: str) -> base.BaseEvent: |
| 87 | + def SetEventType(self, eventType: str) -> Self: |
83 | 88 | self.Set("type", eventType) |
84 | 89 | return self |
85 | 90 |
|
86 | | - def SetSource(self, source: str) -> base.BaseEvent: |
| 91 | + def SetSource(self, source: str) -> Self: |
87 | 92 | self.Set("source", source) |
88 | 93 | return self |
89 | 94 |
|
90 | | - def SetEventID(self, eventID: str) -> base.BaseEvent: |
| 95 | + def SetEventID(self, eventID: str) -> Self: |
91 | 96 | self.Set("id", eventID) |
92 | 97 | return self |
93 | 98 |
|
94 | | - def SetEventTime(self, eventTime: typing.Optional[str]) -> base.BaseEvent: |
| 99 | + def SetEventTime(self, eventTime: typing.Optional[str]) -> Self: |
95 | 100 | self.Set("time", eventTime) |
96 | 101 | return self |
97 | 102 |
|
98 | | - def SetSubject(self, subject: typing.Optional[str]) -> base.BaseEvent: |
| 103 | + def SetSubject(self, subject: typing.Optional[str]) -> Self: |
99 | 104 | self.Set("subject", subject) |
100 | 105 | return self |
101 | 106 |
|
102 | | - def SetSchema(self, schema: typing.Optional[str]) -> base.BaseEvent: |
| 107 | + def SetSchema(self, schema: typing.Optional[str]) -> Self: |
103 | 108 | self.Set("dataschema", schema) |
104 | 109 | return self |
105 | 110 |
|
106 | | - def SetContentType(self, contentType: typing.Optional[str]) -> base.BaseEvent: |
| 111 | + def SetContentType(self, contentType: typing.Optional[str]) -> Self: |
107 | 112 | self.Set("datacontenttype", contentType) |
108 | 113 | return self |
109 | 114 |
|
110 | | - def SetData(self, data: typing.Optional[object]) -> base.BaseEvent: |
| 115 | + def SetData(self, data: typing.Optional[object]) -> Self: |
111 | 116 | self.Set("data", data) |
112 | 117 | return self |
113 | 118 |
|
114 | | - def SetExtensions(self, extensions: typing.Optional[dict]) -> base.BaseEvent: |
| 119 | + def SetExtensions(self, extensions: typing.Optional[dict]) -> Self: |
115 | 120 | self.Set("extensions", extensions) |
116 | 121 | return self |
117 | 122 |
|
|
0 commit comments