diff --git a/README.md b/README.md
index f2e45e7..cd78f61 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@ Psl is a standard library for PHP, inspired by [hhvm/hsl](https://github.com/hhv
The goal of Psl is to provide a consistent, centralized, well-typed set of APIs for PHP programmers.
## Example
+
```php
- ...
-
- ...
-
-
-
-
-```
+Please refer to the [`php-standard-library/psalm-plugin`](https://github.com/php-standard-library/psalm-plugin) repository.
## Documentation
@@ -70,35 +58,32 @@ You can read through the API documentation in [`docs/README.md`](./docs/README.m
## Principles
- - All functions should be typed as strictly as possible
- - The library should be internally consistent
- - References may not be used
- - Arguments should be as general as possible. For example, for `array` functions, prefer `iterable` inputs where practical, falling back to `array` when needed.
- - Return types should be as specific as possible
- - All files should contain `declare(strict_types=1);`
+- All functions should be typed as strictly as possible
+- The library should be internally consistent
+- References may not be used
+- Arguments should be as general as possible. For example, for `array` functions, prefer `iterable` inputs where practical, falling back to `array` when needed.
+- Return types should be as specific as possible
+- All files should contain `declare(strict_types=1);`
## Consistency Rules
This is not exhaustive list.
- - Functions argument order should be consistent within the library
- - All iterable-related functions take the iterable as the first argument ( e.g. `Iter\map` and `Iter\filter` )
- - `$haystack`, `$needle`, and `$pattern` are in the same order for all functions that take them
- - Functions should be consistently named.
- - If an operation can conceivably operate on either keys or values, the default is to operate on the values - the version that operates on keys should have `_key` suffix (e.g. `Iter\last`, `Iter\last_key`, `Iter\contains`, `Iter\contains_key` )
- - Find-like operations that can fail should return `?T`; a second function should be added with an `x` suffix that uses an invariant to return `T` (e.g. `Arr\last`, `Arr\lastx`)
- - Iterable functions that do an operation based on a user-supplied keying function for each element should be suffixed with `_by` (e.g. `Arr\sort_by`, `Iter\group_by`, `Math\max_by`)
+- Functions argument order should be consistent within the library
+ - All iterable-related functions take the iterable as the first argument ( e.g. `Iter\map` and `Iter\filter` )
+ - `$haystack`, `$needle`, and `$pattern` are in the same order for all functions that take them
+- Functions should be consistently named.
+- If an operation can conceivably operate on either keys or values, the default is to operate on the values - the version that operates on keys should have `_key` suffix (e.g. `Iter\last`, `Iter\last_key`, `Iter\contains`, `Iter\contains_key` )
+- Iterable functions that do an operation based on a user-supplied keying function for each element should be suffixed with `_by` (e.g. `Arr\sort_by`, `Iter\group_by`, `Math\max_by`)
## Sponsors
Thanks to our sponsors and supporters:
-
| JetBrains |
|---|
| |
-
## License
The MIT License (MIT). Please see [`LICENSE`](./LICENSE) for more information.
diff --git a/composer.json b/composer.json
index c7057b2..92789cc 100644
--- a/composer.json
+++ b/composer.json
@@ -22,7 +22,8 @@
"friendsofphp/php-cs-fixer": "^2.18",
"roave/security-advisories": "dev-master",
"squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "dev-master"
+ "vimeo/psalm": "dev-master",
+ "php-standard-library/psalm-plugin": "^1.0"
},
"autoload": {
"psr-4": {
@@ -71,4 +72,4 @@
"url": "https://github.com/hhvm/hsl"
}
}
-}
+}
\ No newline at end of file
diff --git a/integration/Psalm/Plugin.php b/integration/Psalm/Plugin.php
index dec5a36..b8030a9 100644
--- a/integration/Psalm/Plugin.php
+++ b/integration/Psalm/Plugin.php
@@ -8,6 +8,11 @@ use Psalm\Plugin\PluginEntryPointInterface;
use Psalm\Plugin\RegistrationInterface;
use SimpleXMLElement;
+/**
+ * @deprecated use `php-standard-library/psalm-plugin` package instead.
+ *
+ * @see https://github.com/php-standard-library/psalm-plugin
+ */
final class Plugin implements PluginEntryPointInterface
{
public function __invoke(RegistrationInterface $registration, ?SimpleXMLElement $config = null): void