starting work on modernizing everything for v1.5
This commit is contained in:
parent
2c1b190b43
commit
949337ccbb
16 changed files with 104 additions and 49 deletions
14
.github/workflows/phpstan.yml
vendored
Normal file
14
.github/workflows/phpstan.yml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
name: phpstan
|
||||
on: push
|
||||
jobs:
|
||||
phpstan:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: php-actions/composer@v6
|
||||
with:
|
||||
dev: yes
|
||||
- uses: php-actions/phpstan@v3
|
||||
with:
|
||||
memory_limit: 1G
|
||||
args: --memory-limit 1G
|
11
.github/workflows/phpunit.yml
vendored
Normal file
11
.github/workflows/phpunit.yml
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
name: phpunit
|
||||
on: push
|
||||
jobs:
|
||||
phpunit:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: php-actions/composer@v6
|
||||
with:
|
||||
dev: yes
|
||||
- uses: php-actions/phpunit@v3
|
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
|||
/vendor/
|
||||
composer.lock
|
||||
/vendor
|
||||
/composer.lock
|
||||
/.phpunit.result.cache
|
||||
/coverage
|
|
@ -3,12 +3,15 @@
|
|||
"description": "A library for working with multi-dimensional arrays through flattened keys",
|
||||
"type": "library",
|
||||
"license": "MIT",
|
||||
"authors": [{
|
||||
"name": "Joby Elliott",
|
||||
"email": "joby@byjoby.com"
|
||||
}],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Joby Elliott",
|
||||
"email": "joby@byjoby.com"
|
||||
}
|
||||
],
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7.3"
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"phpstan/phpstan": "^1.9"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
@ -21,12 +24,11 @@
|
|||
}
|
||||
},
|
||||
"scripts": {
|
||||
"test": [
|
||||
"phpunit"
|
||||
]
|
||||
"test": "phpunit",
|
||||
"stan": "phpstan"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1",
|
||||
"php": ">=8.1",
|
||||
"mustangostang/spyc": "^0.6.3"
|
||||
}
|
||||
}
|
||||
|
|
4
phpstan.neon
Normal file
4
phpstan.neon
Normal file
|
@ -0,0 +1,4 @@
|
|||
parameters:
|
||||
level: 1
|
||||
paths:
|
||||
- src
|
32
phpunit.xml
32
phpunit.xml
|
@ -1,7 +1,31 @@
|
|||
<phpunit bootstrap="vendor/autoload.php">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
||||
colors="true"
|
||||
executionOrder="random"
|
||||
failOnWarning="true"
|
||||
failOnRisky="true"
|
||||
failOnEmptyTestSuite="true"
|
||||
beStrictAboutOutputDuringTests="true"
|
||||
verbose="true"
|
||||
bootstrap="vendor/autoload.php">
|
||||
<php>
|
||||
<ini name="display_errors" value="On" />
|
||||
<ini name="error_reporting" value="-1" />
|
||||
<ini name="xdebug.mode" value="coverage" />
|
||||
</php>
|
||||
<testsuites>
|
||||
<testsuite name="All">
|
||||
<directory>tests</directory>
|
||||
<testsuite name="Tests">
|
||||
<directory>tests/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
</phpunit>
|
||||
<coverage>
|
||||
<include>
|
||||
<directory suffix=".php">src</directory>
|
||||
</include>
|
||||
<report>
|
||||
<html outputDirectory="coverage" lowUpperBound="50" highLowerBound="90" />
|
||||
</report>
|
||||
</coverage>
|
||||
</phpunit>
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
|
||||
namespace Flatrr\Config;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
namespace Flatrr\Config;
|
||||
|
||||
interface ConfigInterface extends \ArrayAccess
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
namespace Flatrr;
|
||||
|
||||
class FlatArray implements FlatArrayInterface
|
||||
|
|
|
@ -1,8 +1,16 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
|
||||
namespace Flatrr;
|
||||
|
||||
interface FlatArrayInterface extends \ArrayAccess, \Iterator
|
||||
use ArrayAccess;
|
||||
use Iterator;
|
||||
|
||||
/**
|
||||
* @extends ArrayAccess<string|mixed>
|
||||
* @extends Iterator<string|mixed>
|
||||
*/
|
||||
interface FlatArrayInterface extends ArrayAccess, Iterator
|
||||
{
|
||||
public function set(?string $name, $value);
|
||||
public function get(?string $name = null);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
|
||||
namespace Flatrr;
|
||||
|
||||
|
@ -71,47 +71,47 @@ trait FlatArrayTrait
|
|||
$this->flattenSearch($name, null, true);
|
||||
}
|
||||
|
||||
public function offsetSet($name, $value)
|
||||
public function offsetSet($name, $value): void
|
||||
{
|
||||
return $this->set($name, $value);
|
||||
$this->set($name, $value);
|
||||
}
|
||||
|
||||
public function offsetGet($name)
|
||||
public function offsetGet($name): mixed
|
||||
{
|
||||
return $this->get($name);
|
||||
}
|
||||
|
||||
public function offsetExists($name)
|
||||
public function offsetExists($name): bool
|
||||
{
|
||||
return $this->flattenSearch($name) !== null;
|
||||
}
|
||||
|
||||
public function offsetUnset($name)
|
||||
public function offsetUnset($name): void
|
||||
{
|
||||
$this->unset($name);
|
||||
}
|
||||
|
||||
public function rewind()
|
||||
public function rewind(): void
|
||||
{
|
||||
return reset($this->_arrayData);
|
||||
reset($this->_arrayData);
|
||||
}
|
||||
|
||||
public function current()
|
||||
public function current(): mixed
|
||||
{
|
||||
return current($this->_arrayData);
|
||||
}
|
||||
|
||||
public function next()
|
||||
public function next(): void
|
||||
{
|
||||
return next($this->_arrayData);
|
||||
next($this->_arrayData);
|
||||
}
|
||||
|
||||
public function key()
|
||||
public function key(): null|string
|
||||
{
|
||||
return key($this->_arrayData);
|
||||
}
|
||||
|
||||
public function valid()
|
||||
public function valid(): bool
|
||||
{
|
||||
return isset($this->_arrayData[$this->key()]);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
|
||||
namespace Flatrr;
|
||||
|
||||
|
@ -46,17 +46,7 @@ class SelfReferencingFlatArray extends FlatArray
|
|||
return $this->filter(parent::shift($name));
|
||||
}
|
||||
|
||||
public function rewind()
|
||||
{
|
||||
return $this->filter(parent::rewind());
|
||||
}
|
||||
|
||||
public function next()
|
||||
{
|
||||
return $this->filter(parent::next());
|
||||
}
|
||||
|
||||
public function current()
|
||||
public function current(): mixed
|
||||
{
|
||||
return $this->filter(parent::current());
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
declare(strict_types=1);
|
||||
namespace Flatrr\Config;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
declare(strict_types=1);
|
||||
namespace Flatrr;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
declare(strict_types=1);
|
||||
namespace Flatrr;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Flatrr | https://gitlab.com/byjoby/flatrr | MIT License */
|
||||
/* Flatrr | https://github.com/jobyone/flatrr | MIT License */
|
||||
declare(strict_types=1);
|
||||
namespace Flatrr;
|
||||
|
||||
|
|
Loading…
Reference in a new issue