diff --git a/.gitignore b/.gitignore index fadc7c1..4dc5d03 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /vendor .env +.phpunit.result.cache diff --git a/changelog.md b/changelog.md index 156351e..70204ef 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,19 @@ All notable changes to `laravel-astronomy-library` will be documented in this file. +## Version 4.7 + +### Added + +- Add precession method for EquatorialCoordinates to calculate the precession for a given date with low accuracy. The proper motion of the star is taken into account for the calculation of the precession. +- Add precessionHighAccuracy for EquatorialCoordinates method to calculate the precession for a given date with high accuracy. The proper motion of the star is taken into account for the calculation of the precession. +- Add precessionHighAccuracy for EclipticalCoordinates method to calculate the precession for a given date with high accuracy. The proper motion of the star is not taken into account for the calculation of the precession. + +### Changed + +- The constructor of the EquatorialCoordinates class now also takes the epoch of the coordinate as argument. If the epoch is not given, the standard epoch of 2000.0 is taken. +- The constructor of the EquatorialCoordinates class now also takes the proper motion (in RA and in dec) as arguments. If the proper motion is not given, the value of 0.0 is taken. + ## Version 4.6 ### Added diff --git a/composer.json b/composer.json index be19a12..446a2d8 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "keywords": ["Laravel", "laravel-astronomylibrary"], "require": { "php": ">=7.4", - "laravel/framework": "^7.0", + "laravel/framework": "^7.0|^8.0", "maatwebsite/excel": "^3.1" }, "require-dev": { diff --git a/composer.lock b/composer.lock index cfcfb50..72ff3f7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "eedf082343c40416bcfd6c2bdfa95690", + "content-hash": "7d3842ac772372cc7721a011c8c711f3", "packages": [ { "name": "brick/math", - "version": "0.8.15", + "version": "0.9.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "9b08d412b9da9455b210459ff71414de7e6241cd" + "reference": "283a40c901101e66de7061bd359252c013dcc43c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/9b08d412b9da9455b210459ff71414de7e6241cd", - "reference": "9b08d412b9da9455b210459ff71414de7e6241cd", + "url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c", + "reference": "283a40c901101e66de7061bd359252c013dcc43c", "shasum": "" }, "require": { @@ -50,7 +50,13 @@ "brick", "math" ], - "time": "2020-04-15T15:59:35+00:00" + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], + "time": "2020-08-18T23:57:15+00:00" }, { "name": "doctrine/inflector", @@ -275,16 +281,16 @@ }, { "name": "egulias/email-validator", - "version": "2.1.18", + "version": "2.1.20", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "cfa3d44471c7f5bfb684ac2b0da7114283d78441" + "reference": "f46887bc48db66c7f38f668eb7d6ae54583617ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/cfa3d44471c7f5bfb684ac2b0da7114283d78441", - "reference": "cfa3d44471c7f5bfb684ac2b0da7114283d78441", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/f46887bc48db66c7f38f668eb7d6ae54583617ff", + "reference": "f46887bc48db66c7f38f668eb7d6ae54583617ff", "shasum": "" }, "require": { @@ -329,20 +335,20 @@ "validation", "validator" ], - "time": "2020-06-16T20:11:17+00:00" + "time": "2020-09-06T13:44:32+00:00" }, { "name": "laravel/framework", - "version": "v7.22.4", + "version": "v7.28.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "30e851a2b3a2af73fba0b7f4fa22b04260db98e7" + "reference": "5d3b4e3e62294716e3c810be3d2eb1375685b87d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/30e851a2b3a2af73fba0b7f4fa22b04260db98e7", - "reference": "30e851a2b3a2af73fba0b7f4fa22b04260db98e7", + "url": "https://api.github.com/repos/laravel/framework/zipball/5d3b4e3e62294716e3c810be3d2eb1375685b87d", + "reference": "5d3b4e3e62294716e3c810be3d2eb1375685b87d", "shasum": "" }, "require": { @@ -448,6 +454,7 @@ "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.0).", + "predis/predis": "Required to use the predis connector (^1.1.2).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", "symfony/cache": "Required to PSR-6 cache bridge (^5.0).", @@ -486,20 +493,20 @@ "framework", "laravel" ], - "time": "2020-07-27T18:25:06+00:00" + "time": "2020-09-08T15:10:40+00:00" }, { "name": "league/commonmark", - "version": "1.5.3", + "version": "1.5.4", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "2574454b97e4103dc4e36917bd783b25624aefcd" + "reference": "21819c989e69bab07e933866ad30c7e3f32984ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2574454b97e4103dc4e36917bd783b25624aefcd", - "reference": "2574454b97e4103dc4e36917bd783b25624aefcd", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/21819c989e69bab07e933866ad30c7e3f32984ba", + "reference": "21819c989e69bab07e933866ad30c7e3f32984ba", "shasum": "" }, "require": { @@ -581,32 +588,33 @@ "type": "tidelift" } ], - "time": "2020-07-19T22:47:30+00:00" + "time": "2020-08-18T01:19:12+00:00" }, { "name": "league/flysystem", - "version": "1.0.70", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "585824702f534f8d3cf7fab7225e8466cc4b7493" + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/585824702f534f8d3cf7fab7225e8466cc4b7493", - "reference": "585824702f534f8d3cf7fab7225e8466cc4b7493", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", "shasum": "" }, "require": { "ext-fileinfo": "*", - "php": ">=5.5.9" + "league/mime-type-detection": "^1.3", + "php": "^7.2.5 || ^8.0" }, "conflict": { "league/flysystem-sftp": "<1.0.6" }, "require-dev": { - "phpspec/phpspec": "^3.4 || ^4.0 || ^5.0 || ^6.0", - "phpunit/phpunit": "^5.7.26" + "phpspec/prophecy": "^1.11.1", + "phpunit/phpunit": "^8.5.8" }, "suggest": { "ext-fileinfo": "Required for MimeType", @@ -671,31 +679,81 @@ "type": "other" } ], - "time": "2020-07-26T07:20:36+00:00" + "time": "2020-08-23T07:39:11+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "fda190b62b962d96a069fcc414d781db66d65b69" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/fda190b62b962d96a069fcc414d781db66d65b69", + "reference": "fda190b62b962d96a069fcc414d781db66d65b69", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.36", + "phpunit/phpunit": "^8.5.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2020-08-09T10:34:01+00:00" }, { "name": "maatwebsite/excel", - "version": "3.1.20", + "version": "3.1.22", "source": { "type": "git", "url": "https://github.com/Maatwebsite/Laravel-Excel.git", - "reference": "39545fa96b84d5a90f702239659c49a5d7b1edea" + "reference": "ba7152670257ba9f47bb6ff7cee025f8fc9da608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/39545fa96b84d5a90f702239659c49a5d7b1edea", - "reference": "39545fa96b84d5a90f702239659c49a5d7b1edea", + "url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/ba7152670257ba9f47bb6ff7cee025f8fc9da608", + "reference": "ba7152670257ba9f47bb6ff7cee025f8fc9da608", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/support": "5.5.*|5.6.*|5.7.*|5.8.*|^6.0|^7.0", + "illuminate/support": "5.5.*|5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0", "php": "^7.0", "phpoffice/phpspreadsheet": "^1.14" }, "require-dev": { - "orchestra/database": "^5.0", - "orchestra/testbench": "^5.0", + "orchestra/testbench": "^6.0", "predis/predis": "^1.1" }, "type": "library", @@ -746,7 +804,7 @@ "type": "github" } ], - "time": "2020-07-17T20:39:28+00:00" + "time": "2020-09-08T15:29:50+00:00" }, { "name": "maennchen/zipstream-php", @@ -817,28 +875,28 @@ }, { "name": "markbaker/complex", - "version": "1.4.8", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/MarkBaker/PHPComplex.git", - "reference": "8eaa40cceec7bf0518187530b2e63871be661b72" + "reference": "c3131244e29c08d44fefb49e0dd35021e9e39dd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/8eaa40cceec7bf0518187530b2e63871be661b72", - "reference": "8eaa40cceec7bf0518187530b2e63871be661b72", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/c3131244e29c08d44fefb49e0dd35021e9e39dd2", + "reference": "c3131244e29c08d44fefb49e0dd35021e9e39dd2", "shasum": "" }, "require": { - "php": "^5.6.0|^7.0.0" + "php": "^5.6.0|^7.0" }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", "phpcompatibility/php-compatibility": "^9.0", "phpdocumentor/phpdocumentor": "2.*", - "phploc/phploc": "2.*", + "phploc/phploc": "^4.0|^5.0|^6.0|^7.0", "phpmd/phpmd": "2.*", - "phpunit/phpunit": "^4.8.35|^5.4.0", + "phpunit/phpunit": "^4.8.35|^5.0|^6.0|^7.0", "sebastian/phpcpd": "2.*", "squizlabs/php_codesniffer": "^3.4.0" }, @@ -908,20 +966,20 @@ "complex", "mathematics" ], - "time": "2020-03-11T20:15:49+00:00" + "time": "2020-08-26T19:47:57+00:00" }, { "name": "markbaker/matrix", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/MarkBaker/PHPMatrix.git", - "reference": "5348c5a67e3b75cd209d70103f916a93b1f1ed21" + "reference": "182d44c3b2e3b063468f7481ae3ef71c69dc1409" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/5348c5a67e3b75cd209d70103f916a93b1f1ed21", - "reference": "5348c5a67e3b75cd209d70103f916a93b1f1ed21", + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/182d44c3b2e3b063468f7481ae3ef71c69dc1409", + "reference": "182d44c3b2e3b063468f7481ae3ef71c69dc1409", "shasum": "" }, "require": { @@ -932,7 +990,7 @@ "phpcompatibility/php-compatibility": "dev-master", "phploc/phploc": "^4", "phpmd/phpmd": "dev-master", - "phpunit/phpunit": "^5.7", + "phpunit/phpunit": "^5.7|^6.0|7.0", "sebastian/phpcpd": "^3.0", "squizlabs/php_codesniffer": "^3.0@dev" }, @@ -977,7 +1035,7 @@ "matrix", "vector" ], - "time": "2019-10-06T11:29:25+00:00" + "time": "2020-08-28T19:41:55+00:00" }, { "name": "monolog/monolog", @@ -1118,16 +1176,16 @@ }, { "name": "nesbot/carbon", - "version": "2.37.0", + "version": "2.39.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "1f61206de973d67f36ce50f041c792ddac663c3e" + "reference": "7af467873250583cc967a59ee9df29fabab193c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/1f61206de973d67f36ce50f041c792ddac663c3e", - "reference": "1f61206de973d67f36ce50f041c792ddac663c3e", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7af467873250583cc967a59ee9df29fabab193c1", + "reference": "7af467873250583cc967a59ee9df29fabab193c1", "shasum": "" }, "require": { @@ -1140,9 +1198,9 @@ "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", "kylekatarnls/multi-tester": "^2.0", - "phpmd/phpmd": "^2.8", + "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.30", + "phpstan/phpstan": "^0.12.35", "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "^3.4" }, @@ -1203,20 +1261,20 @@ "type": "tidelift" } ], - "time": "2020-07-28T06:04:54+00:00" + "time": "2020-09-04T13:11:37+00:00" }, { "name": "opis/closure", - "version": "3.5.5", + "version": "3.5.7", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "dec9fc5ecfca93f45cd6121f8e6f14457dff372c" + "reference": "4531e53afe2fc660403e76fb7644e95998bff7bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/dec9fc5ecfca93f45cd6121f8e6f14457dff372c", - "reference": "dec9fc5ecfca93f45cd6121f8e6f14457dff372c", + "url": "https://api.github.com/repos/opis/closure/zipball/4531e53afe2fc660403e76fb7644e95998bff7bf", + "reference": "4531e53afe2fc660403e76fb7644e95998bff7bf", "shasum": "" }, "require": { @@ -1264,7 +1322,7 @@ "serialization", "serialize" ], - "time": "2020-06-17T14:59:55+00:00" + "time": "2020-09-06T17:02:15+00:00" }, { "name": "paragonie/random_compat", @@ -1815,35 +1873,38 @@ }, { "name": "ramsey/collection", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "925ad8cf55ba7a3fc92e332c58fd0478ace3e1ca" + "reference": "044184884e3c803e4cbb6451386cb71562939b18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/925ad8cf55ba7a3fc92e332c58fd0478ace3e1ca", - "reference": "925ad8cf55ba7a3fc92e332c58fd0478ace3e1ca", + "url": "https://api.github.com/repos/ramsey/collection/zipball/044184884e3c803e4cbb6451386cb71562939b18", + "reference": "044184884e3c803e4cbb6451386cb71562939b18", "shasum": "" }, "require": { - "php": "^7.2" + "php": "^7.2 || ^8" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", + "captainhook/captainhook": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "ergebnis/composer-normalize": "^2.6", "fzaninotto/faker": "^1.5", - "jakub-onderka/php-parallel-lint": "^1", + "hamcrest/hamcrest-php": "^2", "jangregor/phpstan-prophecy": "^0.6", "mockery/mockery": "^1.3", "phpstan/extension-installer": "^1", - "phpstan/phpdoc-parser": "0.4.1", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan": "^0.12.32", + "phpstan/phpstan-mockery": "^0.12.5", + "phpstan/phpstan-phpunit": "^0.12.11", "phpunit/phpunit": "^8.5", - "slevomat/coding-standard": "^6.0", - "squizlabs/php_codesniffer": "^3.5" + "psy/psysh": "^0.10.4", + "slevomat/coding-standard": "^6.3", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^3.12.2" }, "type": "library", "autoload": { @@ -1863,7 +1924,6 @@ } ], "description": "A PHP 7.2+ library for representing and manipulating collections.", - "homepage": "https://github.com/ramsey/collection", "keywords": [ "array", "collection", @@ -1872,24 +1932,30 @@ "queue", "set" ], - "time": "2020-01-05T00:22:59+00:00" + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + } + ], + "time": "2020-08-11T00:57:21+00:00" }, { "name": "ramsey/uuid", - "version": "4.1.0", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "988dbefc7878d0a35f12afb4df1f7dd0bd153c43" + "reference": "cd4032040a750077205918c86049aa0f43d22947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/988dbefc7878d0a35f12afb4df1f7dd0bd153c43", - "reference": "988dbefc7878d0a35f12afb4df1f7dd0bd153c43", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", + "reference": "cd4032040a750077205918c86049aa0f43d22947", "shasum": "" }, "require": { - "brick/math": "^0.8", + "brick/math": "^0.8 || ^0.9", "ext-json": "*", "php": "^7.2 || ^8", "ramsey/collection": "^1.0", @@ -1959,7 +2025,7 @@ "type": "github" } ], - "time": "2020-07-28T16:51:01+00:00" + "time": "2020-08-18T17:17:46+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -2025,16 +2091,16 @@ }, { "name": "symfony/console", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "2226c68009627934b8cfc01260b4d287eab070df" + "reference": "186f395b256065ba9b890c0a4e48a91d598fa2cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2226c68009627934b8cfc01260b4d287eab070df", - "reference": "2226c68009627934b8cfc01260b4d287eab070df", + "url": "https://api.github.com/repos/symfony/console/zipball/186f395b256065ba9b890c0a4e48a91d598fa2cf", + "reference": "186f395b256065ba9b890c0a4e48a91d598fa2cf", "shasum": "" }, "require": { @@ -2114,11 +2180,11 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:23:11+00:00" + "time": "2020-09-02T07:07:40+00:00" }, { "name": "symfony/css-selector", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -2185,16 +2251,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v2.1.3", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14" + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14", - "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", "shasum": "" }, "require": { @@ -2203,7 +2269,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -2245,20 +2311,20 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:49:21+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/error-handler", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "4a0d1673a4731c3cb2dea3580c73a676ecb9ed4b" + "reference": "525636d4b84e06c6ca72d96b6856b5b169416e6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/4a0d1673a4731c3cb2dea3580c73a676ecb9ed4b", - "reference": "4a0d1673a4731c3cb2dea3580c73a676ecb9ed4b", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/525636d4b84e06c6ca72d96b6856b5b169416e6a", + "reference": "525636d4b84e06c6ca72d96b6856b5b169416e6a", "shasum": "" }, "require": { @@ -2316,20 +2382,20 @@ "type": "tidelift" } ], - "time": "2020-07-23T08:36:24+00:00" + "time": "2020-08-17T10:01:29+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "7827d55911f91c070fc293ea51a06eec80797d76" + "reference": "94871fc0a69c3c5da57764187724cdce0755899c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7827d55911f91c070fc293ea51a06eec80797d76", - "reference": "7827d55911f91c070fc293ea51a06eec80797d76", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/94871fc0a69c3c5da57764187724cdce0755899c", + "reference": "94871fc0a69c3c5da57764187724cdce0755899c", "shasum": "" }, "require": { @@ -2402,20 +2468,20 @@ "type": "tidelift" } ], - "time": "2020-06-18T18:24:02+00:00" + "time": "2020-08-13T14:19:42+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.1.3", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b" + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f6f613d74cfc5a623fc36294d3451eb7fa5a042b", - "reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", "shasum": "" }, "require": { @@ -2428,7 +2494,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -2478,20 +2544,20 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:23:11+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/finder", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "4298870062bfc667cb78d2b379be4bf5dec5f187" + "reference": "2b765f0cf6612b3636e738c0689b29aa63088d5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/4298870062bfc667cb78d2b379be4bf5dec5f187", - "reference": "4298870062bfc667cb78d2b379be4bf5dec5f187", + "url": "https://api.github.com/repos/symfony/finder/zipball/2b765f0cf6612b3636e738c0689b29aa63088d5d", + "reference": "2b765f0cf6612b3636e738c0689b29aa63088d5d", "shasum": "" }, "require": { @@ -2541,20 +2607,20 @@ "type": "tidelift" } ], - "time": "2020-05-20T17:43:50+00:00" + "time": "2020-08-17T10:01:29+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "1f0d6627e680591c61e9176f04a0dc887b4e6702" + "reference": "41a4647f12870e9d41d9a7d72ff0614a27208558" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/1f0d6627e680591c61e9176f04a0dc887b4e6702", - "reference": "1f0d6627e680591c61e9176f04a0dc887b4e6702", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/41a4647f12870e9d41d9a7d72ff0614a27208558", + "reference": "41a4647f12870e9d41d9a7d72ff0614a27208558", "shasum": "" }, "require": { @@ -2616,20 +2682,20 @@ "type": "tidelift" } ], - "time": "2020-07-23T10:04:31+00:00" + "time": "2020-08-17T07:48:54+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "d6dd8f6420e377970ddad0d6317d4ce4186fc6b3" + "reference": "3e32676e6cb5d2081c91a56783471ff8a7f7110b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d6dd8f6420e377970ddad0d6317d4ce4186fc6b3", - "reference": "d6dd8f6420e377970ddad0d6317d4ce4186fc6b3", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3e32676e6cb5d2081c91a56783471ff8a7f7110b", + "reference": "3e32676e6cb5d2081c91a56783471ff8a7f7110b", "shasum": "" }, "require": { @@ -2729,20 +2795,20 @@ "type": "tidelift" } ], - "time": "2020-07-24T04:22:56+00:00" + "time": "2020-09-02T08:15:18+00:00" }, { "name": "symfony/mime", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "149fb0ad35aae3c7637b496b38478797fa6a7ea6" + "reference": "89a2c9b4cb7b5aa516cf55f5194c384f444c81dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/149fb0ad35aae3c7637b496b38478797fa6a7ea6", - "reference": "149fb0ad35aae3c7637b496b38478797fa6a7ea6", + "url": "https://api.github.com/repos/symfony/mime/zipball/89a2c9b4cb7b5aa516cf55f5194c384f444c81dc", + "reference": "89a2c9b4cb7b5aa516cf55f5194c384f444c81dc", "shasum": "" }, "require": { @@ -2806,11 +2872,11 @@ "type": "tidelift" } ], - "time": "2020-07-23T10:04:31+00:00" + "time": "2020-08-17T10:01:29+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -2886,7 +2952,7 @@ }, { "name": "symfony/polyfill-iconv", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", @@ -2963,7 +3029,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -3041,16 +3107,16 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe" + "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/bc6549d068d0160e0f10f7a5a23c7d1406b95ebe", - "reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/5dcab1bc7146cf8c1beaa4502a3d9be344334251", + "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251", "shasum": "" }, "require": { @@ -3122,11 +3188,11 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2020-08-04T06:02:08+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -3207,7 +3273,7 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", @@ -3284,7 +3350,7 @@ }, { "name": "symfony/polyfill-php70", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", @@ -3361,7 +3427,7 @@ }, { "name": "symfony/polyfill-php72", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", @@ -3434,7 +3500,7 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -3510,7 +3576,7 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.18.0", + "version": "v1.18.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", @@ -3590,7 +3656,7 @@ }, { "name": "symfony/process", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", @@ -3654,16 +3720,16 @@ }, { "name": "symfony/routing", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "08c9a82f09d12ee048f85e76e0d783f82844eb5d" + "reference": "47b0218344cb6af25c93ca8ee1137fafbee5005d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/08c9a82f09d12ee048f85e76e0d783f82844eb5d", - "reference": "08c9a82f09d12ee048f85e76e0d783f82844eb5d", + "url": "https://api.github.com/repos/symfony/routing/zipball/47b0218344cb6af25c93ca8ee1137fafbee5005d", + "reference": "47b0218344cb6af25c93ca8ee1137fafbee5005d", "shasum": "" }, "require": { @@ -3742,20 +3808,20 @@ "type": "tidelift" } ], - "time": "2020-06-18T18:24:02+00:00" + "time": "2020-08-10T08:03:57+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.1.3", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442" + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442", - "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", "shasum": "" }, "require": { @@ -3768,7 +3834,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -3818,20 +3884,20 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:23:11+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/string", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f629ba9b611c76224feb21fe2bcbf0b6f992300b" + "reference": "0de4cc1e18bb596226c06a82e2e7e9bc6001a63a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f629ba9b611c76224feb21fe2bcbf0b6f992300b", - "reference": "f629ba9b611c76224feb21fe2bcbf0b6f992300b", + "url": "https://api.github.com/repos/symfony/string/zipball/0de4cc1e18bb596226c06a82e2e7e9bc6001a63a", + "reference": "0de4cc1e18bb596226c06a82e2e7e9bc6001a63a", "shasum": "" }, "require": { @@ -3903,20 +3969,20 @@ "type": "tidelift" } ], - "time": "2020-07-08T08:27:49+00:00" + "time": "2020-08-17T07:48:54+00:00" }, { "name": "symfony/translation", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "4b9bf719f0fa5b05253c37fc7b335337ec7ec427" + "reference": "917b02cdc5f33e0309b8e9d33ee1480b20687413" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/4b9bf719f0fa5b05253c37fc7b335337ec7ec427", - "reference": "4b9bf719f0fa5b05253c37fc7b335337ec7ec427", + "url": "https://api.github.com/repos/symfony/translation/zipball/917b02cdc5f33e0309b8e9d33ee1480b20687413", + "reference": "917b02cdc5f33e0309b8e9d33ee1480b20687413", "shasum": "" }, "require": { @@ -3995,20 +4061,20 @@ "type": "tidelift" } ], - "time": "2020-06-30T17:42:22+00:00" + "time": "2020-08-17T10:01:29+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.1.3", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "616a9773c853097607cf9dd6577d5b143ffdcd63" + "reference": "77ce1c3627c9f39643acd9af086631f842c50c4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/616a9773c853097607cf9dd6577d5b143ffdcd63", - "reference": "616a9773c853097607cf9dd6577d5b143ffdcd63", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/77ce1c3627c9f39643acd9af086631f842c50c4d", + "reference": "77ce1c3627c9f39643acd9af086631f842c50c4d", "shasum": "" }, "require": { @@ -4020,7 +4086,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -4070,20 +4136,20 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:23:11+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "2ebe1c7bb52052624d6dc1250f4abe525655d75a" + "reference": "b43a3905262bcf97b2510f0621f859ca4f5287be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2ebe1c7bb52052624d6dc1250f4abe525655d75a", - "reference": "2ebe1c7bb52052624d6dc1250f4abe525655d75a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b43a3905262bcf97b2510f0621f859ca4f5287be", + "reference": "b43a3905262bcf97b2510f0621f859ca4f5287be", "shasum": "" }, "require": { @@ -4160,7 +4226,7 @@ "type": "tidelift" } ], - "time": "2020-06-24T13:36:18+00:00" + "time": "2020-08-17T07:42:30+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -4359,36 +4425,36 @@ "packages-dev": [ { "name": "asm89/stack-cors", - "version": "1.3.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/asm89/stack-cors.git", - "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + "reference": "23f469e81c65e2fb7fc7bce371fbdc363fe32adf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08", - "reference": "b9c31def6a83f84b4d4a40d35996d375755f0e08", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/23f469e81c65e2fb7fc7bce371fbdc363fe32adf", + "reference": "23f469e81c65e2fb7fc7bce371fbdc363fe32adf", "shasum": "" }, "require": { - "php": ">=5.5.9", + "php": "^7.0", "symfony/http-foundation": "~2.7|~3.0|~4.0|~5.0", "symfony/http-kernel": "~2.7|~3.0|~4.0|~5.0" }, "require-dev": { - "phpunit/phpunit": "^5.0 || ^4.8.10", - "squizlabs/php_codesniffer": "^2.3" + "phpunit/phpunit": "^6|^7|^8|^9", + "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "2.0-dev" } }, "autoload": { "psr-4": { - "Asm89\\Stack\\": "src/Asm89/Stack/" + "Asm89\\Stack\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4407,7 +4473,7 @@ "cors", "stack" ], - "time": "2019-12-24T22:41:47+00:00" + "time": "2020-05-31T07:17:05+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -4568,37 +4634,36 @@ }, { "name": "fruitcake/laravel-cors", - "version": "v1.0.6", + "version": "v2.0.2", "source": { "type": "git", "url": "https://github.com/fruitcake/laravel-cors.git", - "reference": "1d127dbec313e2e227d65e0c483765d8d7559bf6" + "reference": "4b19bfc3bd422948af37a42a62fad7f49025894a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6", - "reference": "1d127dbec313e2e227d65e0c483765d8d7559bf6", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/4b19bfc3bd422948af37a42a62fad7f49025894a", + "reference": "4b19bfc3bd422948af37a42a62fad7f49025894a", "shasum": "" }, "require": { - "asm89/stack-cors": "^1.3", - "illuminate/contracts": "^5.5|^6.0|^7.0|^8.0", - "illuminate/support": "^5.5|^6.0|^7.0|^8.0", - "php": ">=7", - "symfony/http-foundation": "^3.3|^4.0|^5.0", - "symfony/http-kernel": "^3.3|^4.0|^5.0" + "asm89/stack-cors": "^2.0.1", + "illuminate/contracts": "^6|^7|^8", + "illuminate/support": "^6|^7|^8", + "php": ">=7.2", + "symfony/http-foundation": "^4|^5", + "symfony/http-kernel": "^4.3.4|^5" }, "require-dev": { - "laravel/framework": "^5.5|^6.0|^7.0|^8.0", - "orchestra/testbench": "^3.5|^4.0|^5.0|^6.0", - "phpro/grumphp": "^0.16|^0.17", - "phpunit/phpunit": "^6.0|^7.0|^8.0", + "laravel/framework": "^6|^7|^8", + "orchestra/testbench-dusk": "^4|^5|^6", + "phpunit/phpunit": "^6|^7|^8", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0-dev" }, "laravel": { "providers": [ @@ -4638,7 +4703,7 @@ "type": "github" } ], - "time": "2020-04-28T08:47:37+00:00" + "time": "2020-09-07T11:48:52+00:00" }, { "name": "fzaninotto/faker", @@ -4928,23 +4993,23 @@ }, { "name": "laravel/laravel", - "version": "v7.12.0", + "version": "v7.28.0", "source": { "type": "git", "url": "https://github.com/laravel/laravel.git", - "reference": "5639581ea56ecd556cdf6e6edc37ce5795740fd7" + "reference": "a7a40d77447358a57da02f202563c50344dc5a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7", - "reference": "5639581ea56ecd556cdf6e6edc37ce5795740fd7", + "url": "https://api.github.com/repos/laravel/laravel/zipball/a7a40d77447358a57da02f202563c50344dc5a44", + "reference": "a7a40d77447358a57da02f202563c50344dc5a44", "shasum": "" }, "require": { "fideloper/proxy": "^4.2", - "fruitcake/laravel-cors": "^1.0", + "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^6.3", - "laravel/framework": "^7.0", + "laravel/framework": "^7.24", "laravel/tinker": "^2.0", "php": "^7.2.5" }, @@ -4979,20 +5044,20 @@ "framework", "laravel" ], - "time": "2020-05-18T21:50:22+00:00" + "time": "2020-09-08T11:28:00+00:00" }, { "name": "laravel/tinker", - "version": "v2.4.1", + "version": "v2.4.2", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "3c9ef136ca59366bc1b50b7f2500a946d5149c62" + "reference": "58424c24e8aec31c3a3ac54eb3adb15e8a0a067b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/3c9ef136ca59366bc1b50b7f2500a946d5149c62", - "reference": "3c9ef136ca59366bc1b50b7f2500a946d5149c62", + "url": "https://api.github.com/repos/laravel/tinker/zipball/58424c24e8aec31c3a3ac54eb3adb15e8a0a067b", + "reference": "58424c24e8aec31c3a3ac54eb3adb15e8a0a067b", "shasum": "" }, "require": { @@ -5043,20 +5108,20 @@ "laravel", "psysh" ], - "time": "2020-07-07T15:10:00+00:00" + "time": "2020-08-11T19:28:08+00:00" }, { "name": "mockery/mockery", - "version": "1.4.1", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "1404386ca3410b04fe58b9517e85d702ab33b2c6" + "reference": "20cab678faed06fac225193be281ea0fddb43b93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/1404386ca3410b04fe58b9517e85d702ab33b2c6", - "reference": "1404386ca3410b04fe58b9517e85d702ab33b2c6", + "url": "https://api.github.com/repos/mockery/mockery/zipball/20cab678faed06fac225193be281ea0fddb43b93", + "reference": "20cab678faed06fac225193be281ea0fddb43b93", "shasum": "" }, "require": { @@ -5068,7 +5133,7 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.0" + "phpunit/phpunit": "^8.5 || ^9.3" }, "type": "library", "extra": { @@ -5111,7 +5176,7 @@ "test double", "testing" ], - "time": "2020-07-09T08:31:54+00:00" + "time": "2020-08-11T18:10:13+00:00" }, { "name": "myclabs/deep-copy", @@ -5169,16 +5234,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.7.0", + "version": "v4.9.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "21dce06dfbf0365c6a7cc8fdbdc995926c6a9300" + "reference": "88e519766fc58bd46b8265561fb79b54e2e00b28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/21dce06dfbf0365c6a7cc8fdbdc995926c6a9300", - "reference": "21dce06dfbf0365c6a7cc8fdbdc995926c6a9300", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/88e519766fc58bd46b8265561fb79b54e2e00b28", + "reference": "88e519766fc58bd46b8265561fb79b54e2e00b28", "shasum": "" }, "require": { @@ -5186,8 +5251,8 @@ "php": ">=7.0" }, "require-dev": { - "ircmaxell/php-yacc": "0.0.5", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -5195,7 +5260,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.7-dev" + "dev-master": "4.9-dev" } }, "autoload": { @@ -5217,26 +5282,26 @@ "parser", "php" ], - "time": "2020-07-25T13:18:53+00:00" + "time": "2020-08-30T16:15:20+00:00" }, { "name": "orchestra/testbench", - "version": "v5.3.0", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "57129325ae77e9e3fa6a577b4c3544398af1620e" + "reference": "114de73d05d0ae3866967bdc345a4af02c44712a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/57129325ae77e9e3fa6a577b4c3544398af1620e", - "reference": "57129325ae77e9e3fa6a577b4c3544398af1620e", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/114de73d05d0ae3866967bdc345a4af02c44712a", + "reference": "114de73d05d0ae3866967bdc345a4af02c44712a", "shasum": "" }, "require": { - "laravel/framework": "^7.10", + "laravel/framework": "^7.24", "mockery/mockery": "^1.3.1", - "orchestra/testbench-core": "^5.1.4", + "orchestra/testbench-core": "^5.3", "php": ">=7.2.5", "phpunit/phpunit": "^8.4 || ^9.0" }, @@ -5273,24 +5338,24 @@ "type": "custom" }, { - "url": "https://www.patreon.com/crynobone", - "type": "patreon" + "url": "https://liberapay.com/crynobone", + "type": "liberapay" } ], - "time": "2020-05-30T01:04:58+00:00" + "time": "2020-08-31T05:24:47+00:00" }, { "name": "orchestra/testbench-core", - "version": "v5.1.4", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "41ebd765f5b3f1aba366cc6b2f5b3856a1715519" + "reference": "061ec707dbf92271af503abb6d70ba12668e54d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/41ebd765f5b3f1aba366cc6b2f5b3856a1715519", - "reference": "41ebd765f5b3f1aba366cc6b2f5b3856a1715519", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/061ec707dbf92271af503abb6d70ba12668e54d1", + "reference": "061ec707dbf92271af503abb6d70ba12668e54d1", "shasum": "" }, "require": { @@ -5298,14 +5363,14 @@ "php": ">=7.2.5" }, "require-dev": { - "laravel/framework": "^7.1", + "laravel/framework": "^7.24", "laravel/laravel": "dev-master", "mockery/mockery": "^1.3.1", "orchestra/canvas": "^5.0", "phpunit/phpunit": "^8.4 || ^9.0" }, "suggest": { - "laravel/framework": "Required for testing (^7.1).", + "laravel/framework": "Required for testing (^7.24).", "mockery/mockery": "Allow using Mockery for testing (^1.3.1).", "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^5.0).", "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^5.0).", @@ -5349,36 +5414,37 @@ "type": "custom" }, { - "url": "https://www.patreon.com/crynobone", - "type": "patreon" + "url": "https://liberapay.com/crynobone", + "type": "liberapay" } ], - "time": "2020-05-02T13:35:10+00:00" + "time": "2020-09-02T01:06:48+00:00" }, { "name": "phar-io/manifest", - "version": "1.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -5408,24 +5474,24 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" + "time": "2020-06-27T14:33:11+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/c6bb6825def89e0a32220f88337f8ceaf1975fa0", + "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -5455,7 +5521,7 @@ } ], "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" + "time": "2020-06-27T14:39:04+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -5508,16 +5574,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.0", + "version": "5.2.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "3170448f5769fe19f456173d833734e0ff1b84df" + "reference": "d870572532cd70bc3fab58f2e23ad423c8404c44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/3170448f5769fe19f456173d833734e0ff1b84df", - "reference": "3170448f5769fe19f456173d833734e0ff1b84df", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d870572532cd70bc3fab58f2e23ad423c8404c44", + "reference": "d870572532cd70bc3fab58f2e23ad423c8404c44", "shasum": "" }, "require": { @@ -5556,7 +5622,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-07-20T20:05:34+00:00" + "time": "2020-08-15T11:14:08+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -5668,32 +5734,35 @@ }, { "name": "phpunit/php-code-coverage", - "version": "8.0.2", + "version": "9.1.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc" + "reference": "f98f8466126d83b55b924a94d2244c53c216b8fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca6647ffddd2add025ab3f21644a441d7c146cdc", - "reference": "ca6647ffddd2add025ab3f21644a441d7c146cdc", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f98f8466126d83b55b924a94d2244c53c216b8fb", + "reference": "f98f8466126d83b55b924a94d2244c53c216b8fb", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.3", - "phpunit/php-file-iterator": "^3.0", - "phpunit/php-text-template": "^2.0", - "phpunit/php-token-stream": "^4.0", - "sebastian/code-unit-reverse-lookup": "^2.0", - "sebastian/environment": "^5.0", - "sebastian/version": "^3.0", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.8", + "php": "^7.3 || ^8.0", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-pcov": "*", @@ -5702,7 +5771,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.0-dev" + "dev-master": "9.1-dev" } }, "autoload": { @@ -5734,7 +5803,7 @@ "type": "github" } ], - "time": "2020-05-23T08:02:54+00:00" + "time": "2020-09-07T08:07:10+00:00" }, { "name": "phpunit/php-file-iterator", @@ -5794,16 +5863,16 @@ }, { "name": "phpunit/php-invoker", - "version": "3.0.2", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f6eedfed1085dd1f4c599629459a0277d25f9a66" + "reference": "7a85b66acc48cacffdf87dadd3694e7123674298" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f6eedfed1085dd1f4c599629459a0277d25f9a66", - "reference": "f6eedfed1085dd1f4c599629459a0277d25f9a66", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/7a85b66acc48cacffdf87dadd3694e7123674298", + "reference": "7a85b66acc48cacffdf87dadd3694e7123674298", "shasum": "" }, "require": { @@ -5819,7 +5888,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -5849,7 +5918,7 @@ "type": "github" } ], - "time": "2020-06-26T11:53:53+00:00" + "time": "2020-08-06T07:04:15+00:00" }, { "name": "phpunit/php-text-template", @@ -5961,73 +6030,18 @@ ], "time": "2020-06-26T11:58:13+00:00" }, - { - "name": "phpunit/php-token-stream", - "version": "4.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "5672711b6b07b14d5ab694e700c62eeb82fcf374" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/5672711b6b07b14d5ab694e700c62eeb82fcf374", - "reference": "5672711b6b07b14d5ab694e700c62eeb82fcf374", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-06-27T06:36:25+00:00" - }, { "name": "phpunit/phpunit", - "version": "9.2.6", + "version": "9.3.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1c6a9e4312e209e659f1fce3ce88dd197c2448f6" + "reference": "93d78d8e2a06393a0d0c1ead6fe9984f1af1f88c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1c6a9e4312e209e659f1fce3ce88dd197c2448f6", - "reference": "1c6a9e4312e209e659f1fce3ce88dd197c2448f6", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/93d78d8e2a06393a0d0c1ead6fe9984f1af1f88c", + "reference": "93d78d8e2a06393a0d0c1ead6fe9984f1af1f88c", "shasum": "" }, "require": { @@ -6038,30 +6052,31 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.9.5", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.3", - "phpspec/prophecy": "^1.10.3", - "phpunit/php-code-coverage": "^8.0.2", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-invoker": "^3.0.2", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": "^7.3 || ^8.0", + "phpspec/prophecy": "^1.11.1", + "phpunit/php-code-coverage": "^9.1.5", + "phpunit/php-file-iterator": "^3.0.4", + "phpunit/php-invoker": "^3.1", "phpunit/php-text-template": "^2.0.2", "phpunit/php-timer": "^5.0.1", + "sebastian/cli-parser": "^1.0", "sebastian/code-unit": "^1.0.5", "sebastian/comparator": "^4.0.3", - "sebastian/diff": "^4.0.1", + "sebastian/diff": "^4.0.2", "sebastian/environment": "^5.1.2", "sebastian/exporter": "^4.0.2", - "sebastian/global-state": "^4.0", + "sebastian/global-state": "^5.0", "sebastian/object-enumerator": "^4.0.2", "sebastian/resource-operations": "^3.0.2", - "sebastian/type": "^2.1.1", + "sebastian/type": "^2.2.1", "sebastian/version": "^3.0.1" }, "require-dev": { "ext-pdo": "*", - "phpspec/prophecy-phpunit": "^2.0" + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", @@ -6073,7 +6088,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-master": "9.3-dev" } }, "autoload": { @@ -6112,7 +6127,7 @@ "type": "github" } ], - "time": "2020-07-13T17:55:55+00:00" + "time": "2020-08-27T06:30:58+00:00" }, { "name": "psy/psysh", @@ -6226,6 +6241,58 @@ "description": "A polyfill for getallheaders.", "time": "2019-03-08T08:55:37+00:00" }, + { + "name": "sebastian/cli-parser", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "2a4a38c56e62f7295bedb8b1b7439ad523d4ea82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2a4a38c56e62f7295bedb8b1b7439ad523d4ea82", + "reference": "2a4a38c56e62f7295bedb8b1b7439ad523d4ea82", + "shasum": "" + }, + "require": { + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-08-12T10:49:21+00:00" + }, { "name": "sebastian/code-unit", "version": "1.0.5", @@ -6399,6 +6466,59 @@ ], "time": "2020-06-26T12:05:46+00:00" }, + { + "name": "sebastian/complexity", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "33fcd6a26656c6546f70871244ecba4b4dced097" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/33fcd6a26656c6546f70871244ecba4b4dced097", + "reference": "33fcd6a26656c6546f70871244ecba4b4dced097", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-07-25T14:01:34+00:00" + }, { "name": "sebastian/diff", "version": "4.0.2", @@ -6595,26 +6715,26 @@ }, { "name": "sebastian/global-state", - "version": "4.0.0", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72" + "reference": "22ae663c951bdc39da96603edc3239ed3a299097" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bdb1e7c79e592b8c82cb1699be3c8743119b8a72", - "reference": "bdb1e7c79e592b8c82cb1699be3c8743119b8a72", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/22ae663c951bdc39da96603edc3239ed3a299097", + "reference": "22ae663c951bdc39da96603edc3239ed3a299097", "shasum": "" }, "require": { - "php": "^7.3", + "php": "^7.3 || ^8.0", "sebastian/object-reflector": "^2.0", "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -6622,7 +6742,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -6645,7 +6765,66 @@ "keywords": [ "global state" ], - "time": "2020-02-07T06:11:37+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-08-07T04:09:03+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "e02bf626f404b5daec382a7b8a6a4456e49017e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e02bf626f404b5daec382a7b8a6a4456e49017e5", + "reference": "e02bf626f404b5daec382a7b8a6a4456e49017e5", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-07-22T18:33:42+00:00" }, { "name": "sebastian/object-enumerator", diff --git a/phpunit.xml b/phpunit.xml index 8692a0f..f5ae2bc 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,22 +1,13 @@ - - - - tests - - - - - src/ - - + + + + src/ + + + + + tests + + diff --git a/readme.md b/readme.md index 1ae57f4..6715a44 100644 --- a/readme.md +++ b/readme.md @@ -232,6 +232,16 @@ $coords1 = new EquatorialCoordinates(12.6857305, -5.631722); $coords2 = new EquatorialCoordinates(12.8681138, -4.373944); $coords3 = new EquatorialCoordinates(12.6578083, -1.834361); $coords1->smallestCircle($coords2, $coords3); + +// Calculate the precession (with low precision) +$coords = new EquatorialCoordinates(10.13952778, 11.967222, 2000.0, -0.0169, 0.006); +$date = Carbon::createMidnightDate(1978, 1, 1); +$precessed_coords = $coords->precession($date); + +// Calculate the precession (with high precision) +$coords = new EquatorialCoordinates(10.13952778, 11.967222, 2000.0, -0.0169, 0.006); +$date = Carbon::createMidnightDate(1978, 1, 1); +$precessed_coords = $coords->precessionHighAccuracy($date); ``` ### Coordinate methods on ecliptical coordinates @@ -247,6 +257,11 @@ print ($coords->printLatitude()); $equatorial = $coords->convertToEquatorial($nutObliquity); $equatorial = $coords->convertToEquatorialJ2000(); $equatorial = $coords->convertToEquatorialB1950(); + +// Calculate the precession (with high precision) +$coords = new EclipticalCoordinates(149.48194, 1.76549, 2000.0); +$date = Carbon::create(-214, 6, 30, 0, 0, 0, 'UTC'); +$precessed_coords = $coords->precessionHighAccuracy($date); ``` ### Coordinate methods on horizontal coordinates diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php index b15a189..d521f39 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php @@ -13,6 +13,9 @@ namespace deepskylog\AstronomyLibrary\Coordinates; +use deepskylog\AstronomyLibrary\Time; +use Illuminate\Support\Carbon; + /** * EclipticalCoordinates class. * @@ -27,17 +30,23 @@ class EclipticalCoordinates { private Coordinate $_longitude; private Coordinate $_latitude; + private float $_epoch = 2000.0; /** * The constructor. * * @param float $longitude The ecliptical longitude (0, 360) * @param float $latitude The ecliptical latitude (-90, 90) + * @param float $epoch The epoch of the target (2000.0 is standard) */ - public function __construct(float $longitude, float $latitude) - { - $this->_longitude = new Coordinate($longitude); - $this->_latitude = new Coordinate($latitude, -90.0, 90.0); + public function __construct( + float $longitude, + float $latitude, + float $epoch = 2000.0 + ) { + $this->setLongitude($longitude); + $this->setLatitude($latitude); + $this->setEpoch($epoch); } /** @@ -49,7 +58,7 @@ public function __construct(float $longitude, float $latitude) */ public function setLongitude(float $longitude): void { - $this->_longitude->setCoordinate($longitude); + $this->_longitude = new Coordinate($longitude); } /** @@ -61,7 +70,19 @@ public function setLongitude(float $longitude): void */ public function setLatitude(float $latitude): void { - $this->_latitude->setCoordinate($latitude); + $this->_latitude = new Coordinate($latitude, -90.0, 90.0); + } + + /** + * Sets the epoch. + * + * @param float $epoch The epoch + * + * @return None + */ + public function setEpoch(float $epoch): void + { + $this->_epoch = $epoch; } /** @@ -84,6 +105,16 @@ public function getLongitude(): Coordinate return $this->_longitude; } + /** + * Gets the epoch. + * + * @return float The epoch + */ + public function getEpoch(): float + { + return $this->_epoch; + } + /** * Returns a readable string of the ecliptical longitude. * @@ -162,4 +193,82 @@ public function convertToEquatorialB1950(): EquatorialCoordinates { return $this->convertToEquatorial(23.4457889); } + + /** + * Returns the precession: the coordinates for another epoch and equinox. + * Chapter 21 of Astronomical Algorithms. + * + * @param Carbon $date The date for the new equinox + * + * @return EclipticalCoordinates the precessed coordinates + */ + public function precessionHighAccuracy(Carbon $date): EclipticalCoordinates + { + $precessed_coordinates = clone $this; + + $epoch_in_JD = Time::getJd( + Carbon::create($this->getEpoch(), 1, 1, 12, 0, 0, 'UTC') + ); + + $time_interval_J2000_starting = ($epoch_in_JD - 2451545.0) / 36525.0; + + $jd = Time::getJd($date); + + $time_interval_starting_final = ($jd - $epoch_in_JD) / 36525.0; + + $eta = ( + ( + 47.0029 + - 0.06603 * $time_interval_J2000_starting + + 0.000598 * $time_interval_J2000_starting ** 2 + ) * $time_interval_starting_final + + (-0.03302 + 0.000598 * $time_interval_J2000_starting) + * $time_interval_starting_final ** 2 + + 0.000060 * $time_interval_starting_final ** 3 + ) / 3600.0; + + $pi = ( + ( + 174.876384 * 3600.0 + + 3289.4789 * $time_interval_J2000_starting + + 0.60622 * $time_interval_J2000_starting ** 2 + ) + - (869.8089 + 0.50491 * $time_interval_J2000_starting) + * $time_interval_starting_final + + 0.03536 * $time_interval_starting_final ** 2 + ) / 3600.0; + + $rho = ( + ( + 5029.0966 + + 2.22226 * $time_interval_J2000_starting + - 0.000042 * $time_interval_J2000_starting ** 2 + ) * $time_interval_starting_final + + (1.11113 - 0.000042 * $time_interval_J2000_starting) + * $time_interval_starting_final ** 2 + - 0.000006 * $time_interval_starting_final ** 3 + ) / 3600.0; + + $A_accent = cos(deg2rad($eta)) + * cos(deg2rad($this->getLatitude()->getCoordinate())) + * sin(deg2rad($pi - $this->getLongitude()->getCoordinate())) + - sin(deg2rad($eta)) + * sin(deg2rad($this->getLatitude()->getCoordinate())); + + $B_accent = cos(deg2rad($this->getLatitude()->getCoordinate())) + * cos(deg2rad($pi - $this->getLongitude()->getCoordinate())); + + $C_accent = cos(deg2rad($eta)) + * sin(deg2rad($this->getLatitude()->getCoordinate())) + + sin(deg2rad($eta)) + * cos(deg2rad($this->getLatitude()->getCoordinate())) + * sin(deg2rad($pi - $this->getLongitude()->getCoordinate())); + + $precessed_coordinates->setLongitude( + $rho + $pi - rad2deg(atan2($A_accent, $B_accent)) + ); + $precessed_coordinates->setLatitude(rad2deg(asin($C_accent))); + + return $precessed_coordinates; + } } diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php index 1d61ea7..5241a27 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php @@ -14,6 +14,7 @@ namespace deepskylog\AstronomyLibrary\Coordinates; use Carbon\Carbon; +use deepskylog\AstronomyLibrary\Time; /** * EquatorialCoordinates class. @@ -29,17 +30,31 @@ class EquatorialCoordinates { private Coordinate $_ra; private Coordinate $_decl; + private float $_epoch = 2000.0; + private float $_deltaRA = 0.0; + private float $_deltaDec = 0.0; /** * The constructor. * * @param float $ra The right ascension (0, 24) * @param float $declination The declination (-90, 90) + * @param float $epoch The epoch of the target (2000.0 is standard) + * @param float $deltaRA The proper motion in Right Ascension in seconds/year + * @param float $deltaDec The proper motion in declination in ''/year */ - public function __construct(float $ra, float $declination) - { + public function __construct( + float $ra, + float $declination, + float $epoch = 2000.0, + float $deltaRA = 0.0, + float $deltaDec = 0.0 + ) { $this->setRA($ra); $this->setDeclination($declination); + $this->setEpoch($epoch); + $this->setDeltaRA($deltaRA); + $this->setDeltaDec($deltaDec); } /** @@ -66,6 +81,42 @@ public function setDeclination(float $declination): void $this->_decl = new Coordinate($declination, -90.0, 90.0); } + /** + * Sets the epoch. + * + * @param float $epoch The epoch + * + * @return None + */ + public function setEpoch(float $epoch): void + { + $this->_epoch = $epoch; + } + + /** + * Sets the proper motion in RA. + * + * @param float $deltaRA the proper motion in RA is seconds/year + * + * @return None + */ + public function setDeltaRA(float $deltaRA): void + { + $this->_deltaRA = $deltaRA; + } + + /** + * Sets the proper motion in declination. + * + * @param float $deltaDec the proper motion in declination in ''/year + * + * @return None + */ + public function setDeltaDec(float $deltaDec): void + { + $this->_deltaDec = $deltaDec; + } + /** * Gets the Right Ascension. * @@ -86,6 +137,36 @@ public function getDeclination(): Coordinate return $this->_decl; } + /** + * Gets the epoch. + * + * @return float The epoch + */ + public function getEpoch(): float + { + return $this->_epoch; + } + + /** + * Gets the the proper motion in RA. + * + * @return float The proper motion in RA in seconds/year + */ + public function getDeltaRA(): float + { + return $this->_deltaRA; + } + + /** + * Gets the the proper motion in declination. + * + * @return float The proper motion in declination in ''/year + */ + public function getDeltaDec(): float + { + return $this->_deltaDec; + } + /** * Returns a readable string of the declination. * @@ -259,8 +340,10 @@ public function getParallacticAngle( $q = rad2deg( atan2( sin(deg2rad($H)), - tan(deg2rad($phi)) * cos(deg2rad($this->getDeclination()->getCoordinate())) - - sin(deg2rad($this->getDeclination()->getCoordinate())) * cos(deg2rad($H)) + tan(deg2rad($phi)) + * cos(deg2rad($this->getDeclination()->getCoordinate())) + - sin(deg2rad($this->getDeclination()->getCoordinate())) + * cos(deg2rad($H)) ) ); @@ -457,4 +540,127 @@ public function smallestCircle( ); } } + + /** + * Returns the precession: the coordinates for another epoch and equinox. + * Chapter 21 of Astronomical Algorithms. + * + * @param Carbon $date The date for the new equinox + * + * @return EquatorialCoordinates the precessed coordinates + */ + public function precession(Carbon $date): EquatorialCoordinates + { + $precessed_coordinates = clone $this; + + if ($date->isLeapYear()) { + $year = $date->year + ($date->dayOfYear - 1.0) / 366; + } else { + $year = $date->year + ($date->dayOfYear - 1.0) / 365; + } + + $T = ($this->getEpoch() - $year) / 100.0; + $m = 3.07496 + 0.00186 * $T; + $n = 20.0431 - 0.0085 * $T; + + $deltaRA = ( + $this->getDeltaRA() + ( + $m + + $n * sin(deg2rad($this->getRA()->getCoordinate() * 15.0)) + * tan(deg2rad($this->getDeclination()->getCoordinate())) / 15.0 + ) + ) * ($year - $this->getEpoch()); + $deltaDecl = ( + $this->getDeltaDec() + $n + * cos(deg2rad($this->getRA()->getCoordinate() * 15.0)) + ) * ($year - $this->getEpoch()); + + $precessed_coordinates->setRA( + $this->getRA()->getCoordinate() + $deltaRA / 3600.0 + ); + $precessed_coordinates->setDeclination( + $this->getDeclination()->getCoordinate() + $deltaDecl / 3600.0 + ); + + return $precessed_coordinates; + } + + /** + * Returns the precession: the coordinates for another epoch and equinox. + * Chapter 21 of Astronomical Algorithms. + * + * @param Carbon $date The date for the new equinox + * + * @return EquatorialCoordinates the precessed coordinates + */ + public function precessionHighAccuracy(Carbon $date): EquatorialCoordinates + { + $precessed_coordinates = clone $this; + + $epoch_in_JD = Time::getJd( + Carbon::create($this->getEpoch(), 1, 1, 12, 0, 0, 'UTC') + ); + + $time_interval_J2000_starting = ($epoch_in_JD - 2451545.0) / 36525.0; + + $jd = Time::getJd($date); + + $time_interval_starting_final = ($jd - $epoch_in_JD) / 36525.0; + + $ra_with_proper_motion = ( + $this->getRA()->getCoordinate() + + $this->getDeltaRA() * $time_interval_starting_final * 100.0 / 3600.0 + ) * 15.0; + $dec_with_proper_motion = $this->getDeclination()->getCoordinate() + + $this->getDeltaDec() * $time_interval_starting_final * 100.0 / 3600.0; + + $ksi = ( + (2306.2181 + + 1.39656 * $time_interval_J2000_starting + - 0.000139 * $time_interval_J2000_starting ** 2) + * $time_interval_starting_final + + (0.30188 - 0.000344 * $time_interval_J2000_starting) + * $time_interval_starting_final ** 2 + + 0.017998 + * $time_interval_starting_final ** 3 + ) / 3600.0; + + $zeta = ( + (2306.2181 + + 1.39656 * $time_interval_J2000_starting + - 0.000139 * $time_interval_J2000_starting ** 2) + * $time_interval_starting_final + + (1.09468 + 0.000066 * $time_interval_J2000_starting) + * $time_interval_starting_final ** 2 + + 0.018203 + * $time_interval_starting_final ** 3 + ) / 3600.0; + + $theta = ( + (2004.3109 + - 0.85330 * $time_interval_J2000_starting + - 0.000217 * $time_interval_J2000_starting ** 2) + * $time_interval_starting_final + - (0.42665 + 0.000217 * $time_interval_J2000_starting) + * $time_interval_starting_final ** 2 + - 0.041833 + * $time_interval_starting_final ** 3 + ) / 3600.0; + + $A = cos(deg2rad($dec_with_proper_motion)) + * sin(deg2rad($ra_with_proper_motion + $ksi)); + $B = cos(deg2rad($theta)) * cos(deg2rad($dec_with_proper_motion)) + * cos(deg2rad($ra_with_proper_motion + $ksi)) + - sin(deg2rad($theta)) * sin(deg2rad($dec_with_proper_motion)); + $C = sin(deg2rad($theta)) * cos(deg2rad($dec_with_proper_motion)) + * cos(deg2rad($ra_with_proper_motion + $ksi)) + + cos(deg2rad($theta)) * sin(deg2rad($dec_with_proper_motion)); + + $precessed_coordinates->setRA( + (rad2deg(atan2($A, $B)) + $zeta) / 15.0 + ); + $precessed_coordinates->setDeclination(rad2deg(asin($C))); + + return $precessed_coordinates; + } } diff --git a/tests/Unit/EclipticalCoordinatesTest.php b/tests/Unit/EclipticalCoordinatesTest.php index 2c36789..1640674 100644 --- a/tests/Unit/EclipticalCoordinatesTest.php +++ b/tests/Unit/EclipticalCoordinatesTest.php @@ -14,6 +14,7 @@ use deepskylog\AstronomyLibrary\Coordinates\EclipticalCoordinates; use deepskylog\AstronomyLibrary\Testing\BaseTestCase; +use Illuminate\Support\Carbon; /** * Tests for the EclipticalCoordinates class. @@ -106,4 +107,33 @@ public function testConversionToEquatorial() 0.00001 ); } + + /** + * Test precession. + * + * @return None + */ + public function testPrecessionHigh() + { + // Test for Venus + $coords = new EclipticalCoordinates( + 149.48194, + 1.76549, + 2000.0 + ); + + $date = Carbon::create(-214, 6, 30, 0, 0, 0, 'UTC'); + + $precessed_coords = $coords->precessionHighAccuracy($date); + $this->assertEqualsWithDelta( + 118.704, + $precessed_coords->getLongitude()->getCoordinate(), + 0.001 + ); + $this->assertEqualsWithDelta( + 1.615, + $precessed_coords->getLatitude()->getCoordinate(), + 0.001 + ); + } } diff --git a/tests/Unit/EquatorialCoordinatesTest.php b/tests/Unit/EquatorialCoordinatesTest.php index 8303ba3..38afae8 100644 --- a/tests/Unit/EquatorialCoordinatesTest.php +++ b/tests/Unit/EquatorialCoordinatesTest.php @@ -298,4 +298,111 @@ public function testSmallestCircle() 0.0001 ); } + + /** + * Test precession. + * + * @return None + */ + public function testPrecessionLow() + { + $coords = new EquatorialCoordinates( + 10.13952778, + 11.967222, + 2000.0, + -0.0169, + 0.006 + ); + $date = Carbon::createMidnightDate(1978, 1, 1); + + $precessed_coords = $coords->precession($date); + $this->assertEqualsWithDelta( + 10.12002778, + $precessed_coords->getRA()->getCoordinate(), + 0.00001 + ); + $this->assertEqualsWithDelta( + 12.075416, + $precessed_coords->getDeclination()->getCoordinate(), + 0.00001 + ); + } + + /** + * Test precession. + * + * @return None + */ + public function testPrecessionHigh() + { + // Test for theta Persei + $coords = new EquatorialCoordinates( + 2.736662778, + 49.22846667, + 2000.0, + 0.03425, + -0.0895 + ); + + $date = Carbon::create(2028, 11, 13, 4, 33, 36, 'UTC'); + + $precessed_coords = $coords->precessionHighAccuracy($date); + $this->assertEqualsWithDelta( + 2.7698141667, + $precessed_coords->getRA()->getCoordinate(), + 0.00001 + ); + $this->assertEqualsWithDelta( + 49.34848333, + $precessed_coords->getDeclination()->getCoordinate(), + 0.00001 + ); + + // Test for polaris + $coords = new EquatorialCoordinates( + 2.530195556, + 89.26408889, + 2000.0, + 0.19877, + -0.0152 + ); + $date = Carbon::create(1900, 1, 1, 0, 0, 0, 'UTC'); + $precessed_coords = $coords->precessionHighAccuracy($date); + $this->assertEqualsWithDelta( + 1.376083333, + $precessed_coords->getRA()->getCoordinate(), + 0.00001 + ); + $this->assertEqualsWithDelta( + 88.77393889, + $precessed_coords->getDeclination()->getCoordinate(), + 0.00001 + ); + + $date = Carbon::create(2050, 1, 1, 12, 0, 0, 'UTC'); + $precessed_coords = $coords->precessionHighAccuracy($date); + $this->assertEqualsWithDelta( + 3.8046089, + $precessed_coords->getRA()->getCoordinate(), + 0.00001 + ); + $this->assertEqualsWithDelta( + 89.45427222, + $precessed_coords->getDeclination()->getCoordinate(), + 0.00001 + ); + + $date = Carbon::create(2100, 1, 1, 12, 0, 0, 'UTC'); + $precessed_coords = $coords->precessionHighAccuracy($date); + $this->assertEqualsWithDelta( + 5.891436111, + $precessed_coords->getRA()->getCoordinate(), + 0.00001 + ); + $this->assertEqualsWithDelta( + 89.539494444, + $precessed_coords->getDeclination()->getCoordinate(), + 0.00001 + ); + } }