1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
- namespace OCA\Testing\Provider;
- use OCP\TextProcessing\FreePromptTaskType;
- use OCP\TextProcessing\IProviderWithExpectedRuntime;
- use OCP\TextProcessing\ITaskType;
- /**
- * @template-implements IProviderWithExpectedRuntime<FreePromptTaskType|ITaskType>
- */
- class FakeTextProcessingProviderSync implements IProviderWithExpectedRuntime {
- public function getName(): string {
- return 'Fake text processing provider (synchronous)';
- }
- public function process(string $prompt): string {
- return $this->mb_strrev($prompt) . ' (done with FakeTextProcessingProviderSync)';
- }
- public function getTaskType(): string {
- return FreePromptTaskType::class;
- }
- public function getExpectedRuntime(): int {
- return 1;
- }
- /**
- * Reverse a miltibyte string.
- *
- * @param string $string The string to be reversed.
- * @return string The reversed string
- */
- private function mb_strrev(string $string): string {
- $chars = mb_str_split($string, 1);
- return implode('', array_reverse($chars));
- }
- }
|