Skip to content

Commit

Permalink
ILanguageModelTask: Use php type checking along with psalm parameteri…
Browse files Browse the repository at this point in the history
…zed types

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
  • Loading branch information
marcelklehr committed Jul 7, 2023
1 parent 0a94525 commit 27e1c86
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 12 deletions.
4 changes: 2 additions & 2 deletions lib/public/LanguageModel/FreePromptTask.php
Expand Up @@ -39,15 +39,15 @@ final class FreePromptTask extends AbstractLanguageModelTask {
* @inheritDoc
* @since 28.0.0
*/
public function visitProvider($provider): string {
public function visitProvider(ILanguageModelProvider $provider): string {
return $provider->prompt($this->getInput());
}

/**
* @inheritDoc
* @since 28.0.0
*/
public function canUseProvider($provider): bool {
public function canUseProvider(ILanguageModelProvider $provider): bool {
return true;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/public/LanguageModel/HeadlineTask.php
Expand Up @@ -41,7 +41,7 @@ final class HeadlineTask extends AbstractLanguageModelTask {
* @inheritDoc
* @since 28.0.0
*/
public function visitProvider($provider): string {
public function visitProvider(ILanguageModelProvider $provider): string {
if (!$this->canUseProvider($provider)) {
throw new \RuntimeException('HeadlineTask#visitProvider expects IHeadlineProvider');
}
Expand All @@ -52,7 +52,7 @@ public function visitProvider($provider): string {
* @inheritDoc
* @since 28.0.0
*/
public function canUseProvider($provider): bool {
public function canUseProvider(ILanguageModelProvider $provider): bool {
return $provider instanceof IHeadlineProvider;
}

Expand Down
10 changes: 6 additions & 4 deletions lib/public/LanguageModel/ILanguageModelTask.php
Expand Up @@ -62,18 +62,20 @@ interface ILanguageModelTask extends \JsonSerializable {
];

/**
* @param T $provider
* @psalm-param T $provider
* @param ILanguageModelProvider $provider
* @return string
* @since 28.0.0
*/
public function visitProvider($provider): string;
public function visitProvider(ILanguageModelProvider $provider): string;

/**
* @param T $provider
* @psalm-param T $provider
* @param ILanguageModelProvider $provider
* @return bool
* @since 28.0.0
*/
public function canUseProvider($provider): bool;
public function canUseProvider(ILanguageModelProvider $provider): bool;


/**
Expand Down
4 changes: 2 additions & 2 deletions lib/public/LanguageModel/SummaryTask.php
Expand Up @@ -41,7 +41,7 @@ final class SummaryTask extends AbstractLanguageModelTask {
* @inheritDoc
* @since 28.0.0
*/
public function visitProvider($provider): string {
public function visitProvider(ILanguageModelProvider $provider): string {
if (!$this->canUseProvider($provider)) {
throw new \RuntimeException('SummaryTask#visitProvider expects ISummaryProvider');
}
Expand All @@ -52,7 +52,7 @@ public function visitProvider($provider): string {
* @inheritDoc
* @since 28.0.0
*/
public function canUseProvider($provider): bool {
public function canUseProvider(ILanguageModelProvider $provider): bool {
return $provider instanceof ISummaryProvider;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/public/LanguageModel/TopicsTask.php
Expand Up @@ -41,7 +41,7 @@ final class TopicsTask extends AbstractLanguageModelTask {
* @inheritDoc
* @since 28.0.0
*/
public function visitProvider($provider): string {
public function visitProvider(ILanguageModelProvider $provider): string {
if (!$this->canUseProvider($provider)) {
throw new \RuntimeException('TopicsTask#visitProvider expects ITopicsProvider');
}
Expand All @@ -52,7 +52,7 @@ public function visitProvider($provider): string {
* @inheritDoc
* @since 28.0.0
*/
public function canUseProvider($provider): bool {
public function canUseProvider(ILanguageModelProvider $provider): bool {
return $provider instanceof ITopicsProvider;
}

Expand Down

0 comments on commit 27e1c86

Please sign in to comment.