Skip to content

Allow partial application#9

Open
allgreed wants to merge 2 commits intotypeofweb:masterfrom
allgreed:partial-aplication
Open

Allow partial application#9
allgreed wants to merge 2 commits intotypeofweb:masterfrom
allgreed:partial-aplication

Conversation

@allgreed
Copy link
Copy Markdown
Contributor

No description provided.

@coveralls
Copy link
Copy Markdown

coveralls commented Oct 22, 2018

Pull Request Test Coverage Report for Build 26

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 25: 0.0%
Covered Lines: 12
Relevant Lines: 12

💛 - Coveralls

@typeofweb
Copy link
Copy Markdown
Owner

Ale dlaczego? :P

@allgreed
Copy link
Copy Markdown
Contributor Author

@mmiszy W tym momencie const x = polishPlurals('a', 'b', 'c') zwróci 'c' - wydaje mi się, że nie jest to oczekiwane zachowanie, ani tym bardziej sensowne zachowanie (bo mógłbym po prostu napisać const x = 'c' xD. Możnaby zwrócić undefined, natomiast ludzie się będą dziwić skąd undefined nagle. Dlatego wydaje mi się, że jeżeli nie psuje to aktualnej funkcjonalności (a nie psuje, jak widać po Travisie) to czemu by nie zwrócić funkcji, która oczekuje parametru liczbowego?

Mi taka składnia wydaje się intuicyjna do budowania komunikatów i pozwala na całkiem wygodną kompozycję, przykład z mojego skryptu wykorzystującego tę libkę:

const existPlural = polishPlurals("jest", "są", "jest");
const devicePlural = polishPlurals("urządzenie", "urządzenia", "urządzeń");

...

const existDeviceCountMessage = devices => `${existPlural(devices)} ${deviceCountMessage(devices)}`;

@typeofweb
Copy link
Copy Markdown
Owner

Ale dokładnie to samo zachowanie osiągniesz używając natywnego bind albo lodasha, więc nie widzę potrzeby powiększania tej biblioteki ogólnodostępnymi utilkami.
Co od liczby parametrów — każdy rozsądny cżłowiek używa TS, który nie pozwoli Ci wywołać funkcji z 3-parametrami :) Jeśli chodzi o czysty JS to można by dodać jakąś asercję, ale też nie widzę sensu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants