From 9c131040b62171dc71610fd3c97867a34ce098f6 Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Mon, 7 Sep 2020 12:06:34 +0200 Subject: [PATCH 01/11] Update dependencies --- composer.lock | 859 ++++++++++++++++++++++++++++++-------------------- phpunit.xml | 31 +- 2 files changed, 532 insertions(+), 358 deletions(-) diff --git a/composer.lock b/composer.lock index cfcfb50..ec3cf43 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "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.27.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "30e851a2b3a2af73fba0b7f4fa22b04260db98e7" + "reference": "17777a92da9b3cf0026f26462d289d596420e6d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/30e851a2b3a2af73fba0b7f4fa22b04260db98e7", - "reference": "30e851a2b3a2af73fba0b7f4fa22b04260db98e7", + "url": "https://api.github.com/repos/laravel/framework/zipball/17777a92da9b3cf0026f26462d289d596420e6d0", + "reference": "17777a92da9b3cf0026f26462d289d596420e6d0", "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-01T13:41:48+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,20 +679,71 @@ "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.21", "source": { "type": "git", "url": "https://github.com/Maatwebsite/Laravel-Excel.git", - "reference": "39545fa96b84d5a90f702239659c49a5d7b1edea" + "reference": "405ff5f0dd014a0d5a1fdb8fd6f525a9a1ece3f6" }, "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/405ff5f0dd014a0d5a1fdb8fd6f525a9a1ece3f6", + "reference": "405ff5f0dd014a0d5a1fdb8fd6f525a9a1ece3f6", "shasum": "" }, "require": { @@ -746,7 +805,7 @@ "type": "github" } ], - "time": "2020-07-17T20:39:28+00:00" + "time": "2020-08-06T09:25:20+00:00" }, { "name": "maennchen/zipstream-php", @@ -817,28 +876,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 +967,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 +991,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 +1036,7 @@ "matrix", "vector" ], - "time": "2019-10-06T11:29:25+00:00" + "time": "2020-08-28T19:41:55+00:00" }, { "name": "monolog/monolog", @@ -1118,16 +1177,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 +1199,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 +1262,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 +1323,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 +1874,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 +1925,6 @@ } ], "description": "A PHP 7.2+ library for representing and manipulating collections.", - "homepage": "https://github.com/ramsey/collection", "keywords": [ "array", "collection", @@ -1872,24 +1933,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 +2026,7 @@ "type": "github" } ], - "time": "2020-07-28T16:51:01+00:00" + "time": "2020-08-18T17:17:46+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -2025,16 +2092,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 +2181,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", @@ -2249,16 +2316,16 @@ }, { "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 +2383,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,7 +2469,7 @@ "type": "tidelift" } ], - "time": "2020-06-18T18:24:02+00:00" + "time": "2020-08-13T14:19:42+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -2482,16 +2549,16 @@ }, { "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 +2608,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 +2683,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 +2796,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 +2873,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 +2953,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 +3030,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 +3108,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 +3189,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 +3274,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 +3351,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 +3428,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 +3501,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 +3577,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 +3657,7 @@ }, { "name": "symfony/process", - "version": "v5.1.3", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", @@ -3654,16 +3721,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,7 +3809,7 @@ "type": "tidelift" } ], - "time": "2020-06-18T18:24:02+00:00" + "time": "2020-08-10T08:03:57+00:00" }, { "name": "symfony/service-contracts", @@ -3822,16 +3889,16 @@ }, { "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 +3970,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,7 +4062,7 @@ "type": "tidelift" } ], - "time": "2020-06-30T17:42:22+00:00" + "time": "2020-08-17T10:01:29+00:00" }, { "name": "symfony/translation-contracts", @@ -4074,16 +4141,16 @@ }, { "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 +4227,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 +4426,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 +4474,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,29 +4635,31 @@ }, { "name": "fruitcake/laravel-cors", - "version": "v1.0.6", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/fruitcake/laravel-cors.git", - "reference": "1d127dbec313e2e227d65e0c483765d8d7559bf6" + "reference": "dbfc311b25d4873c3c2382b26860be3567492bd6" }, "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/dbfc311b25d4873c3c2382b26860be3567492bd6", + "reference": "dbfc311b25d4873c3c2382b26860be3567492bd6", "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": "^5.6|^6.0|^7.0|^8.0", + "illuminate/support": "^5.6|^6.0|^7.0|^8.0", + "php": ">=7.1", + "symfony/http-foundation": "^4.0|^5.0", + "symfony/http-kernel": "^4.0|^5.0" }, "require-dev": { "laravel/framework": "^5.5|^6.0|^7.0|^8.0", + "orchestra/dusk-updater": "^1.2", "orchestra/testbench": "^3.5|^4.0|^5.0|^6.0", + "orchestra/testbench-dusk": "^5.1", "phpro/grumphp": "^0.16|^0.17", "phpunit/phpunit": "^6.0|^7.0|^8.0", "squizlabs/php_codesniffer": "^3.5" @@ -4598,7 +4667,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0-dev" }, "laravel": { "providers": [ @@ -4638,7 +4707,7 @@ "type": "github" } ], - "time": "2020-04-28T08:47:37+00:00" + "time": "2020-05-31T07:30:16+00:00" }, { "name": "fzaninotto/faker", @@ -4928,23 +4997,23 @@ }, { "name": "laravel/laravel", - "version": "v7.12.0", + "version": "v7.25.0", "source": { "type": "git", "url": "https://github.com/laravel/laravel.git", - "reference": "5639581ea56ecd556cdf6e6edc37ce5795740fd7" + "reference": "fa43c0a333d623a393fa33c27a1376f69ef3f301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7", - "reference": "5639581ea56ecd556cdf6e6edc37ce5795740fd7", + "url": "https://api.github.com/repos/laravel/laravel/zipball/fa43c0a333d623a393fa33c27a1376f69ef3f301", + "reference": "fa43c0a333d623a393fa33c27a1376f69ef3f301", "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 +5048,20 @@ "framework", "laravel" ], - "time": "2020-05-18T21:50:22+00:00" + "time": "2020-08-11T17:44:47+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 +5112,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 +5137,7 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.0" + "phpunit/phpunit": "^8.5 || ^9.3" }, "type": "library", "extra": { @@ -5111,7 +5180,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 +5238,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 +5255,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 +5264,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.7-dev" + "dev-master": "4.9-dev" } }, "autoload": { @@ -5217,26 +5286,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 +5342,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 +5367,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 +5418,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 +5478,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 +5525,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 +5578,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 +5626,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 +5738,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 +5775,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.0-dev" + "dev-master": "9.1-dev" } }, "autoload": { @@ -5734,7 +5807,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 +5867,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 +5892,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -5849,7 +5922,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 +6034,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 +6056,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 +6092,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-master": "9.3-dev" } }, "autoload": { @@ -6112,7 +6131,7 @@ "type": "github" } ], - "time": "2020-07-13T17:55:55+00:00" + "time": "2020-08-27T06:30:58+00:00" }, { "name": "psy/psysh", @@ -6226,6 +6245,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 +6470,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 +6719,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 +6746,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -6645,7 +6769,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 + + From 2bcb1159e80689966b60b6f7f22358e31cf55c1a Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Mon, 7 Sep 2020 12:28:27 +0200 Subject: [PATCH 02/11] Add epoch to the constructor. --- .gitignore | 1 + changelog.md | 8 ++++++ .../Coordinates/EquatorialCoordinates.php | 27 ++++++++++++++++++- 3 files changed, 35 insertions(+), 1 deletion(-) 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..aded9b6 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,14 @@ All notable changes to `laravel-astronomy-library` will be documented in this file. +## Version 4.7 + +### Added + +### 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. + ## Version 4.6 ### Added diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php index 1d61ea7..25c9343 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php @@ -29,17 +29,20 @@ class EquatorialCoordinates { private Coordinate $_ra; private Coordinate $_decl; + private float $_epoch = 2000.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) */ - public function __construct(float $ra, float $declination) + public function __construct(float $ra, float $declination, float $epoch = 2000.0) { $this->setRA($ra); $this->setDeclination($declination); + $this->setEpoch($epoch); } /** @@ -66,6 +69,18 @@ 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; + } + /** * Gets the Right Ascension. * @@ -86,6 +101,16 @@ public function getDeclination(): Coordinate return $this->_decl; } + /** + * Gets the epoch. + * + * @return float The epoch + */ + public function getEpoch(): float + { + return $this->_epoch; + } + /** * Returns a readable string of the declination. * From 0614ecd4cb0edd36d5418ae12234d9b7e72cdfa9 Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Mon, 7 Sep 2020 14:47:21 +0200 Subject: [PATCH 03/11] Add annual proper motion to the constructor. --- changelog.md | 3 +- .../Coordinates/EquatorialCoordinates.php | 59 ++++++++++++++++++- 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/changelog.md b/changelog.md index aded9b6..0ace90e 100644 --- a/changelog.md +++ b/changelog.md @@ -8,7 +8,8 @@ All notable changes to `laravel-astronomy-library` will be documented in this fi ### 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 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 diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php index 25c9343..9ef3d47 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php @@ -30,6 +30,8 @@ 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. @@ -37,12 +39,21 @@ class EquatorialCoordinates * @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, float $epoch = 2000.0) - { + 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); } /** @@ -81,6 +92,30 @@ 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. * @@ -111,6 +146,26 @@ 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. * From 6858f1c5c757a6667f0e812ac6bbbfb3f16f4a04 Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Mon, 7 Sep 2020 14:52:20 +0200 Subject: [PATCH 04/11] Low accuracy method to calculate precession. --- changelog.md | 2 + .../Coordinates/EquatorialCoordinates.php | 45 +++++++++++++++++++ tests/Unit/EquatorialCoordinatesTest.php | 29 ++++++++++++ 3 files changed, 76 insertions(+) diff --git a/changelog.md b/changelog.md index 0ace90e..779147c 100644 --- a/changelog.md +++ b/changelog.md @@ -6,6 +6,8 @@ All notable changes to `laravel-astronomy-library` will be documented in this fi ### Added +- Add precession method to calculate the precession for a given date with low accuracy. + ### 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. diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php index 9ef3d47..c2f5314 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php @@ -537,4 +537,49 @@ 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 diameter of the smallest circle + */ + public function precession(Carbon $date): EquatorialCoordinates + { + $precessed_coordinates = $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; + } + } } diff --git a/tests/Unit/EquatorialCoordinatesTest.php b/tests/Unit/EquatorialCoordinatesTest.php index e0feed9..3cfba09 100644 --- a/tests/Unit/EquatorialCoordinatesTest.php +++ b/tests/Unit/EquatorialCoordinatesTest.php @@ -298,4 +298,33 @@ 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 + ); + } } From 8cc60dd10e0d774d2c7d8da9cb8bf42ab7886e63 Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Mon, 7 Sep 2020 15:27:48 +0200 Subject: [PATCH 05/11] Add example on how to calculate the precession --- readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/readme.md b/readme.md index 1ae57f4..9764e24 100644 --- a/readme.md +++ b/readme.md @@ -232,6 +232,11 @@ $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); ``` ### Coordinate methods on ecliptical coordinates From b8d51c9f29653be2f4fe0753b098f523b6228072 Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Tue, 8 Sep 2020 15:10:41 +0200 Subject: [PATCH 06/11] Added precessionHighAccuracy --- changelog.md | 1 + readme.md | 5 ++ .../Coordinates/EquatorialCoordinates.php | 55 ++++++++++++- tests/Unit/EquatorialCoordinatesTest.php | 78 +++++++++++++++++++ 4 files changed, 138 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index 779147c..04473eb 100644 --- a/changelog.md +++ b/changelog.md @@ -7,6 +7,7 @@ All notable changes to `laravel-astronomy-library` will be documented in this fi ### Added - Add precession method to calculate the precession for a given date with low accuracy. +- Add precessionHighAccuracy method to calculate the precession for a given date with high accuracy. ### Changed diff --git a/readme.md b/readme.md index 9764e24..0e44673 100644 --- a/readme.md +++ b/readme.md @@ -237,6 +237,11 @@ $coords1->smallestCircle($coords2, $coords3); $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 diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php index c2f5314..fbf6b2e 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. @@ -548,7 +549,7 @@ public function smallestCircle( */ public function precession(Carbon $date): EquatorialCoordinates { - $precessed_coordinates = $this; + $precessed_coordinates = clone $this; if ($date->isLeapYear()) { $year = $date->year + ($date->dayOfYear - 1.0) / 366; @@ -581,5 +582,57 @@ public function precession(Carbon $date): EquatorialCoordinates 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 diameter of the smallest circle + */ + 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/EquatorialCoordinatesTest.php b/tests/Unit/EquatorialCoordinatesTest.php index 3cfba09..b97e6fc 100644 --- a/tests/Unit/EquatorialCoordinatesTest.php +++ b/tests/Unit/EquatorialCoordinatesTest.php @@ -327,4 +327,82 @@ public function testPrecessionLow() 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 + ); + } } From e0cb313dba5c8b90e0f232349ba895edf933e4bf Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Wed, 9 Sep 2020 11:35:00 +0200 Subject: [PATCH 07/11] Add epoch deltaRA and deltaDec to the EclipticalCoordinates class --- changelog.md | 4 +- composer.json | 2 +- composer.lock | 114 +++++++++--------- .../Coordinates/EclipticalCoordinates.php | 101 +++++++++++++++- .../Coordinates/EquatorialCoordinates.php | 66 +++++++--- 5 files changed, 200 insertions(+), 87 deletions(-) diff --git a/changelog.md b/changelog.md index 04473eb..572069e 100644 --- a/changelog.md +++ b/changelog.md @@ -11,8 +11,8 @@ All notable changes to `laravel-astronomy-library` will be documented in this fi ### 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. +- The constructor of the EquatorialCoordinates and the EclipticalCoordinates 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 and the EclipticalCoordinates 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 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 ec3cf43..72ff3f7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "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", @@ -339,16 +339,16 @@ }, { "name": "laravel/framework", - "version": "v7.27.0", + "version": "v7.28.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "17777a92da9b3cf0026f26462d289d596420e6d0" + "reference": "5d3b4e3e62294716e3c810be3d2eb1375685b87d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/17777a92da9b3cf0026f26462d289d596420e6d0", - "reference": "17777a92da9b3cf0026f26462d289d596420e6d0", + "url": "https://api.github.com/repos/laravel/framework/zipball/5d3b4e3e62294716e3c810be3d2eb1375685b87d", + "reference": "5d3b4e3e62294716e3c810be3d2eb1375685b87d", "shasum": "" }, "require": { @@ -493,7 +493,7 @@ "framework", "laravel" ], - "time": "2020-09-01T13:41:48+00:00" + "time": "2020-09-08T15:10:40+00:00" }, { "name": "league/commonmark", @@ -734,27 +734,26 @@ }, { "name": "maatwebsite/excel", - "version": "3.1.21", + "version": "3.1.22", "source": { "type": "git", "url": "https://github.com/Maatwebsite/Laravel-Excel.git", - "reference": "405ff5f0dd014a0d5a1fdb8fd6f525a9a1ece3f6" + "reference": "ba7152670257ba9f47bb6ff7cee025f8fc9da608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/405ff5f0dd014a0d5a1fdb8fd6f525a9a1ece3f6", - "reference": "405ff5f0dd014a0d5a1fdb8fd6f525a9a1ece3f6", + "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", @@ -805,7 +804,7 @@ "type": "github" } ], - "time": "2020-08-06T09:25:20+00:00" + "time": "2020-09-08T15:29:50+00:00" }, { "name": "maennchen/zipstream-php", @@ -2252,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": { @@ -2270,7 +2269,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -2312,7 +2311,7 @@ "type": "tidelift" } ], - "time": "2020-06-06T08:49:21+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/error-handler", @@ -2473,16 +2472,16 @@ }, { "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": { @@ -2495,7 +2494,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -2545,7 +2544,7 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:23:11+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/finder", @@ -3813,16 +3812,16 @@ }, { "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": { @@ -3835,7 +3834,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -3885,7 +3884,7 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:23:11+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/string", @@ -4066,16 +4065,16 @@ }, { "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": { @@ -4087,7 +4086,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" }, "thanks": { "name": "symfony/contracts", @@ -4137,7 +4136,7 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:23:11+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/var-dumper", @@ -4635,33 +4634,30 @@ }, { "name": "fruitcake/laravel-cors", - "version": "v2.0.1", + "version": "v2.0.2", "source": { "type": "git", "url": "https://github.com/fruitcake/laravel-cors.git", - "reference": "dbfc311b25d4873c3c2382b26860be3567492bd6" + "reference": "4b19bfc3bd422948af37a42a62fad7f49025894a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/dbfc311b25d4873c3c2382b26860be3567492bd6", - "reference": "dbfc311b25d4873c3c2382b26860be3567492bd6", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/4b19bfc3bd422948af37a42a62fad7f49025894a", + "reference": "4b19bfc3bd422948af37a42a62fad7f49025894a", "shasum": "" }, "require": { "asm89/stack-cors": "^2.0.1", - "illuminate/contracts": "^5.6|^6.0|^7.0|^8.0", - "illuminate/support": "^5.6|^6.0|^7.0|^8.0", - "php": ">=7.1", - "symfony/http-foundation": "^4.0|^5.0", - "symfony/http-kernel": "^4.0|^5.0" + "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/dusk-updater": "^1.2", - "orchestra/testbench": "^3.5|^4.0|^5.0|^6.0", - "orchestra/testbench-dusk": "^5.1", - "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", @@ -4707,7 +4703,7 @@ "type": "github" } ], - "time": "2020-05-31T07:30:16+00:00" + "time": "2020-09-07T11:48:52+00:00" }, { "name": "fzaninotto/faker", @@ -4997,16 +4993,16 @@ }, { "name": "laravel/laravel", - "version": "v7.25.0", + "version": "v7.28.0", "source": { "type": "git", "url": "https://github.com/laravel/laravel.git", - "reference": "fa43c0a333d623a393fa33c27a1376f69ef3f301" + "reference": "a7a40d77447358a57da02f202563c50344dc5a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/laravel/zipball/fa43c0a333d623a393fa33c27a1376f69ef3f301", - "reference": "fa43c0a333d623a393fa33c27a1376f69ef3f301", + "url": "https://api.github.com/repos/laravel/laravel/zipball/a7a40d77447358a57da02f202563c50344dc5a44", + "reference": "a7a40d77447358a57da02f202563c50344dc5a44", "shasum": "" }, "require": { @@ -5048,7 +5044,7 @@ "framework", "laravel" ], - "time": "2020-08-11T17:44:47+00:00" + "time": "2020-09-08T11:28:00+00:00" }, { "name": "laravel/tinker", diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php index b15a189..2c55a26 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php @@ -13,6 +13,9 @@ namespace deepskylog\AstronomyLibrary\Coordinates; +use Illuminate\Support\Carbon; +use deepskylog\AstronomyLibrary\Time; + /** * EclipticalCoordinates class. * @@ -27,17 +30,33 @@ class EclipticalCoordinates { private Coordinate $_longitude; private Coordinate $_latitude; + private float $_epoch = 2000.0; + private float $_deltaRA = 0.0; + private float $_deltaDec = 0.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) + * @param float $deltaRA The proper motion in Right Ascension in seconds/year + * (in equatorial coordinates!) + * @param float $deltaDec The proper motion in declination in ''/year + * (in equatorial coordinates!) */ - 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, + float $deltaRA = 0.0, + float $deltaDec = 0.0 + ) { + $this->setLongitude($longitude); + $this->setLatitude($latitude); + $this->setEpoch($epoch); + $this->setDeltaRA($deltaRA); + $this->setDeltaDec($deltaDec); } /** @@ -49,7 +68,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 +80,45 @@ 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; + } + + /** + * Sets the proper motion in RA. + * + * @param float $deltaRA the proper motion in RA is seconds/year + * (in equatorial coordinates!) + * + * @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 + * (in equatorial coordinates!) + * + * @return None + */ + public function setDeltaDec(float $deltaDec): void + { + $this->_deltaDec = $deltaDec; } /** @@ -84,6 +141,38 @@ public function getLongitude(): Coordinate return $this->_longitude; } + /** + * 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 + * (in equatorial coordinates!) + */ + public function getDeltaRA(): float + { + return $this->_deltaRA; + } + + /** + * Gets the the proper motion in declination. + * + * @return float The proper motion in declination in ''/year + * (in equatorial coordinates!) + */ + public function getDeltaDec(): float + { + return $this->_deltaDec; + } + /** * Returns a readable string of the ecliptical longitude. * diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php index fbf6b2e..5241a27 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EquatorialCoordinates.php @@ -340,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)) ) ); @@ -545,7 +547,7 @@ public function smallestCircle( * * @param Carbon $date The date for the new equinox * - * @return EquatorialCoordinates the diameter of the smallest circle + * @return EquatorialCoordinates the precessed coordinates */ public function precession(Carbon $date): EquatorialCoordinates { @@ -589,7 +591,7 @@ public function precession(Carbon $date): EquatorialCoordinates * * @param Carbon $date The date for the new equinox * - * @return EquatorialCoordinates the diameter of the smallest circle + * @return EquatorialCoordinates the precessed coordinates */ public function precessionHighAccuracy(Carbon $date): EquatorialCoordinates { @@ -612,21 +614,47 @@ public function precessionHighAccuracy(Carbon $date): EquatorialCoordinates $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)); + $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 From dbfcfb45c51dd4b5e7b1ff7662f69f43b4eabe3b Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Wed, 9 Sep 2020 12:16:06 +0200 Subject: [PATCH 08/11] Add precessionHighAccuracy method for ecliptical coordinates. --- changelog.md | 9 +- readme.md | 5 + .../Coordinates/EclipticalCoordinates.php | 136 ++++++++++-------- tests/Unit/EclipticalCoordinatesTest.php | 34 ++++- 4 files changed, 120 insertions(+), 64 deletions(-) diff --git a/changelog.md b/changelog.md index 572069e..70204ef 100644 --- a/changelog.md +++ b/changelog.md @@ -6,13 +6,14 @@ All notable changes to `laravel-astronomy-library` will be documented in this fi ### Added -- Add precession method to calculate the precession for a given date with low accuracy. -- Add precessionHighAccuracy method to calculate the precession for a given date with high accuracy. +- 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 and the EclipticalCoordinates 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 and the EclipticalCoordinates 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. +- 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 diff --git a/readme.md b/readme.md index 0e44673..6715a44 100644 --- a/readme.md +++ b/readme.md @@ -257,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 2c55a26..129de06 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php @@ -31,8 +31,6 @@ class EclipticalCoordinates private Coordinate $_longitude; private Coordinate $_latitude; private float $_epoch = 2000.0; - private float $_deltaRA = 0.0; - private float $_deltaDec = 0.0; /** * The constructor. @@ -40,23 +38,15 @@ class EclipticalCoordinates * @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) - * @param float $deltaRA The proper motion in Right Ascension in seconds/year - * (in equatorial coordinates!) - * @param float $deltaDec The proper motion in declination in ''/year - * (in equatorial coordinates!) */ public function __construct( float $longitude, float $latitude, float $epoch = 2000.0, - float $deltaRA = 0.0, - float $deltaDec = 0.0 ) { $this->setLongitude($longitude); $this->setLatitude($latitude); $this->setEpoch($epoch); - $this->setDeltaRA($deltaRA); - $this->setDeltaDec($deltaDec); } /** @@ -95,32 +85,6 @@ 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 - * (in equatorial coordinates!) - * - * @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 - * (in equatorial coordinates!) - * - * @return None - */ - public function setDeltaDec(float $deltaDec): void - { - $this->_deltaDec = $deltaDec; - } - /** * Gets the ecliptical latitude. * @@ -151,28 +115,6 @@ public function getEpoch(): float return $this->_epoch; } - /** - * Gets the the proper motion in RA. - * - * @return float The proper motion in RA in seconds/year - * (in equatorial coordinates!) - */ - public function getDeltaRA(): float - { - return $this->_deltaRA; - } - - /** - * Gets the the proper motion in declination. - * - * @return float The proper motion in declination in ''/year - * (in equatorial coordinates!) - */ - public function getDeltaDec(): float - { - return $this->_deltaDec; - } - /** * Returns a readable string of the ecliptical longitude. * @@ -251,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/tests/Unit/EclipticalCoordinatesTest.php b/tests/Unit/EclipticalCoordinatesTest.php index 2c36789..fd45505 100644 --- a/tests/Unit/EclipticalCoordinatesTest.php +++ b/tests/Unit/EclipticalCoordinatesTest.php @@ -12,8 +12,9 @@ namespace Tests\Unit; -use deepskylog\AstronomyLibrary\Coordinates\EclipticalCoordinates; +use Illuminate\Support\Carbon; use deepskylog\AstronomyLibrary\Testing\BaseTestCase; +use deepskylog\AstronomyLibrary\Coordinates\EclipticalCoordinates; /** * Tests for the EclipticalCoordinates class. @@ -32,7 +33,7 @@ class EclipticalCoordinatesTest extends BaseTestCase * * @var string */ - protected $appPath = __DIR__.'/../../vendor/laravel/laravel/bootstrap/app.php'; + protected $appPath = __DIR__ . '/../../vendor/laravel/laravel/bootstrap/app.php'; /** * Setup the test environment. @@ -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 + ); + } } From 33d6f60bba204a5df9db8008ba8b23562ea524a9 Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Wed, 9 Sep 2020 10:16:29 +0000 Subject: [PATCH 09/11] Apply fixes from StyleCI --- tests/Unit/EclipticalCoordinatesTest.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/Unit/EclipticalCoordinatesTest.php b/tests/Unit/EclipticalCoordinatesTest.php index fd45505..1640674 100644 --- a/tests/Unit/EclipticalCoordinatesTest.php +++ b/tests/Unit/EclipticalCoordinatesTest.php @@ -12,9 +12,9 @@ namespace Tests\Unit; -use Illuminate\Support\Carbon; -use deepskylog\AstronomyLibrary\Testing\BaseTestCase; use deepskylog\AstronomyLibrary\Coordinates\EclipticalCoordinates; +use deepskylog\AstronomyLibrary\Testing\BaseTestCase; +use Illuminate\Support\Carbon; /** * Tests for the EclipticalCoordinates class. @@ -33,7 +33,7 @@ class EclipticalCoordinatesTest extends BaseTestCase * * @var string */ - protected $appPath = __DIR__ . '/../../vendor/laravel/laravel/bootstrap/app.php'; + protected $appPath = __DIR__.'/../../vendor/laravel/laravel/bootstrap/app.php'; /** * Setup the test environment. From 139ab391cd5347dd4ef44ae2b1859c9bd59eedcc Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Wed, 9 Sep 2020 12:27:12 +0200 Subject: [PATCH 10/11] Correct typo --- .../AstronomyLibrary/Coordinates/EclipticalCoordinates.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php index 129de06..05698e0 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php @@ -42,7 +42,7 @@ class EclipticalCoordinates public function __construct( float $longitude, float $latitude, - float $epoch = 2000.0, + float $epoch = 2000.0 ) { $this->setLongitude($longitude); $this->setLatitude($latitude); From 8734261f782b8f5f0ae1a8e7f30b97b020318619 Mon Sep 17 00:00:00 2001 From: Wim De Meester Date: Wed, 9 Sep 2020 10:28:55 +0000 Subject: [PATCH 11/11] Apply fixes from StyleCI --- .../AstronomyLibrary/Coordinates/EclipticalCoordinates.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php index 05698e0..d521f39 100644 --- a/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php +++ b/src/deepskylog/AstronomyLibrary/Coordinates/EclipticalCoordinates.php @@ -13,8 +13,8 @@ namespace deepskylog\AstronomyLibrary\Coordinates; -use Illuminate\Support\Carbon; use deepskylog\AstronomyLibrary\Time; +use Illuminate\Support\Carbon; /** * EclipticalCoordinates class.