Skip to content
This repository was archived by the owner on Aug 9, 2023. It is now read-only.

Commit 715b8d0

Browse files
authored
Add more precise types in the Laravel integrations (#1496)
1 parent 0f99d0f commit 715b8d0

File tree

2 files changed

+57
-7
lines changed

2 files changed

+57
-7
lines changed

src/ServiceProvider.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111

1212
class ServiceProvider extends AbstractServiceProvider
1313
{
14+
/**
15+
* @return void
16+
*/
1417
public function boot()
1518
{
1619
/** @var MailManager $manager */

src/Transport/AsyncAwsSesTransport.php

Lines changed: 54 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use AsyncAws\Ses\SesClient;
66
use AsyncAws\Ses\ValueObject\Destination;
77
use AsyncAws\Ses\ValueObject\EmailContent;
8+
use AsyncAws\Ses\ValueObject\ListManagementOptions;
9+
use AsyncAws\Ses\ValueObject\MessageTag;
810
use AsyncAws\Ses\ValueObject\RawMessage;
911
use Illuminate\Mail\Transport\Transport;
1012

@@ -23,18 +25,34 @@ class AsyncAwsSesTransport extends Transport
2325
/**
2426
* The Amazon SES transmission options.
2527
*
26-
* @var array
28+
* @var array{
29+
* FromEmailAddress?: string,
30+
* FromEmailAddressIdentityArn?: string,
31+
* ReplyToAddresses?: string[],
32+
* FeedbackForwardingEmailAddress?: string,
33+
* FeedbackForwardingEmailAddressIdentityArn?: string,
34+
* EmailTags?: array<MessageTag|array>,
35+
* ConfigurationSetName?: string,
36+
* ListManagementOptions?: ListManagementOptions|array,
37+
* }
2738
*/
2839
protected $options = [];
2940

3041
/**
3142
* Create a new SES transport instance.
3243
*
33-
* @param array $options
34-
*
35-
* @return void
44+
* @param array{
45+
* FromEmailAddress?: string,
46+
* FromEmailAddressIdentityArn?: string,
47+
* ReplyToAddresses?: string[],
48+
* FeedbackForwardingEmailAddress?: string,
49+
* FeedbackForwardingEmailAddressIdentityArn?: string,
50+
* EmailTags?: array<MessageTag|array>,
51+
* ConfigurationSetName?: string,
52+
* ListManagementOptions?: ListManagementOptions|array,
53+
* } $options
3654
*/
37-
public function __construct(SesClient $ses, $options = [])
55+
public function __construct(SesClient $ses, array $options = [])
3856
{
3957
$this->ses = $ses;
4058
$this->options = $options;
@@ -87,7 +105,16 @@ public function ses()
87105
/**
88106
* Get the transmission options being used by the transport.
89107
*
90-
* @return array
108+
* @return array{
109+
* FromEmailAddress?: string,
110+
* FromEmailAddressIdentityArn?: string,
111+
* ReplyToAddresses?: string[],
112+
* FeedbackForwardingEmailAddress?: string,
113+
* FeedbackForwardingEmailAddressIdentityArn?: string,
114+
* EmailTags?: array<MessageTag|array>,
115+
* ConfigurationSetName?: string,
116+
* ListManagementOptions?: ListManagementOptions|array,
117+
* }
91118
*/
92119
public function getOptions()
93120
{
@@ -97,7 +124,27 @@ public function getOptions()
97124
/**
98125
* Set the transmission options being used by the transport.
99126
*
100-
* @return array
127+
* @param array{
128+
* FromEmailAddress?: string,
129+
* FromEmailAddressIdentityArn?: string,
130+
* ReplyToAddresses?: string[],
131+
* FeedbackForwardingEmailAddress?: string,
132+
* FeedbackForwardingEmailAddressIdentityArn?: string,
133+
* EmailTags?: array<MessageTag|array>,
134+
* ConfigurationSetName?: string,
135+
* ListManagementOptions?: ListManagementOptions|array,
136+
* } $options
137+
*
138+
* @return array{
139+
* FromEmailAddress?: string,
140+
* FromEmailAddressIdentityArn?: string,
141+
* ReplyToAddresses?: string[],
142+
* FeedbackForwardingEmailAddress?: string,
143+
* FeedbackForwardingEmailAddressIdentityArn?: string,
144+
* EmailTags?: array<MessageTag|array>,
145+
* ConfigurationSetName?: string,
146+
* ListManagementOptions?: ListManagementOptions|array,
147+
* }
101148
*/
102149
public function setOptions(array $options)
103150
{

0 commit comments

Comments
 (0)