Skip to content

Commit

Permalink
3.0 epic re-write (#6)
Browse files Browse the repository at this point in the history
  • Loading branch information
dave-redfern authored Jul 11, 2019
1 parent 82cf33c commit 046e257
Show file tree
Hide file tree
Showing 232 changed files with 10,884 additions and 4,370 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
/phpunit.xml export-ignore
/CHANGELOG.md export-ignore
/README.md export-ignore
/docs export-ignore
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@ Icon
Network Trash Folder
Temporary Items
.apdisk
/.phpunit.result.cache
73 changes: 51 additions & 22 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,56 @@
Change Log
==========

2018-06-26
----------
2019-07-09 - 3.0.0
------------------

* V3 is a major BC break with the V2 series
* full refactoring of the entire library
* sub-divided functionality into traits
* added interfaces to describe grouped behaviour
* added default trait groups
* added pseudo Set (string keys) that limits to unique values
* added SimpleCollection with limited functionality
* added static `create` and separate `new` method
* added customising the collection class created when methods create new classes
* added customising the frozen class type when using `Freezable`
* added extra methods to `exportToArray`
* key walking now available in many more functions
* many deprecations
* many changes to behaviour and handling
* changed `ExportableInterface` -> `Arrayable`
* changed `Collection` -> `MutableCollection`
* changed `Immutable` -> `FrozenCollection`
* changed rules for converting to arrays on collection creation
* changed `__call` behaviour to use a proxy via the magic `run` property accessor
* deprecated `removeElement` use `remove`; remove now removes values; use `unset` to remove keys
* deprecated `transform` it is replaced by `map`
* removed all deprecated v2 methods
* removed `implodeKeys` use `keys()->implode()`
* removed `invoke` it is now `run`
* removed `walk` similar functionality can be achieved using `map`

2018-06-26 - 2.2.0
------------------

* added `ExportableInterface` (thanks to @Garethp)
* possible bug: in Collection factory, Collection used toArray now uses all() to get contents

2018-06-14
----------
2018-06-14 - 2.1.4
------------------

* added `pipe()` allowing a Collection of items to be transformed by a Collection of operators

2018-05-01
----------
2018-05-01 - 2.1.3
------------------

* added `toQueryString()`
* added `removeEmpty()`
* added support for accessing dot key names directly in get() via `@` prefix
* removed composer.lock and added .gitattributes for cleaner exporting

2017-08-06
----------
2017-08-06 - 2.1.2
------------------

* added dot access via `get()` allowing Collections to be traversed using `key.*.value` syntax
* added support class for some common functions
Expand All @@ -35,13 +64,13 @@ Change Log
* added extract()
* refactored unit tests to reduce the size off the main test file

2017-06-27
----------
2017-06-27 - 2.0.1
------------------

* added shuffle() (thanks to @paulmaclean)

2017-06-23
----------
2017-06-23 - 2.0.0
------------------

* changed each() to mirror other Collection each implementations - BC break!
* changed methods that accept arrays to use convertToArray()
Expand All @@ -55,28 +84,28 @@ Change Log
* added value()
* extracted some method groups into traits

2017-04-17
----------
2017-04-17 - 1.3.0
------------------

* added lower, upper, intersect, trim, diff, diffKeys, fill, fillKeysWith, explode, collectionFromString, toJson
* re-ordered methods to group PHP interface methods together
* moved other methods into (mostly) alphabetical order
* moved deprecated methods together

2017-04-15
----------
2017-04-15 - 1.2.0
------------------

* added min, max and sum; loosely based on Laravels Collection methods of the same name
* added additional unit tests
* cleaned up offsetSet and fixed bug where null offset was not correctly handled

2017-03-20
----------
2017-03-20 - 1.1.1
------------------

* fixed serialization bug with Immutable collections

2017-02-17
----------
2017-02-17 - 1.1.0
------------------

* fixed bug in filter not passing the flag through
* added except for excluding keys
Expand All @@ -86,8 +115,8 @@ Change Log
* cleaned up some argument names and internal naming
* marked findByRegex, isValueInSet and addIfNotInSet as deprecated

2017-01-22
----------
2017-01-22 - 1.0.0
------------------

* addition of pop, shift, slice and each
* fixed Immutable
Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2016 Dave Redfern
Copyright (c) 2019 Dave Redfern <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
Loading

0 comments on commit 046e257

Please sign in to comment.