diff --git a/docs/docs/danog/AsyncOrm/Annotations/OrmMappedArray.md b/docs/docs/danog/AsyncOrm/Annotations/OrmMappedArray.md
index eb59358..a87d988 100644
--- a/docs/docs/danog/AsyncOrm/Annotations/OrmMappedArray.md
+++ b/docs/docs/danog/AsyncOrm/Annotations/OrmMappedArray.md
@@ -15,17 +15,19 @@ Attribute use to autoconfigure ORM properties.
## Properties
-* `$keyType`: `\danog\AsyncOrm\KeyType` Key type.
-* `$valueType`: `\danog\AsyncOrm\ValueType` Value type.
-* `$cacheTtl`: `int<0, max>|null`
-* `$optimizeIfWastedMb`: `int<1, max>|null`
+* `$keyType`: `danog\AsyncOrm\KeyType` Key type.
+* `$valueType`: `danog\AsyncOrm\ValueType` Value type.
+* `$cacheTtl`: `(int<0, max> | null)` TTL of the cache, if null defaults to the value specified in the settings.
+
+If zero disables caching.
+* `$optimizeIfWastedMb`: `(int<1, max> | null)` Optimize table if more than this many megabytes are wasted, if null defaults to the value specified in the settings.
* `$tablePostfix`: `?string` Table name postfix, if null defaults to the property name.
## Method list:
-* [`__construct(\danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType, ?int $cacheTtl = NULL, ?int $optimizeIfWastedMb = NULL, ?string $tablePostfix = NULL)`](#__construct-danog-asyncorm-keytype-keytype-danog-asyncorm-valuetype-valuetype-int-cachettl-null-int-optimizeifwastedmb-null-string-tablepostfix-null)
+* [`__construct(\danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType, ?int $cacheTtl = NULL, ?int $optimizeIfWastedMb = NULL, ?string $tablePostfix = NULL)`](#__construct)
## Methods:
-### `__construct(\danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType, ?int $cacheTtl = NULL, ?int $optimizeIfWastedMb = NULL, ?string $tablePostfix = NULL)`
+### `__construct(\danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType, ?int $cacheTtl = NULL, ?int $optimizeIfWastedMb = NULL, ?string $tablePostfix = NULL)`
diff --git a/docs/docs/danog/AsyncOrm/DbArray.md b/docs/docs/danog/AsyncOrm/DbArray.md
index 2fdcacc..7288d6b 100644
--- a/docs/docs/danog/AsyncOrm/DbArray.md
+++ b/docs/docs/danog/AsyncOrm/DbArray.md
@@ -16,168 +16,168 @@ DB array interface.
## Method list:
-* [`isset(\TKey $key): bool`](#isset-tkey-key-bool)
-* [`offsetGet(\TKey $offset): \TValue`](#offsetget-tkey-offset-tvalue)
-* [`offsetExists(\TKey $offset): bool`](#offsetexists-tkey-offset-bool)
-* [`offsetSet(\TKey $offset, \TValue $value): void`](#offsetset-tkey-offset-tvalue-value-void)
-* [`offsetUnset(\TKey $offset): void`](#offsetunset-tkey-offset-void)
-* [`getArrayCopy(): array`](#getarraycopy-array)
-* [`unset(\TKey $key): void`](#unset-tkey-key-void)
-* [`set(\TKey $key, \TValue $value): void`](#set-tkey-key-tvalue-value-void)
-* [`get(\TKey $key): ?\TValue`](#get-tkey-key-tvalue)
-* [`clear(): void`](#clear-void)
-* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?self $previous): self`](#getinstance-danog-asyncorm-dbarraybuilder-config-self-previous-self)
-* [`count(): mixed`](#count-mixed)
-* [`getIterator(): mixed`](#getiterator-mixed)
+* [`isset(TKey $key): bool`](#isset)
+* [`offsetGet(TKey $offset): TValue`](#offsetGet)
+* [`offsetExists(TKey $offset): bool`](#offsetExists)
+* [`offsetSet(TKey $offset, TValue $value): void`](#offsetSet)
+* [`offsetUnset(TKey $offset): void`](#offsetUnset)
+* [`getArrayCopy(): array`](#getArrayCopy)
+* [`unset(TKey $key): void`](#unset)
+* [`set(TKey $key, TValue $value): void`](#set)
+* [`get(TKey $key): ?TValue`](#get)
+* [`clear(): void`](#clear)
+* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, (\danog\AsyncOrm\DbArray|null) $previous): \danog\AsyncOrm\DbArray`](#getInstance)
+* [`count()`](#count)
+* [`getIterator()`](#getIterator)
## Methods:
-### `isset(\TKey $key): bool`
+### `isset(TKey $key): bool`
Check if element exists.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetGet(\TKey $offset): \TValue`
+### `offsetGet(TKey $offset): TValue`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetExists(\TKey $offset): bool`
+### `offsetExists(TKey $offset): bool`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetSet(\TKey $offset, \TValue $value): void`
+### `offsetSet(TKey $offset, TValue $value): void`
Parameters:
-* `$offset`: `\TKey`
-* `$value`: `\TValue`
+* `$offset`: `TKey`
+* `$value`: `TValue`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetUnset(\TKey $offset): void`
+### `offsetUnset(TKey $offset): void`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `getArrayCopy(): array`
+### `getArrayCopy(): array`
-### `unset(\TKey $key): void`
+### `unset(TKey $key): void`
Unset element.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `set(\TKey $key, \TValue $value): void`
+### `set(TKey $key, TValue $value): void`
Set element.
Parameters:
-* `$key`: `\TKey`
-* `$value`: `\TValue`
+* `$key`: `TKey`
+* `$value`: `TValue`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `get(\TKey $key): ?\TValue`
+### `get(TKey $key): ?TValue`
Get element.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `clear(): void`
+### `clear(): void`
Clear all elements.
-### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?self $previous): self`
+### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, (\danog\AsyncOrm\DbArray|null) $previous): \danog\AsyncOrm\DbArray`
Get instance.
@@ -185,22 +185,24 @@ Get instance.
Parameters:
* `$config`: `\danog\AsyncOrm\DbArrayBuilder`
-* `$previous`: `?self`
+* `$previous`: `(\danog\AsyncOrm\DbArray|null)`
#### See also:
* [`\danog\AsyncOrm\DbArrayBuilder`: Contains configuration needed to build a DbArray.](../../danog/AsyncOrm/DbArrayBuilder.md)
+* `TTKey`
+* `TValue`
-### `count(): mixed`
+### `count()`
-### `getIterator(): mixed`
+### `getIterator()`
diff --git a/docs/docs/danog/AsyncOrm/DbArrayBuilder.md b/docs/docs/danog/AsyncOrm/DbArrayBuilder.md
index fbfa0dc..7e16fd1 100644
--- a/docs/docs/danog/AsyncOrm/DbArrayBuilder.md
+++ b/docs/docs/danog/AsyncOrm/DbArrayBuilder.md
@@ -16,16 +16,16 @@ Contains configuration needed to build a DbArray.
## Properties
* `$table`: `string` Table name.
-* `$settings`: `\danog\AsyncOrm\Settings` Settings.
-* `$keyType`: `\danog\AsyncOrm\KeyType` Key type.
-* `$valueType`: `\danog\AsyncOrm\ValueType` Value type.
+* `$settings`: `danog\AsyncOrm\Settings` Settings.
+* `$keyType`: `danog\AsyncOrm\KeyType` Key type.
+* `$valueType`: `danog\AsyncOrm\ValueType` Value type.
## Method list:
-* [`__construct(string $table, \danog\AsyncOrm\Settings $settings, \danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType)`](#__construct-string-table-danog-asyncorm-settings-settings-danog-asyncorm-keytype-keytype-danog-asyncorm-valuetype-valuetype)
-* [`build(?\danog\AsyncOrm\DbArray $previous = NULL): \danog\AsyncOrm\DbArray`](#build-danog-asyncorm-dbarray-previous-null-danog-asyncorm-dbarray)
+* [`__construct(string $table, \danog\AsyncOrm\Settings $settings, \danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType)`](#__construct)
+* [`build((\danog\AsyncOrm\DbArray|null) $previous = NULL): \danog\AsyncOrm\DbArray`](#build)
## Methods:
-### `__construct(string $table, \danog\AsyncOrm\Settings $settings, \danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType)`
+### `__construct(string $table, \danog\AsyncOrm\Settings $settings, \danog\AsyncOrm\KeyType $keyType, \danog\AsyncOrm\ValueType $valueType)`
@@ -46,17 +46,19 @@ Parameters:
-### `build(?\danog\AsyncOrm\DbArray $previous = NULL): \danog\AsyncOrm\DbArray`
+### `build((\danog\AsyncOrm\DbArray|null) $previous = NULL): \danog\AsyncOrm\DbArray`
Build database array.
Parameters:
-* `$previous`: `?\danog\AsyncOrm\DbArray`
+* `$previous`: `(\danog\AsyncOrm\DbArray|null)`
#### See also:
+* `TKey`
+* `TValue`
* [`\danog\AsyncOrm\DbArray`: DB array interface.](../../danog/AsyncOrm/DbArray.md)
diff --git a/docs/docs/danog/AsyncOrm/DbAutoProperties.md b/docs/docs/danog/AsyncOrm/DbAutoProperties.md
index 143fed9..3ebae2c 100644
--- a/docs/docs/danog/AsyncOrm/DbAutoProperties.md
+++ b/docs/docs/danog/AsyncOrm/DbAutoProperties.md
@@ -16,11 +16,11 @@ Trait that provides autoconfiguration of OrmMappedArray properties.
## Method list:
-* [`initDbProperties(\danog\AsyncOrm\Settings $settings, string $tablePrefix): void`](#initdbproperties-danog-asyncorm-settings-settings-string-tableprefix-void)
-* [`saveDbProperties(): void`](#savedbproperties-void)
+* [`initDbProperties(\danog\AsyncOrm\Settings $settings, string $tablePrefix): void`](#initDbProperties)
+* [`saveDbProperties(): void`](#saveDbProperties)
## Methods:
-### `initDbProperties(\danog\AsyncOrm\Settings $settings, string $tablePrefix): void`
+### `initDbProperties(\danog\AsyncOrm\Settings $settings, string $tablePrefix): void`
Initialize database properties.
@@ -37,7 +37,7 @@ Parameters:
-### `saveDbProperties(): void`
+### `saveDbProperties(): void`
Save all properties.
diff --git a/docs/docs/danog/AsyncOrm/DbObject.md b/docs/docs/danog/AsyncOrm/DbObject.md
index 3b786ba..c8a5ef0 100644
--- a/docs/docs/danog/AsyncOrm/DbObject.md
+++ b/docs/docs/danog/AsyncOrm/DbObject.md
@@ -16,10 +16,10 @@ description: ""
## Method list:
-* [`save(): void`](#save-void)
+* [`save(): void`](#save)
## Methods:
-### `save(): void`
+### `save(): void`
Save object to database.
diff --git a/docs/docs/danog/AsyncOrm/Driver/DriverArray.md b/docs/docs/danog/AsyncOrm/Driver/DriverArray.md
index ee9c589..481ea91 100644
--- a/docs/docs/danog/AsyncOrm/Driver/DriverArray.md
+++ b/docs/docs/danog/AsyncOrm/Driver/DriverArray.md
@@ -16,22 +16,22 @@ Base class for driver-based arrays.
## Method list:
-* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`](#getinstance-danog-asyncorm-dbarraybuilder-config-danog-asyncorm-dbarray-previous-danog-asyncorm-dbarray)
-* [`isset(\TKey $key): bool`](#isset-tkey-key-bool)
-* [`offsetGet(\TKey $offset): \TValue`](#offsetget-tkey-offset-tvalue)
-* [`offsetExists(\TKey $offset): bool`](#offsetexists-tkey-offset-bool)
-* [`offsetSet(\TKey $offset, \TValue $value): void`](#offsetset-tkey-offset-tvalue-value-void)
-* [`offsetUnset(\TKey $offset): void`](#offsetunset-tkey-offset-void)
-* [`getArrayCopy(): array`](#getarraycopy-array)
-* [`unset(\TKey $key): void`](#unset-tkey-key-void)
-* [`set(\TKey $key, \TValue $value): void`](#set-tkey-key-tvalue-value-void)
-* [`get(\TKey $key): ?\TValue`](#get-tkey-key-tvalue)
-* [`clear(): void`](#clear-void)
-* [`count(): mixed`](#count-mixed)
-* [`getIterator(): mixed`](#getiterator-mixed)
+* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, \danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`](#getInstance)
+* [`isset(TKey $key): bool`](#isset)
+* [`offsetGet(TKey $offset): TValue`](#offsetGet)
+* [`offsetExists(TKey $offset): bool`](#offsetExists)
+* [`offsetSet(TKey $offset, TValue $value): void`](#offsetSet)
+* [`offsetUnset(TKey $offset): void`](#offsetUnset)
+* [`getArrayCopy(): array`](#getArrayCopy)
+* [`unset(TKey $key): void`](#unset)
+* [`set(TKey $key, TValue $value): void`](#set)
+* [`get(TKey $key): ?TValue`](#get)
+* [`clear(): void`](#clear)
+* [`count()`](#count)
+* [`getIterator()`](#getIterator)
## Methods:
-### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`
+### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, \danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`
@@ -39,169 +39,171 @@ Base class for driver-based arrays.
Parameters:
* `$config`: `\danog\AsyncOrm\DbArrayBuilder`
-* `$previous`: `?\danog\AsyncOrm\DbArray`
+* `$previous`: `\danog\AsyncOrm\DbArray`
#### See also:
* [`\danog\AsyncOrm\DbArrayBuilder`: Contains configuration needed to build a DbArray.](../../../danog/AsyncOrm/DbArrayBuilder.md)
+* `TTKey`
+* `TTValue`
* [`\danog\AsyncOrm\DbArray`: DB array interface.](../../../danog/AsyncOrm/DbArray.md)
-### `isset(\TKey $key): bool`
+### `isset(TKey $key): bool`
Check if element exists.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetGet(\TKey $offset): \TValue`
+### `offsetGet(TKey $offset): TValue`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetExists(\TKey $offset): bool`
+### `offsetExists(TKey $offset): bool`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetSet(\TKey $offset, \TValue $value): void`
+### `offsetSet(TKey $offset, TValue $value): void`
Parameters:
-* `$offset`: `\TKey`
-* `$value`: `\TValue`
+* `$offset`: `TKey`
+* `$value`: `TValue`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetUnset(\TKey $offset): void`
+### `offsetUnset(TKey $offset): void`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `getArrayCopy(): array`
+### `getArrayCopy(): array`
-### `unset(\TKey $key): void`
+### `unset(TKey $key): void`
Unset element.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `set(\TKey $key, \TValue $value): void`
+### `set(TKey $key, TValue $value): void`
Set element.
Parameters:
-* `$key`: `\TKey`
-* `$value`: `\TValue`
+* `$key`: `TKey`
+* `$value`: `TValue`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `get(\TKey $key): ?\TValue`
+### `get(TKey $key): ?TValue`
Get element.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `clear(): void`
+### `clear(): void`
Clear all elements.
-### `count(): mixed`
+### `count()`
-### `getIterator(): mixed`
+### `getIterator()`
diff --git a/docs/docs/danog/AsyncOrm/Driver/MemoryArray.md b/docs/docs/danog/AsyncOrm/Driver/MemoryArray.md
index 53b678b..cc1f9f5 100644
--- a/docs/docs/danog/AsyncOrm/Driver/MemoryArray.md
+++ b/docs/docs/danog/AsyncOrm/Driver/MemoryArray.md
@@ -16,23 +16,23 @@ Memory database backend.
## Method list:
-* [`__construct(array $data)`](#__construct-array-data)
-* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`](#getinstance-danog-asyncorm-dbarraybuilder-config-danog-asyncorm-dbarray-previous-danog-asyncorm-dbarray)
-* [`set(string|int $key, mixed $value): void`](#set-string-int-key-mixed-value-void)
-* [`get(string|int $key): mixed`](#get-string-int-key-mixed)
-* [`unset(string|int $key): void`](#unset-string-int-key-void)
-* [`clear(): void`](#clear-void)
-* [`count(): int`](#count-int)
-* [`getIterator(): \Traversable`](#getiterator-traversable)
-* [`getArrayCopy(): array`](#getarraycopy-array)
-* [`isset(\TKey $key): bool`](#isset-tkey-key-bool)
-* [`offsetGet(\TKey $offset): \TValue`](#offsetget-tkey-offset-tvalue)
-* [`offsetExists(\TKey $offset): bool`](#offsetexists-tkey-offset-bool)
-* [`offsetSet(\TKey $offset, \TValue $value): void`](#offsetset-tkey-offset-tvalue-value-void)
-* [`offsetUnset(\TKey $offset): void`](#offsetunset-tkey-offset-void)
+* [`__construct(array $data)`](#__construct)
+* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`](#getInstance)
+* [`set(string|int $key, mixed $value): void`](#set)
+* [`get(string|int $key): mixed`](#get)
+* [`unset(string|int $key): void`](#unset)
+* [`clear(): void`](#clear)
+* [`count(): int`](#count)
+* [`getIterator(): Traversable`](#getIterator)
+* [`getArrayCopy(): array`](#getArrayCopy)
+* [`isset(TKey $key): bool`](#isset)
+* [`offsetGet(TKey $offset): TValue`](#offsetGet)
+* [`offsetExists(TKey $offset): bool`](#offsetExists)
+* [`offsetSet(TKey $offset, TValue $value): void`](#offsetSet)
+* [`offsetUnset(TKey $offset): void`](#offsetUnset)
## Methods:
-### `__construct(array $data)`
+### `__construct(array $data)`
@@ -43,7 +43,7 @@ Parameters:
-### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`
+### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`
@@ -61,7 +61,7 @@ Parameters:
-### `set(string|int $key, mixed $value): void`
+### `set(string|int $key, mixed $value): void`
@@ -73,7 +73,7 @@ Parameters:
-### `get(string|int $key): mixed`
+### `get(string|int $key): mixed`
@@ -84,7 +84,7 @@ Parameters:
-### `unset(string|int $key): void`
+### `unset(string|int $key): void`
@@ -95,114 +95,114 @@ Parameters:
-### `clear(): void`
+### `clear(): void`
-### `count(): int`
+### `count(): int`
-### `getIterator(): \Traversable`
+### `getIterator(): Traversable`
#### See also:
-* `\Traversable`
+* `Traversable`
-### `getArrayCopy(): array`
+### `getArrayCopy(): array`
-### `isset(\TKey $key): bool`
+### `isset(TKey $key): bool`
Check if element exists.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetGet(\TKey $offset): \TValue`
+### `offsetGet(TKey $offset): TValue`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetExists(\TKey $offset): bool`
+### `offsetExists(TKey $offset): bool`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetSet(\TKey $offset, \TValue $value): void`
+### `offsetSet(TKey $offset, TValue $value): void`
Parameters:
-* `$offset`: `\TKey`
-* `$value`: `\TValue`
+* `$offset`: `TKey`
+* `$value`: `TValue`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetUnset(\TKey $offset): void`
+### `offsetUnset(TKey $offset): void`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
diff --git a/docs/docs/danog/AsyncOrm/Driver/SqlArray.md b/docs/docs/danog/AsyncOrm/Driver/SqlArray.md
index aeb1e06..f2cd9ab 100644
--- a/docs/docs/danog/AsyncOrm/Driver/SqlArray.md
+++ b/docs/docs/danog/AsyncOrm/Driver/SqlArray.md
@@ -16,23 +16,22 @@ Generic SQL database backend.
## Method list:
-* [`getIterator(): \Traversable`](#getiterator-traversable-array-key-mixed)
-* [`get(mixed $key): mixed`](#get-mixed-key-mixed)
-* [`set(string|int $key, mixed $value): void`](#set-string-int-key-mixed-value-void)
-* [`unset(string|int $key): void`](#unset-string-int-key-void)
-* [`count(): \int The number of elements or public properties in the associated
-array or object, respectively.`](#count-int-the-number-of-elements-or-public-properties-in-the-associated-array-or-object-respectively)
-* [`clear(): void`](#clear-void)
-* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`](#getinstance-danog-asyncorm-dbarraybuilder-config-danog-asyncorm-dbarray-previous-danog-asyncorm-dbarray)
-* [`isset(\TKey $key): bool`](#isset-tkey-key-bool)
-* [`offsetGet(\TKey $offset): \TValue`](#offsetget-tkey-offset-tvalue)
-* [`offsetExists(\TKey $offset): bool`](#offsetexists-tkey-offset-bool)
-* [`offsetSet(\TKey $offset, \TValue $value): void`](#offsetset-tkey-offset-tvalue-value-void)
-* [`offsetUnset(\TKey $offset): void`](#offsetunset-tkey-offset-void)
-* [`getArrayCopy(): array`](#getarraycopy-array)
+* [`getIterator(): \Traversable`](#getIterator)
+* [`get(mixed $key): mixed`](#get)
+* [`set(string|int $key, mixed $value): void`](#set)
+* [`unset(string|int $key): void`](#unset)
+* [`count(): int`](#count)
+* [`clear(): void`](#clear)
+* [`getInstance(\danog\AsyncOrm\DbArrayBuilder $config, \danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`](#getInstance)
+* [`isset(TKey $key): bool`](#isset)
+* [`offsetGet(TKey $offset): TValue`](#offsetGet)
+* [`offsetExists(TKey $offset): bool`](#offsetExists)
+* [`offsetSet(TKey $offset, TValue $value): void`](#offsetSet)
+* [`offsetUnset(TKey $offset): void`](#offsetUnset)
+* [`getArrayCopy(): array`](#getArrayCopy)
## Methods:
-### `getIterator(): \Traversable`
+### `getIterator(): \Traversable`
Get iterator.
@@ -43,7 +42,7 @@ Get iterator.
-### `get(mixed $key): mixed`
+### `get(mixed $key): mixed`
@@ -54,7 +53,7 @@ Parameters:
-### `set(string|int $key, mixed $value): void`
+### `set(string|int $key, mixed $value): void`
@@ -66,7 +65,7 @@ Parameters:
-### `unset(string|int $key): void`
+### `unset(string|int $key): void`
Unset value for an offset.
@@ -77,23 +76,22 @@ Parameters:
-### `count(): \int The number of elements or public properties in the associated
-array or object, respectively.`
+### `count(): int`
Count elements.
Return value: The number of elements or public properties in the associated
-array or object, respectively.
+ array or object, respectively.
-### `clear(): void`
+### `clear(): void`
Clear all elements.
-### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, ?\danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`
+### `getInstance(\danog\AsyncOrm\DbArrayBuilder $config, \danog\AsyncOrm\DbArray $previous): \danog\AsyncOrm\DbArray`
@@ -101,100 +99,102 @@ Clear all elements.
Parameters:
* `$config`: `\danog\AsyncOrm\DbArrayBuilder`
-* `$previous`: `?\danog\AsyncOrm\DbArray`
+* `$previous`: `\danog\AsyncOrm\DbArray`
#### See also:
* [`\danog\AsyncOrm\DbArrayBuilder`: Contains configuration needed to build a DbArray.](../../../danog/AsyncOrm/DbArrayBuilder.md)
+* `TTKey`
+* `TTValue`
* [`\danog\AsyncOrm\DbArray`: DB array interface.](../../../danog/AsyncOrm/DbArray.md)
-### `isset(\TKey $key): bool`
+### `isset(TKey $key): bool`
Check if element exists.
Parameters:
-* `$key`: `\TKey`
+* `$key`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetGet(\TKey $offset): \TValue`
+### `offsetGet(TKey $offset): TValue`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetExists(\TKey $offset): bool`
+### `offsetExists(TKey $offset): bool`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `offsetSet(\TKey $offset, \TValue $value): void`
+### `offsetSet(TKey $offset, TValue $value): void`
Parameters:
-* `$offset`: `\TKey`
-* `$value`: `\TValue`
+* `$offset`: `TKey`
+* `$value`: `TValue`
#### See also:
-* `\TKey`
-* `\TValue`
+* `TKey`
+* `TValue`
-### `offsetUnset(\TKey $offset): void`
+### `offsetUnset(TKey $offset): void`
Parameters:
-* `$offset`: `\TKey`
+* `$offset`: `TKey`
#### See also:
-* `\TKey`
+* `TKey`
-### `getArrayCopy(): array`
+### `getArrayCopy(): array`
diff --git a/docs/docs/danog/AsyncOrm/KeyType.md b/docs/docs/danog/AsyncOrm/KeyType.md
index 7dbc0fa..54694b8 100644
--- a/docs/docs/danog/AsyncOrm/KeyType.md
+++ b/docs/docs/danog/AsyncOrm/KeyType.md
@@ -27,18 +27,18 @@ Specifies the type of keys.
* `$value`: `string`
## Method list:
-* [`cases(): array`](#cases-array)
-* [`from(string|int $value): static`](#from-string-int-value-static)
-* [`tryFrom(string|int $value): ?static`](#tryfrom-string-int-value-static)
+* [`cases(): array`](#cases)
+* [`from(string|int $value): static`](#from)
+* [`tryFrom(string|int $value): ?static`](#tryFrom)
## Methods:
-### `cases(): array`
+### `cases(): array`
-### `from(string|int $value): static`
+### `from(string|int $value): static`
@@ -49,7 +49,7 @@ Parameters:
-### `tryFrom(string|int $value): ?static`
+### `tryFrom(string|int $value): ?static`
diff --git a/docs/docs/danog/AsyncOrm/Serializer.md b/docs/docs/danog/AsyncOrm/Serializer.md
index 50bd31e..47307aa 100644
--- a/docs/docs/danog/AsyncOrm/Serializer.md
+++ b/docs/docs/danog/AsyncOrm/Serializer.md
@@ -16,27 +16,27 @@ Serializer interface.
## Method list:
-* [`serialize(\TValue $value): mixed`](#serialize-tvalue-value-mixed)
-* [`deserialize(mixed $value): \TValue`](#deserialize-mixed-value-tvalue)
+* [`serialize(TValue $value): mixed`](#serialize)
+* [`deserialize(mixed $value): TValue`](#deserialize)
## Methods:
-### `serialize(\TValue $value): mixed`
+### `serialize(TValue $value): mixed`
Parameters:
-* `$value`: `\TValue`
+* `$value`: `TValue`
#### See also:
-* `\TValue`
+* `TValue`
-### `deserialize(mixed $value): \TValue`
+### `deserialize(mixed $value): TValue`
@@ -47,7 +47,7 @@ Parameters:
#### See also:
-* `\TValue`
+* `TValue`
diff --git a/docs/docs/danog/AsyncOrm/Serializer/Igbinary.md b/docs/docs/danog/AsyncOrm/Serializer/Igbinary.md
index 084e97d..4987621 100644
--- a/docs/docs/danog/AsyncOrm/Serializer/Igbinary.md
+++ b/docs/docs/danog/AsyncOrm/Serializer/Igbinary.md
@@ -16,11 +16,11 @@ Igbinary serializer.
## Method list:
-* [`serialize(mixed $value): mixed`](#serialize-mixed-value-mixed)
-* [`deserialize(mixed $value): mixed`](#deserialize-mixed-value-mixed)
+* [`serialize(mixed $value): mixed`](#serialize)
+* [`deserialize(mixed $value): mixed`](#deserialize)
## Methods:
-### `serialize(mixed $value): mixed`
+### `serialize(mixed $value): mixed`
@@ -31,7 +31,7 @@ Parameters:
-### `deserialize(mixed $value): mixed`
+### `deserialize(mixed $value): mixed`
diff --git a/docs/docs/danog/AsyncOrm/Serializer/Json.md b/docs/docs/danog/AsyncOrm/Serializer/Json.md
index 03571e7..43e542d 100644
--- a/docs/docs/danog/AsyncOrm/Serializer/Json.md
+++ b/docs/docs/danog/AsyncOrm/Serializer/Json.md
@@ -16,11 +16,11 @@ JSON serializer.
## Method list:
-* [`serialize(mixed $value): mixed`](#serialize-mixed-value-mixed)
-* [`deserialize(mixed $value): mixed`](#deserialize-mixed-value-mixed)
+* [`serialize(mixed $value): mixed`](#serialize)
+* [`deserialize(mixed $value): mixed`](#deserialize)
## Methods:
-### `serialize(mixed $value): mixed`
+### `serialize(mixed $value): mixed`
@@ -31,7 +31,7 @@ Parameters:
-### `deserialize(mixed $value): mixed`
+### `deserialize(mixed $value): mixed`
diff --git a/docs/docs/danog/AsyncOrm/Serializer/Native.md b/docs/docs/danog/AsyncOrm/Serializer/Native.md
index 94a53a2..328778f 100644
--- a/docs/docs/danog/AsyncOrm/Serializer/Native.md
+++ b/docs/docs/danog/AsyncOrm/Serializer/Native.md
@@ -16,11 +16,11 @@ Native serializer.
## Method list:
-* [`serialize(mixed $value): mixed`](#serialize-mixed-value-mixed)
-* [`deserialize(mixed $value): mixed`](#deserialize-mixed-value-mixed)
+* [`serialize(mixed $value): mixed`](#serialize)
+* [`deserialize(mixed $value): mixed`](#deserialize)
## Methods:
-### `serialize(mixed $value): mixed`
+### `serialize(mixed $value): mixed`
@@ -31,7 +31,7 @@ Parameters:
-### `deserialize(mixed $value): mixed`
+### `deserialize(mixed $value): mixed`
diff --git a/docs/docs/danog/AsyncOrm/Settings.md b/docs/docs/danog/AsyncOrm/Settings.md
index a41f01d..d59a6d4 100644
--- a/docs/docs/danog/AsyncOrm/Settings.md
+++ b/docs/docs/danog/AsyncOrm/Settings.md
@@ -16,10 +16,10 @@ Base interface for ORM settings.
## Method list:
-* [`getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`](#getdriverclass-class-string-danog-asyncorm-dbarray)
+* [`getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`](#getDriverClass)
## Methods:
-### `getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`
+### `getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`
diff --git a/docs/docs/danog/AsyncOrm/Settings/DriverSettings.md b/docs/docs/danog/AsyncOrm/Settings/DriverSettings.md
index 5565b69..2b41818 100644
--- a/docs/docs/danog/AsyncOrm/Settings/DriverSettings.md
+++ b/docs/docs/danog/AsyncOrm/Settings/DriverSettings.md
@@ -19,15 +19,15 @@ Base settings class for database backends.
* `danog\AsyncOrm\Settings\DriverSettings::DEFAULT_CACHE_TTL`:
## Properties
-* `$serializer`: `\danog\AsyncOrm\Serializer`
+* `$serializer`: `danog\AsyncOrm\Serializer`
* `$cacheTtl`: `int<0, max>` For how long to keep records in memory after last read.
## Method list:
-* [`__construct(?\danog\AsyncOrm\Serializer $serializer = NULL, int $cacheTtl = \self::DEFAULT_CACHE_TTL)`](#__construct-danog-asyncorm-serializer-serializer-null-int-cachettl-self-default_cache_ttl)
-* [`getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`](#getdriverclass-class-string-danog-asyncorm-dbarray)
+* [`__construct(?\danog\AsyncOrm\Serializer $serializer = NULL, int $cacheTtl = \self::DEFAULT_CACHE_TTL)`](#__construct)
+* [`getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`](#getDriverClass)
## Methods:
-### `__construct(?\danog\AsyncOrm\Serializer $serializer = NULL, int $cacheTtl = \self::DEFAULT_CACHE_TTL)`
+### `__construct(?\danog\AsyncOrm\Serializer $serializer = NULL, int $cacheTtl = \self::DEFAULT_CACHE_TTL)`
@@ -44,7 +44,7 @@ Parameters:
-### `getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`
+### `getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`
diff --git a/docs/docs/danog/AsyncOrm/Settings/MemorySettings.md b/docs/docs/danog/AsyncOrm/Settings/MemorySettings.md
index 7c1fa8a..5585a3e 100644
--- a/docs/docs/danog/AsyncOrm/Settings/MemorySettings.md
+++ b/docs/docs/danog/AsyncOrm/Settings/MemorySettings.md
@@ -16,10 +16,10 @@ MemorySettings backend settings.
## Method list:
-* [`getDriverClass(): string`](#getdriverclass-string)
+* [`getDriverClass(): string`](#getDriverClass)
## Methods:
-### `getDriverClass(): string`
+### `getDriverClass(): string`
diff --git a/docs/docs/danog/AsyncOrm/Settings/MysqlSettings.md b/docs/docs/danog/AsyncOrm/Settings/MysqlSettings.md
index 039b895..a539cee 100644
--- a/docs/docs/danog/AsyncOrm/Settings/MysqlSettings.md
+++ b/docs/docs/danog/AsyncOrm/Settings/MysqlSettings.md
@@ -1,6 +1,6 @@
---
title: "danog\\AsyncOrm\\Settings\\MysqlSettings: MySQL backend settings."
-description: "MariaDb 10.2+ or Mysql 5.6+ required."
+description: "\nMariaDb 10.2+ or Mysql 5.6+ required.\n"
---
# `danog\AsyncOrm\Settings\MysqlSettings`
@@ -12,9 +12,11 @@ description: "MariaDb 10.2+ or Mysql 5.6+ required."
MySQL backend settings.
+
MariaDb 10.2+ or Mysql 5.6+ required.
+
## Constants
* `danog\AsyncOrm\Settings\MysqlSettings::DEFAULT_SQL_MAX_CONNECTIONS`:
@@ -23,19 +25,24 @@ MariaDb 10.2+ or Mysql 5.6+ required.
* `danog\AsyncOrm\Settings\MysqlSettings::DEFAULT_CACHE_TTL`:
## Properties
-* `$optimizeIfWastedMb`: `int<1, max>|null`
-* `$maxConnections`: `positive-int`
-* `$idleTimeout`: `positive-int`
-* `$config`: `\T`
-* `$serializer`: `\danog\AsyncOrm\Serializer`
+* `$optimizeIfWastedMb`: `(int<1, max> | null)`
+Whether to optimize MySQL tables automatically if more than the specified amount of megabytes is wasted by the MySQL engine.
+
+Be careful when tweaking this setting as it may lead to slowdowns on startup.
+
+If null disables optimization.
+* `$maxConnections`: `positive-int` Maximum connection limit.
+* `$idleTimeout`: `positive-int` Idle timeout.
+* `$config`: `T`
+* `$serializer`: `danog\AsyncOrm\Serializer`
* `$cacheTtl`: `int<0, max>` For how long to keep records in memory after last read.
## Method list:
-* [`__construct(\Amp\Mysql\MysqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<\1, \max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<\1, \max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT, ?int $optimizeIfWastedMb = NULL)`](#__construct-amp-mysql-mysqlconfig-config-danog-asyncorm-serializer-serializer-null-int-0-max-cachettl-self-default_cache_ttl-int-1-max-maxconnections-self-default_sql_max_connections-int-1-max-idletimeout-self-default_sql_idle_timeout-int-optimizeifwastedmb-null)
-* [`getDriverClass(): string`](#getdriverclass-string)
+* [`__construct(\Amp\Mysql\MysqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<1, max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<1, max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT, ?int $optimizeIfWastedMb = NULL)`](#__construct)
+* [`getDriverClass(): string`](#getDriverClass)
## Methods:
-### `__construct(\Amp\Mysql\MysqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<\1, \max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<\1, \max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT, ?int $optimizeIfWastedMb = NULL)`
+### `__construct(\Amp\Mysql\MysqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<1, max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<1, max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT, ?int $optimizeIfWastedMb = NULL)`
@@ -44,21 +51,21 @@ Parameters:
* `$config`: `\Amp\Mysql\MysqlConfig`
* `$serializer`: `?\danog\AsyncOrm\Serializer` to use for object and mixed type values, if null defaults to either Igbinary or Native.
-* `$cacheTtl`: `int<\0, \max>` Cache TTL in seconds, if 0 disables caching.
-* `$maxConnections`: `int<\1, \max>` Maximum connection limit
-* `$idleTimeout`: `int<\1, \max>` Idle timeout
+* `$cacheTtl`: `int<0, max>` Cache TTL in seconds, if 0 disables caching.
+* `$maxConnections`: `int<1, max>` Maximum connection limit
+* `$idleTimeout`: `int<1, max>` Idle timeout
* `$optimizeIfWastedMb`: `?int`
#### See also:
* `\Amp\Mysql\MysqlConfig`
* [`\danog\AsyncOrm\Serializer`: Serializer interface.](../../../danog/AsyncOrm/Serializer.md)
-* `\max`
+* `max`
-### `getDriverClass(): string`
+### `getDriverClass(): string`
diff --git a/docs/docs/danog/AsyncOrm/Settings/PostgresSettings.md b/docs/docs/danog/AsyncOrm/Settings/PostgresSettings.md
index 5ba4a78..e839841 100644
--- a/docs/docs/danog/AsyncOrm/Settings/PostgresSettings.md
+++ b/docs/docs/danog/AsyncOrm/Settings/PostgresSettings.md
@@ -23,18 +23,18 @@ Postgres backend settings.
* `danog\AsyncOrm\Settings\PostgresSettings::DEFAULT_CACHE_TTL`:
## Properties
-* `$maxConnections`: `positive-int`
-* `$idleTimeout`: `positive-int`
-* `$config`: `\T`
-* `$serializer`: `\danog\AsyncOrm\Serializer`
+* `$maxConnections`: `positive-int` Maximum connection limit.
+* `$idleTimeout`: `positive-int` Idle timeout.
+* `$config`: `T`
+* `$serializer`: `danog\AsyncOrm\Serializer`
* `$cacheTtl`: `int<0, max>` For how long to keep records in memory after last read.
## Method list:
-* [`__construct(\Amp\Postgres\PostgresConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<\1, \max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<\1, \max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`](#__construct-amp-postgres-postgresconfig-config-danog-asyncorm-serializer-serializer-null-int-0-max-cachettl-self-default_cache_ttl-int-1-max-maxconnections-self-default_sql_max_connections-int-1-max-idletimeout-self-default_sql_idle_timeout)
-* [`getDriverClass(): string`](#getdriverclass-string)
+* [`__construct(\Amp\Postgres\PostgresConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<1, max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<1, max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`](#__construct)
+* [`getDriverClass(): string`](#getDriverClass)
## Methods:
-### `__construct(\Amp\Postgres\PostgresConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<\1, \max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<\1, \max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`
+### `__construct(\Amp\Postgres\PostgresConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<1, max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<1, max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`
@@ -43,20 +43,20 @@ Parameters:
* `$config`: `\Amp\Postgres\PostgresConfig`
* `$serializer`: `?\danog\AsyncOrm\Serializer` to use for object and mixed type values, if null defaults to either Igbinary or Native.
-* `$cacheTtl`: `int<\0, \max>` Cache TTL in seconds
-* `$maxConnections`: `int<\1, \max>` Maximum connection limit
-* `$idleTimeout`: `int<\1, \max>` Idle timeout
+* `$cacheTtl`: `int<0, max>` Cache TTL in seconds
+* `$maxConnections`: `int<1, max>` Maximum connection limit
+* `$idleTimeout`: `int<1, max>` Idle timeout
#### See also:
* `\Amp\Postgres\PostgresConfig`
* [`\danog\AsyncOrm\Serializer`: Serializer interface.](../../../danog/AsyncOrm/Serializer.md)
-* `\max`
+* `max`
-### `getDriverClass(): string`
+### `getDriverClass(): string`
diff --git a/docs/docs/danog/AsyncOrm/Settings/RedisSettings.md b/docs/docs/danog/AsyncOrm/Settings/RedisSettings.md
index dc559e4..79ab895 100644
--- a/docs/docs/danog/AsyncOrm/Settings/RedisSettings.md
+++ b/docs/docs/danog/AsyncOrm/Settings/RedisSettings.md
@@ -19,16 +19,16 @@ Redis backend settings.
* `danog\AsyncOrm\Settings\RedisSettings::DEFAULT_CACHE_TTL`:
## Properties
-* `$config`: `\Amp\Redis\RedisConfig`
-* `$serializer`: `\danog\AsyncOrm\Serializer`
+* `$config`: `Amp\Redis\RedisConfig`
+* `$serializer`: `danog\AsyncOrm\Serializer`
* `$cacheTtl`: `int<0, max>` For how long to keep records in memory after last read.
## Method list:
-* [`__construct(\Amp\Redis\RedisConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL)`](#__construct-amp-redis-redisconfig-config-danog-asyncorm-serializer-serializer-null-int-0-max-cachettl-self-default_cache_ttl)
-* [`getDriverClass(): string`](#getdriverclass-string)
+* [`__construct(\Amp\Redis\RedisConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL)`](#__construct)
+* [`getDriverClass(): string`](#getDriverClass)
## Methods:
-### `__construct(\Amp\Redis\RedisConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL)`
+### `__construct(\Amp\Redis\RedisConfig $config, ?\danog\AsyncOrm\Serializer $serializer = NULL, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL)`
@@ -37,18 +37,18 @@ Parameters:
* `$config`: `\Amp\Redis\RedisConfig`
* `$serializer`: `?\danog\AsyncOrm\Serializer` to use for object and mixed type values, if null defaults to either Igbinary or Native.
-* `$cacheTtl`: `int<\0, \max>` Cache TTL in seconds
+* `$cacheTtl`: `int<0, max>` Cache TTL in seconds
#### See also:
* `\Amp\Redis\RedisConfig`
* [`\danog\AsyncOrm\Serializer`: Serializer interface.](../../../danog/AsyncOrm/Serializer.md)
-* `\max`
+* `max`
-### `getDriverClass(): string`
+### `getDriverClass(): string`
diff --git a/docs/docs/danog/AsyncOrm/Settings/SqlSettings.md b/docs/docs/danog/AsyncOrm/Settings/SqlSettings.md
index fc8147d..22e90d7 100644
--- a/docs/docs/danog/AsyncOrm/Settings/SqlSettings.md
+++ b/docs/docs/danog/AsyncOrm/Settings/SqlSettings.md
@@ -23,18 +23,18 @@ Generic SQL db backend settings.
* `danog\AsyncOrm\Settings\SqlSettings::DEFAULT_CACHE_TTL`:
## Properties
-* `$maxConnections`: `positive-int`
-* `$idleTimeout`: `positive-int`
-* `$config`: `\T`
-* `$serializer`: `\danog\AsyncOrm\Serializer`
+* `$maxConnections`: `positive-int` Maximum connection limit.
+* `$idleTimeout`: `positive-int` Idle timeout.
+* `$config`: `T`
+* `$serializer`: `danog\AsyncOrm\Serializer`
* `$cacheTtl`: `int<0, max>` For how long to keep records in memory after last read.
## Method list:
-* [`__construct(\Amp\Sql\SqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<\1, \max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<\1, \max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`](#__construct-amp-sql-sqlconfig-config-danog-asyncorm-serializer-serializer-int-0-max-cachettl-self-default_cache_ttl-int-1-max-maxconnections-self-default_sql_max_connections-int-1-max-idletimeout-self-default_sql_idle_timeout)
-* [`getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`](#getdriverclass-class-string-danog-asyncorm-dbarray)
+* [`__construct(\Amp\Sql\SqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<1, max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<1, max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`](#__construct)
+* [`getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`](#getDriverClass)
## Methods:
-### `__construct(\Amp\Sql\SqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer, int<\0, \max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<\1, \max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<\1, \max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`
+### `__construct(\Amp\Sql\SqlConfig $config, ?\danog\AsyncOrm\Serializer $serializer, int<0, max> $cacheTtl = \self::DEFAULT_CACHE_TTL, int<1, max> $maxConnections = \self::DEFAULT_SQL_MAX_CONNECTIONS, int<1, max> $idleTimeout = \self::DEFAULT_SQL_IDLE_TIMEOUT)`
@@ -43,20 +43,20 @@ Parameters:
* `$config`: `\Amp\Sql\SqlConfig`
* `$serializer`: `?\danog\AsyncOrm\Serializer` to use for object and mixed type values.
-* `$cacheTtl`: `int<\0, \max>` Cache TTL in seconds
-* `$maxConnections`: `int<\1, \max>` Maximum connection limit
-* `$idleTimeout`: `int<\1, \max>` Idle timeout
+* `$cacheTtl`: `int<0, max>` Cache TTL in seconds
+* `$maxConnections`: `int<1, max>` Maximum connection limit
+* `$idleTimeout`: `int<1, max>` Idle timeout
#### See also:
* `\Amp\Sql\SqlConfig`
* [`\danog\AsyncOrm\Serializer`: Serializer interface.](../../../danog/AsyncOrm/Serializer.md)
-* `\max`
+* `max`
-### `getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`
+### `getDriverClass(): class-string<\danog\AsyncOrm\DbArray>`
diff --git a/docs/docs/danog/AsyncOrm/ValueType.md b/docs/docs/danog/AsyncOrm/ValueType.md
index 6fbda1e..7823414 100644
--- a/docs/docs/danog/AsyncOrm/ValueType.md
+++ b/docs/docs/danog/AsyncOrm/ValueType.md
@@ -28,25 +28,25 @@ Specifies the serializer to use when saving values.
* `danog\AsyncOrm\ValueType::SCALAR`: Values of any scalar type, serialized as specified in the settings.
- Using SCALAR worsens performances, please use any of the other types possible.
+ Using SCALAR worsens performances, please use any of the other types if possible.
## Properties
* `$name`: `string`
* `$value`: `string`
## Method list:
-* [`cases(): array`](#cases-array)
-* [`from(string|int $value): static`](#from-string-int-value-static)
-* [`tryFrom(string|int $value): ?static`](#tryfrom-string-int-value-static)
+* [`cases(): array`](#cases)
+* [`from(string|int $value): static`](#from)
+* [`tryFrom(string|int $value): ?static`](#tryFrom)
## Methods:
-### `cases(): array`
+### `cases(): array`
-### `from(string|int $value): static`
+### `from(string|int $value): static`
@@ -57,7 +57,7 @@ Parameters:
-### `tryFrom(string|int $value): ?static`
+### `tryFrom(string|int $value): ?static`
diff --git a/phpunit.xml b/phpunit.xml
index fe6cf5b..3b080ff 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,23 +1,13 @@
-
-
-
- tests
-
-
-
-
+
+
+
+ tests
+
+
+