From 8fb6c07548c479f2c0bc57e31ffe5b4d32c88baf Mon Sep 17 00:00:00 2001 From: Jan Klaas Kollhof Date: Tue, 31 Mar 2020 11:25:14 +0200 Subject: [PATCH 1/2] refactor: remove unused code --- package-lock.json | 244 +++++++++++++++++----------------- package.json | 6 +- src/lang/identifier/other.fnk | 3 +- src/testing/serialize.fnk | 4 +- 4 files changed, 128 insertions(+), 129 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23881f2..4995e26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -309,13 +309,13 @@ } }, "@fink/cli": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@fink/cli/-/cli-2.2.0.tgz", - "integrity": "sha512-0EaPAuldF/2btvHbTtEWez0hYyxMfSZqLucO5RCgf5lZ4/z0gQr11k7qPNuhpwF8q2hGAndsSTd3GIHytPjUeA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@fink/cli/-/cli-2.3.0.tgz", + "integrity": "sha512-eXaMzLcjd7MbcIKIPhhBiFhroh6oUCpBVfss746YD0qwFCx7Fr3FccHjk3444xzn5eGtuqq1G8MqzlgZnyAvTA==", "dev": true, "requires": { "@fink/larix": "^4.6.1", - "@fink/loxia": "^4.5.2", + "@fink/loxia": "^4.6.1", "minimatch": "^3.0.4", "yargs": "^15.3.1" } @@ -339,9 +339,9 @@ } }, "@fink/loxia": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@fink/loxia/-/loxia-4.5.2.tgz", - "integrity": "sha512-cX0d6oKkbVljieZRPgfNX+sHtlZiQD4IaV1Xt1A4/3210BnbO4QXnGLR4P7w/YvrgkFADVliOo4Tvrm0lj5vKQ==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@fink/loxia/-/loxia-4.6.3.tgz", + "integrity": "sha512-Mxdh1GStd0VH/JVY3Hk17B51IYlhJLvSrCgEHLiiJFl196zlXGvw5fAU+cHJr8VTCXE7iC1VY19fA+HIT5CK0w==", "dev": true, "requires": { "@babel/generator": "^7.8.6", @@ -445,33 +445,33 @@ } }, "@jest/core": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.3.tgz", - "integrity": "sha512-Ifz3aEkGvZhwijLMmWa7sloZVEMdxpzjFv3CKHv3eRYRShTN8no6DmyvvxaZBjLalOlRalJ7HDgc733J48tSuw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.4.tgz", + "integrity": "sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/reporters": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/reporters": "^25.2.4", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", "jest-changed-files": "^25.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-resolve-dependencies": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-resolve-dependencies": "^25.2.4", + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", - "jest-watcher": "^25.2.3", + "jest-watcher": "^25.2.4", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -585,39 +585,39 @@ } }, "@jest/environment": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.3.tgz", - "integrity": "sha512-zRypAMQnNo8rD0rCbI9+5xf+Lu+uvunKZNBcIWjb3lTATSomKbgYO+GYewGDYn7pf+30XCNBc6SH1rnBUN1ioA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.4.tgz", + "integrity": "sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==", "dev": true, "requires": { - "@jest/fake-timers": "^25.2.3", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3" } }, "@jest/fake-timers": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.3.tgz", - "integrity": "sha512-B6Qxm86fl613MV8egfvh1mRTMu23hMNdOUjzPhKl/4Nm5cceHz6nwLn0nP0sJXI/ue1vu71aLbtkgVBCgc2hYA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.4.tgz", + "integrity": "sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==", "dev": true, "requires": { "@jest/types": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.3.tgz", - "integrity": "sha512-S0Zca5e7tTfGgxGRvBh6hktNdOBzqc6HthPzYHPRFYVW81SyzCqHTaNZydtDIVehb9s6NlyYZpcF/I2vco+lNw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.4.tgz", + "integrity": "sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", @@ -718,34 +718,34 @@ } }, "@jest/test-result": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.3.tgz", - "integrity": "sha512-cNYidqERTcT+xqZZ5FPSvji7Bd2YYq9M/VJCEUmgTVRFZRPOPSu65crEzQJ4czcDChEJ9ovzZ65r3UBlajnh3w==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.4.tgz", + "integrity": "sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.3.tgz", - "integrity": "sha512-trHwV/wCrxWyZyNyNBUQExsaHyBVQxJwH3butpEcR+KBJPfaTUxtpXaxfs38IXXAhH68J4kPZgAaRRfkFTLunA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz", + "integrity": "sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3" + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4" } }, "@jest/transform": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.3.tgz", - "integrity": "sha512-w1nfAuYP4OAiEDprFkE/2iwU86jL/hK3j1ylMcYOA3my5VOHqX0oeBcBxS2fUKWse2V4izuO2jqes0yNTDMlzw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", + "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", "dev": true, "requires": { "@babel/core": "^7.1.0", @@ -1891,12 +1891,12 @@ "dev": true }, "babel-jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.3.tgz", - "integrity": "sha512-03JjvEwuDrEz/A45K8oggAv+Vqay0xcOdNTJxYFxiuZvB5vlHKo1iZg9Pi5vQTHhNCKpGLb7L/jvUUafyh9j7g==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", + "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", "dev": true, "requires": { - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", @@ -3317,16 +3317,16 @@ } }, "expect": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.3.tgz", - "integrity": "sha512-kil4jFRFAK2ySyCyXPqYrphc3EiiKKFd9BthrkKAyHcqr1B84xFTuj5kO8zL+eHRRjT2jQsOPExO0+1Q/fuUXg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.4.tgz", + "integrity": "sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==", "dev": true, "requires": { "@jest/types": "^25.2.3", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1" }, "dependencies": { @@ -4733,19 +4733,19 @@ } }, "jest-cli": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.3.tgz", - "integrity": "sha512-T7G0TOkFj0wr33ki5xoq3bxkKC+liwJfjV9SmYIKBozwh91W4YjL1o1dgVCUTB1+sKJa/DiAY0p+eXYE6v2RGw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.4.tgz", + "integrity": "sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==", "dev": true, "requires": { - "@jest/core": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/core": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "prompts": "^2.0.1", @@ -4806,22 +4806,22 @@ } }, "jest-config": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.3.tgz", - "integrity": "sha512-UpTNxN8DgmLLCXFizGuvwIw+ZAPB0T3jbKaFEkzJdGqhSsQrVrk1lxhZNamaVIpWirM2ptYmqwUzvoobGCEkiQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.4.tgz", + "integrity": "sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.3", + "@jest/test-sequencer": "^25.2.4", "@jest/types": "^25.2.3", - "babel-jest": "^25.2.3", + "babel-jest": "^25.2.4", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.2.3", - "jest-environment-node": "^25.2.3", + "jest-environment-jsdom": "^25.2.4", + "jest-environment-node": "^25.2.4", "jest-get-type": "^25.2.1", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", "jest-util": "^25.2.3", @@ -5065,13 +5065,13 @@ } }, "jest-environment-jsdom": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.3.tgz", - "integrity": "sha512-TLg7nizxIYJafz6tOBAVSmO5Ekswf6Cf3Soseov+mgonXfdYi1I0OZlHlZMJb2fGyXem2ndYFCLrMkwcWPKAnQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz", + "integrity": "sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -5079,13 +5079,13 @@ } }, "jest-environment-node": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.3.tgz", - "integrity": "sha512-Tu/wlGXfoLtBR4Ym+isz58z3TJkMYX4VnFTkrsxaTGYAxNLN7ArCwL51Ki0WrMd89v+pbCLDj/hDjrb4a2sOrw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.4.tgz", + "integrity": "sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -5181,25 +5181,25 @@ } }, "jest-jasmine2": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.3.tgz", - "integrity": "sha512-x9PEGPFdnkSwJj1UG4QxG9JxFdyP8fuJ/UfKXd/eSpK8w9x7MP3VaQDuPQF0UQhCT0YeOITEPkQyqS+ptt0suA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz", + "integrity": "sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "is-generator-fn": "^2.0.0", "jest-each": "^25.2.3", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-message-util": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "pretty-format": "^25.2.3", "throat": "^5.0.0" @@ -5332,13 +5332,13 @@ } }, "jest-message-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.3.tgz", - "integrity": "sha512-DcyDmdO5LVIeS0ngRvd7rk701XL60dAakUeQJ1tQRby27fyLYXD+V0nqVaC194W7fIlohjVQOZPHmKXIjn+Byw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.4.tgz", + "integrity": "sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", @@ -5530,37 +5530,37 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.3.tgz", - "integrity": "sha512-mcWlvjXLlNzgdE9EQxHuaeWICNxozanim87EfyvPwTY0ryWusFZbgF6F8u3E0syJ4FFSooEm0lQ6fgYcnPGAFw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz", + "integrity": "sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==", "dev": true, "requires": { "@jest/types": "^25.2.3", "jest-regex-util": "^25.2.1", - "jest-snapshot": "^25.2.3" + "jest-snapshot": "^25.2.4" } }, "jest-runner": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.3.tgz", - "integrity": "sha512-E+u2Zm2TmtTOFEbKs5jllLiV2fwiX77cYc08RdyYZNe/s06wQT3P47aV6a8Rv61L7E2Is7OmozLd0KI/DITRpg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.4.tgz", + "integrity": "sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-docblock": "^25.2.3", "jest-haste-map": "^25.2.3", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-leak-detector": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", - "jest-runtime": "^25.2.3", + "jest-runtime": "^25.2.4", "jest-util": "^25.2.3", "jest-worker": "^25.2.1", "source-map-support": "^0.5.6", @@ -5620,16 +5620,16 @@ } }, "jest-runtime": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.3.tgz", - "integrity": "sha512-PZRFeUVF08N24v2G73SDF0b0VpLG7cRNOJ3ggj5TnArBVHkkrWzM3z7txB9OupWu7OO8bH/jFogk6sSjnHLFXQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.4.tgz", + "integrity": "sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", @@ -5637,13 +5637,13 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "realpath-native": "^2.0.0", @@ -5711,20 +5711,20 @@ "dev": true }, "jest-snapshot": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.3.tgz", - "integrity": "sha512-HlFVbE6vOZ541mtkwjuAe0rfx9EWhB+QXXneLNOP/s3LlHxGQtX7WFXY5OiH4CkAnCc6BpzLNYS9nfINNRb4Zg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.4.tgz", + "integrity": "sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^25.2.3", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "jest-diff": "^25.2.3", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", @@ -5921,12 +5921,12 @@ } }, "jest-watcher": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.3.tgz", - "integrity": "sha512-F6ERbdvJk8nbaRon9lLQVl4kp+vToCCHmy+uWW5QQ8/8/g2jkrZKJQnlQINrYQp0ewg31Bztkhs4nxsZMx6wDg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.4.tgz", + "integrity": "sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", diff --git a/package.json b/package.json index db291ab..99247cb 100644 --- a/package.json +++ b/package.json @@ -33,13 +33,13 @@ "@fink/prattler": "^2.0.0" }, "devDependencies": { - "@fink/cli": "^2.2.0", + "@fink/cli": "^2.3.0", "@fink/jest": "^1.1.0", "@fink/larix": "^4.6.1", - "@fink/loxia": "^4.5.2", + "@fink/loxia": "^4.6.3", "commitizen": "^4.0.3", "cz-conventional-changelog": "^3.1.0", - "jest-cli": "^25.2.3", + "jest-cli": "^25.2.4", "npx-run": "^2.1.2", "semantic-release": "^17.0.4" }, diff --git a/src/lang/identifier/other.fnk b/src/lang/identifier/other.fnk index 921ae2b..ce42fd1 100644 --- a/src/lang/identifier/other.fnk +++ b/src/lang/identifier/other.fnk @@ -31,7 +31,7 @@ number = fn ctx: float_ctx = advance(advance(ctx)) float_value = `${int_value}.${curr_value(float_ctx)}` - [foo, bar] = match true: + match true: float_value.endsWith('e'): e_ctx = advance(float_ctx) e_value = `${float_value}${curr_value(e_ctx)}` @@ -49,7 +49,6 @@ number = fn ctx: else: [float_value, float_ctx] - [foo, bar] else: [int_value, ctx] diff --git a/src/testing/serialize.fnk b/src/testing/serialize.fnk index baf101d..4a5e727 100644 --- a/src/testing/serialize.fnk +++ b/src/testing/serialize.fnk @@ -14,6 +14,7 @@ str_type_op = fn {type, op, comment=null, loc: {start, end}}, indent: prefixed = lines.map(fn line: `${indent}# ${line}`) '${prefixed.join('\n')}\n${head}' + serialize_block = fn node, serialize, indent: head = str_type_op(node, indent) @@ -103,7 +104,7 @@ serialize_other = fn node, serialize, indent: serialize_jsx = fn node, serialize, indent: head = str_type_op(node, indent) - result = match true: + match true: (node.type == 'jsx-elem'): props = node.props.map(fn expr: serialize(expr, `${indent} `)) children = node.children.map(fn expr: serialize(expr, `${indent} `)) @@ -132,7 +133,6 @@ serialize_jsx = fn node, serialize, indent: expr = serialize(node.expr, `${indent} `) `${indent}${head}\n${expr}` - result serialize = fn node, indent='': match true: From bf357271af1df963683d419b4517e33843fba10c Mon Sep 17 00:00:00 2001 From: Jan Klaas Kollhof Date: Wed, 1 Apr 2020 12:52:22 +0200 Subject: [PATCH 2/2] feat(call): allow a multiline call to omit commas for separating args --- package-lock.json | 18 +++++----- src/lang/call/call.fnk | 58 +++++++++++++++++--------------- src/lang/call/call.test.fnk | 26 +++++++++++--- src/lang/call/call.test.fnk.snap | 23 ++++++++++++- 4 files changed, 82 insertions(+), 43 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4995e26..f490dab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -339,9 +339,9 @@ } }, "@fink/loxia": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/@fink/loxia/-/loxia-4.6.3.tgz", - "integrity": "sha512-Mxdh1GStd0VH/JVY3Hk17B51IYlhJLvSrCgEHLiiJFl196zlXGvw5fAU+cHJr8VTCXE7iC1VY19fA+HIT5CK0w==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/@fink/loxia/-/loxia-4.6.4.tgz", + "integrity": "sha512-AZo+NamBxtmQc3Olyd2LexRjc2C5CN9GOFnATjGUj5Qly+XReGIXSx2J1bECrNH0aoWtOpvahf6blPFV9NjEew==", "dev": true, "requires": { "@babel/generator": "^7.8.6", @@ -1478,9 +1478,9 @@ "dev": true }, "@types/babel__core": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.6.tgz", - "integrity": "sha512-tTnhWszAqvXnhW7m5jQU9PomXSiKXk2sFxpahXvI20SZKu9ylPi8WtIxueZ6ehDWikPT0jeFujMj3X4ZHuf3Tg==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz", + "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -1550,9 +1550,9 @@ } }, "@types/node": { - "version": "13.9.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.5.tgz", - "integrity": "sha512-hkzMMD3xu6BrJpGVLeQ3htQQNAcOrJjX7WFmtK8zWQpz2UJf13LCFF2ALA7c9OVdvc2vQJeDdjfR35M0sBCxvw==", + "version": "13.9.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.8.tgz", + "integrity": "sha512-1WgO8hsyHynlx7nhP1kr0OFzsgKz5XDQL+Lfc3b1Q3qIln/n8cKD4m09NJ0+P1Rq7Zgnc7N0+SsMnoD1rEb0kA==", "dev": true }, "@types/normalize-package-data": { diff --git a/src/lang/call/call.fnk b/src/lang/call/call.fnk index 991ba5e..3eb3885 100644 --- a/src/lang/call/call.fnk +++ b/src/lang/call/call.fnk @@ -1,25 +1,22 @@ { - curr_loc, expression, next_is_end, advance, curr_value, - next_loc, next_is + curr_loc, expression, next_is_end, advance, curr_value, next_loc, next_is } = import '@fink/prattler' {symbol} = import '../symbols' {seq} = import '../generic/sequence' {get_block} = import '../block' -{next_is_unindented} = import '../indentation' +{curr_next_adjecent} = import '../indentation' call = fn op: - { - ...symbol(op), + led = fn: fn ctx, callee: + {start} = callee.loc + [args, next_ctx] = seq(ctx, ')') + {end} = curr_loc(next_ctx) - led: fn: fn ctx, callee: - {start} = callee.loc - [args, next_ctx] = seq(ctx, ')') - {end} = curr_loc(next_ctx) + [{type: 'call', callee, args, loc: {start, end}}, next_ctx] - [{type: 'call', callee, args, loc: {start, end}}, next_ctx] - } + {...symbol(op), led} params = fn ctx: @@ -34,21 +31,26 @@ params = fn ctx: call_no_parens = fn op: - { - ...symbol(op), - - led: fn: fn ctx, callee: - {start} = callee.loc - [args, next_ctx] = params(ctx) - - [ - { - type: 'call', - callee, - args: [...args], - loc: {start, end: curr_loc(next_ctx).start} - }, - next_ctx - ] - } + led = fn: fn ctx, callee: + {start} = callee.loc + + [args, next_ctx] = match true: + curr_loc(ctx).end.line == next_loc(ctx).start.line: + params(ctx) + else: + [{exprs}, next_ctx] = get_block(ctx) + # TODO: remove backward compatibility + [...args] = pipe exprs: + filter expr: expr.value != ',' + + [args, next_ctx] + + {start: end} = curr_loc(next_ctx) + + node = {type: 'call', callee, args, loc: {start, end}} + + [node, next_ctx] + + {...symbol(op), led} + diff --git a/src/lang/call/call.test.fnk b/src/lang/call/call.test.fnk index 183ad51..5ec2842 100644 --- a/src/lang/call/call.test.fnk +++ b/src/lang/call/call.test.fnk @@ -27,8 +27,7 @@ describe:: 'call() - parsing failures', fn: 1| foobar( ^ - Expected ')' but found Symbol(end). - ` + Expected ')' but found Symbol(end).` it:: `throws when missing ')'`, fn: @@ -39,16 +38,33 @@ describe:: 'call() - parsing failures', fn: 1| foobar(1:) ^ - Expected ')' but found ':'. - ` + Expected ')' but found ':'.` describe:: 'call:: ...', fn: - it:: 'parses args: foobar:: spam, ni', fn: + it:: 'parses single line', fn: parse_expr(`foobar:: spam, ni`) eq snapshot + it:: 'parses multiline', fn: + parse_expr(` + foo:: + fn bar: + spam + ni + shrub + `) eq snapshot + + it:: 'parses multiline with comma (TODO)', fn: + parse_expr(` + foo:: + bar, + ni, + shrub + `) eq snapshot + + describe:: 'pipe foo: ...', fn: it:: 'pipes', fn: diff --git a/src/lang/call/call.test.fnk.snap b/src/lang/call/call.test.fnk.snap index 89f3d38..21db678 100644 --- a/src/lang/call/call.test.fnk.snap +++ b/src/lang/call/call.test.fnk.snap @@ -21,7 +21,28 @@ call (1:0-1:9) `; -exports[`call:: ... parses args: foobar:: spam, ni 1`] = ` +exports[`call:: ... parses multiline 1`] = ` +call (1:0-5:2) + ident (1:0-1:3) foo + block fn (2:2-3:8) + ident (2:5-2:8) bar + : + ident (3:4-3:8) spam + ident (4:2-4:4) ni + ident (5:2-5:7) shrub + +`; + +exports[`call:: ... parses multiline with comma (TODO) 1`] = ` +call (1:0-4:2) + ident (1:0-1:3) foo + ident (2:2-2:5) bar + ident (3:2-3:4) ni + ident (4:2-4:7) shrub + +`; + +exports[`call:: ... parses single line 1`] = ` call (1:0-1:15) ident (1:0-1:6) foobar ident (1:9-1:13) spam