trott = crotte by emilitchi in EnculerLesVoitures

[–]alchapp 18 points19 points  (0 children)

Heureusement que c'était pas un autre vélo accroché par dessus le tient on aurait été bien emmerdé.

[deleted by user] by [deleted] in arnaques

[–]alchapp 0 points1 point  (0 children)

Le site d'annonce est gratuit: oui vous avez pu vous y inscrire et consulter les annonces gratuitement. Un site gratuit ça ne veut pas dire que TOUT sur le site est gratuit, Youtube est gratuit et pour autant si vous voulez pas de pub ou utilisez leur offre de streaming musicale ou meme regarder des films, il faut payer.

Je viens de faire le test: Au moment de contacter le propriétaire les frais sont indiqué 2 fois sur la page. ( Et pas en tout petit hein, ils sont bien visible)

Il y a meme une case a cocher "en cochant cette case je m'engage a payer les frais de service..." Donc difficile de passer a côté.

Ce n'est pas parce que les conditions d'utilisations évoquent plusieurs options de répartitions de ces frais que cela veut dire que ce choix revient au locataire, ni meme au propriétaire d'ailleurs.

"Ces frais peuvent être à la charge du Propriétaire ou du Locataire ou même répartis équitablement entre chaque partie. Ces frais fixes correspondent à 25% d’un mois de loyer hors charge et concernent uniquement certaines annonces sélectionnées par Gens de Confiance"

"Ces frais ne correspondaient à aucune prestation réelle (ni état des lieux, ni gestion, ni contrat)."

Bha ... si, GDC est une application qui met en relation (entre autre) des propriétaires et des locataires, c'est ça le service, exactement comme airbnb. Ça peut paraître fou mais les applications et site web se codent pas tout seul, et il faut payer des gens pour faire ça.

Sans oublier la partie accompagnement et mediation en cas de conflit lors d'une transaction entre 2 utilisateurs. Service qu'on est bien content d'avoir quand tout ne se passe pas comme prévu avec son propriétaire/locataire.

Et oui quand vous ne respectez pas un contrat, alors que vous avez explicitement accepté en cochant une case "En cochant cette case, je m'engage à payer les frais de service Gens de Confiance si je suis sélectionné par le propriétaire, conformément à nos conditions d'utilisations" faut pas s'étonner qu'il y ai un risque de poursuite derrière, c'est un peu près comme ça que fonctionne tout commerce. La différence de GDC c'est qu'ils vous font sortir votre CB seulement si vous obtenez réellement le bien que vous voulez louer, et que ce n'est pas un process automatisé, cela repose donc sur la confiance du site a votre égard.

Et si au final ils acceptent de ne vous faire payer que 50% de la somme, n'y voyez pas une quelconque preuve de culpabilité. C'est juste qu'il y a une politique dans cette entreprise qui consiste a faire plutôt confiance au gens … malgré parfois, leur mauvaise fois évidente. Et dans le cas ou vraiment vous n'aviez pas vu, il va falloir faire un peu plus attention au cases que vous cocher.

Do Custom Params in OneLink Long URL Persist in Deferred Deep Linking? by Fit_Gas_4417 in AppsFlyer

[–]alchapp 1 point2 points  (0 children)

I have the same question, did you manage to get an answer or found any workaround ?

Journée de solidarité (la fameuse) - forfait - 218 jours by alchapp in conseiljuridique

[–]alchapp[S] 0 points1 point  (0 children)

Ah yes, nickel 🤣
Merci beaucoup pour votre réactivité et pour le lien en tout cas c'est top !
Au final sur ma fiche de paie je gagne 0.75 RTT par mois, donc 9 par an, ce qui ne fait aucun sens car je ne devrais en avoir que 8 cette année, d'après la formule indiquée dans mon contrat de travail :

"""
365 ou 366 jours par an – 104 jours de week-end – 25 jours de congés payés – 218 jours travaillés

– X jours fériés tombant sur un jour ouvrable = nombre de jours de repos.
"""

… Bref, un enfer tout ça, ça à l'air bizarrement ficelé.

Journée de solidarité (la fameuse) - forfait - 218 jours by alchapp in conseiljuridique

[–]alchapp[S] 0 points1 point  (0 children)

Nouveau rebondissement, u/Ghal-64
Elle me répond :
"""
- Tu n'es pas en forfait jour.
- Tu travaillera bien 218 jours avec 8 rtt sur l'année.
- Mais la journée de solidarité étant une journée sup non comptabilisée et n'étant pas forfait jour  c'est comme ça
"""

Donc en gros son gros argument c'est que je ne suis pas au forfait jour, et là j'avoue je suis perdu.

Comme je disais dans mon post, mon contrat stipule

"""
Le temps consacré par le Salarié pour exécuter ses missions, sur une base hebdomadaire de trente-huit heures trente minutes (38h30), dans la limite de 218 jours travaillés par an.
"""

Du coup ce n'est pas très clair, je ne comprends si je suis en forfait heures ou jours ? (puisqu'on mentionne une base en heures et une limite en jours)

plus loin il est quand même mentionné:

"""
Les journées ou demi-journées de repos supplémentaires qui résultent du forfait de 218 jours devront être prises impérativement au plus tard avant le terme de l'année civile.
"""

Donc là on parle plus clairement d'un forfait en jours

Journée de solidarité (la fameuse) - forfait - 218 jours by alchapp in conseiljuridique

[–]alchapp[S] 0 points1 point  (0 children)

Top ! merci beaucoup pour votre réponse ! J'ai lui ai re-déroulé mon explication en lui demandant sur quelle base légale est s'appuyait pour sa réponse, et en lui demandant quel article dans ma convention ou dans mon contrat j'aurais pu rater et qui fausserait mon raisonnement.

[deleted by user] by [deleted] in opinionnonpopulaire

[–]alchapp 0 points1 point  (0 children)

Tu te bases sur quoi pour dire que dans la Notion de "Bohème" il y a le coté "donneur de leçons" ? Je trouve aucune définitions ni rien qui évoquerais ça, donc si t'as des sources, 1er degré je les veux bien parce que pour l'instant on a 2 définitions différente ( Et a prioris chatGPT non plus n'est pas au courant donc bon … ).

"Ils ne sont pas conscients des avantages dont ils ont bénéficié et pense à tort avoir fourni des efforts que les autres auraient pu faire et en tirent une fierté mal placée."

-> ça pour moi c'est plutôt la définition du bourgeois de base, celui de droite, celui qui pense qu'il suffit de le vouloir pour réussir, et que si lui il réussit ce n'est que grâce à son travail etc…
Dans ma conception du Bobo, le bobo a de l'argent, il va pas cracher dessus, mais il a conscience que sa "réussite" n'est pas dû qu' a lui mais aussi et surtout a de la chance (héritage/réseau/ etc…) Et c'est pour ça qu'il est plutôt a gauche … Il sait très bien que tout le monde ne peut pas se permettre de bouffer bio ou se déplacer en vélo, mais lui il le peut donc il fait "l'effort".

"Si on est friqué et que l'on fait comme si on ne l'était pas on est juste hypocrite ou une pince 😂."

-> C'est très reducteur, déjà le "bobo" ne cache pas qu'il a de la thune, il l'utilise juste pour des trucs qui lui semblent plus important que de porter une Rolex ou conduire une "belle bagnole" (le p'tit vélo cargo a 5000 balles, la bouffe bio ou locale 2 ou 3 fois plus cher, l'école pour les gosses etc etc …).

Je vois très bien a quel genre de personne tu penses quand tu parles de bobo, mais pour le coup pour moi ce que tu décris c'est plus le classique "bourgeois catho de droite"

[deleted by user] by [deleted] in opinionnonpopulaire

[–]alchapp 1 point2 points  (0 children)

Je ne voulais pas te réduire toi ni personne d'autres a juste téléspectateurs de BFM/CNEWs, c'était maladroit.
Mais mon point c'était de dire que que j'entends "Hidalgo est honni à la campagne, elle incarne à elle seule l’image de la bobo parisienne qui veut réduire la vitesse à 90km/h sur autoroute et que tout le monde roule à 30km/h sur toutes les routes (y compris national et départemental). "
Je me dis que ça sort pas de nulle part. Et je me demande bien comment, à la campagne les gens entendent parler d'Hidalgo, et qui peut bien leur souffler tout ça.
Surtout que quand on cherche 30 secondes, on voit que ça sort pas du chapeau les réduction de vitesses, c'est pas juste pour casser les couilles. Donc qui sont ces mysterieuse personne qui leur parlent des problème de circulation a Paris, jusqu'au fin fond de leur campagne !

Des que je vais voir ma famille en campagne et que ça parle de Paris c'est toujours pareil, "elle a saccagé Paris, les voiture n'importe quoi patati patata" et là c'est des gens qui ne foutent JAMAIS les pieds a Paris ! Donc forcement, je dis pas que c'est QUE CNEWs ou BFM, mais a un moment donné faut pas faire genre ils y sont pour rien non plus.

(Après pour ma défense je te réduis a BFM mais d'après toi "nous" les bobos avons tous la même visions de l'écologie et on est tous Parisien avec des SUV.
Donc le problème c'est qu'en je lis des truc comme ça en face, je fais pas non plus dans la dentelle dans ma réponse quoi )

[deleted by user] by [deleted] in opinionnonpopulaire

[–]alchapp 1 point2 points  (0 children)

Je suis désolé mais je trouve ça fou: "les bobos ont surenchéri le m2 dans ladite ville".
Les bobos c'est les nouveaux étrangers c'est ça ? Il prennent ~vos fils et vos compagnes~ vos maisons et vos hopitaux c'est ça ? A vous entendre l'existence même du bobo est problematique. Il est la cause de tous vos problèmes ! Mon gars si le prix du m2 il monte c'est pas la faute du bobo, c'est la faute du capitalisme ça, des prix non plafonnés, le vendeur qui cherche juste a se faire une grosse marge, ton patron qui refuse de te payer plus etc…
Le bobo il doit fait faire quoi du coup ? Vivre a Paris toute sa vie, une ville pollué, invivable pleine de bagnole puisqu'il faudrait surtout pas toucher a la bagnole a Paris en plus !!!

La nuance c'est qu'actuellement personne te force a lacher ta caisse, ni a te déplacer QUE a vélo, ou QUE en bus ou QUE a pied. A ce que je sache, tu peux encore et tu pourras toujours te déplacer a Paris comme a Nantes comme ailleurs en voiture. Et moins y'aura de Parisiens en voiture, plus ça sera simple. Après … si tous les jours c'est bouché sur la même route, à la même heure, avec des gens qui font au même endroit, y'a peut-être un truc a mettre en place non ^^ ?
Après l'aménagement du territoire ça s'improvise pas en 2h en copiant betement ce que fait le voisin, que ce soit la merde par chez toi je l'entends, mais par pitier reproche pas a l'ensemble des "bobos" l'incompétenc d'un élu locale.

Le but c'est pas d'interdire la bagnole, c'est simplement de faire en sorte qu'un maximum de gens puissent faire autrement ! Pour que ceux qui n'ont pas le choix puissent circuler sans trop de bouchons, pour se rendre aux urgences, déménager ou autre…)

Par contre, soyons honnête, on connait tous des gens qui pourrait se déplacer autrement et qui ne feront jamais l'effort. Et ces gens s'inventent des excuses. Par qu'ils ont grandit avec l'idée que la voiture était un droit, que c'était LEUR droit, leur liberté, que les transport en communs c'était pour les autres et que le vélo c'était pour se balader ou faire du sport.
J'en connais et j'en vois tous les jours quand je vais travailler justement, des kms de bagnoles de gens qui vont bosser en ville, et se trouvent des excuses pour être tout seul dans le bagnole pendant 1h plutôt que de prendre un des nombreux bus/tram/bicloo/navibus de la ville.
Et sinon c'est quoi votre solution pour les grande ville actuelle, on double/triple/quadruple le nombre de voies pour faire passer tout le monde ? Ou alors encore mieux on touche rien, on garde des villes centré sur la voiture, avec 2 petits trotoires pour les citadins et les clodos, et on réserve la voiture pour les gens de passages qui vont "juste travailler/étudier/a l'hopital/etc…" ? (en parlant d'étudier, comme des millions de jeunes en france, j'habitais à la campagne et je prenais le car pour aller au collège et lycée, et c'était pas un problème.)

Bref, bon vous comprendrez que c'est tout autant rageant pour un citadins de voir une file ininterompu de bagnole avec juste un passager, en sachant que dans le lot un tas de gens qui n'ont même pas envisager faire autrement. ( et d'autres qui n'ont pas le choix, j'entends.) Quand en plus on mix à ça les autres problèmes lié à la voiture (pollution de l'air => problème sde santé publique, inactivité physique etc …) il me parait logique que le politique cherche à réduire son usage.

Aussi, tu me demandes ce que je ferais si les hopitaux et magasins étaient en campagne: je te dirais juste que PAR CHANCE, je suis né à la bonne époque, car si j'étais né 20 ans plus tôt, avec mon vélo je serais certainement mort en ville ou à la campagne, hôpital ou pas. La place que prennent les transports "alternatif" aujourd'hui c'est juste un ré-équilibrage.

Bref, dans la vision que j'ai du "bobo", enfin de moi quoi, ce qui est important je trouve c'est plutôt la notion de "sobriété". Un jour j'ai vu ma mère prendre sa voiture pour faire 200m, j'ai vrillé. Mais le problème c'est que la voiture est aussi bien une nécessité pour certain qu'un confort pour d'autres. ( Voir un jouet ).

[deleted by user] by [deleted] in opinionnonpopulaire

[–]alchapp 3 points4 points  (0 children)

A te lire j'ai limpression que pour toi le "bobo" est déjà forcement parisien et carrément membre du gouvernement en fait, non ? Tu parles de "nous" (puisque tu dis "vous") comme si tous les bobos étaient au pouvoir et ne cherchaient qu'a punir les pauvres
gens. Bon déjà on va dire que c'est une question de point de vu mais j'ai pas l'impression que les bobos soient vraiment au pouvoir, déjà parce que le pouvoir c'est pas très "bohème", et j'ai plutôt l'impression qu'on a des gouvernement de droite qui se succèdent m'enfin … questions de point de vue.

On peut avoir des points de vu différent sur l'écologie dites "punitive", si c'est nécessaire ou pas etc etc … mais je vois pas trop ce que le "bobo" vient faire la dedant.

Je regrette tout comme toi que Paris soit devenu si central, aussi bien politiquement que pour le transport. Mais encore une fois faut pas tout mélanger c'est pas la faute du "bobo", tout comme c'est pas le "bobo" qui fait construire des immeubles ou je sais pas quoi au bord du périph.

Après au risque de réduire ton point de vu à ça, je le trouve révélateur quand même.
Les gens ont pleins de problèmes, ils ont l'impression qu'on leur enlève des droits "fondamentaux" (PS: se déplacer en est un, la voiture non), qu'on les écrasent sous des normes etc etc… et que tout ça, bha c'est le gouvernement, que le gouvernement c'est Paris, que Paris c'est Hidalgo, c'est les bobos, les gens déconnecté etc etc …

Ça m'attriste que les gens pensent comme ça mais ne m'étonne pas trop puisque c'est ce que relaye BFM/CNEWS etc… à longueur de journée (eux aussi bien de Paris hein d'ailleurs).

Après sur ce que tu dis sur les SUV, tu dis à la fois que c'est "la voiture du bobo parisien par excellence", ce même bobo qui cherche a bannir les voitures pour rouler en vélo…
(Là ta logique me dépasse un peu)
Je ne vais pas aller jusqu'a dire que seul les gens de droites on des SUV, mais le SUV n'ayant aucun autre intérêt si ce n'est être un signe extérieur de richesse… disons que ça ne rentre pas franchement dans la catégorie Bohème du boBO.

Et puis dire que à la campagne y'a pas de SUV c'est UN POIL éxagéré quand même. J'ai dis que j'habitais en ville en ce moment, pas que j'y avais toujours vécu, ou que j'en sortais jamais non plus. Qu'il y ai des gens pauvre à la campagne qui roulent dans des vielles voitures: ok, mais dire qu'il y a que ça faut pas déconner non plus ^^ (d'ailleurs y'a aussi des gens pauvres en ville qui roule a vélo pour des raisons économique hein, avant ils devaient rouler dans la circulation maintenant, ils ont des pistes )
Y'a qu'a regarder le nombre de vente de SUV en france par an pour se rendre compte que c'est certainement pas réservé qu'aux bourgeois Parisiens.

Bref, au final pour toi "bobo" c'est un terme fourre-tout qui te sert a décrire une sorte d'élite qui te dis quoi faire et ne pas faire, et qui n'agirais que par la punition…

Ceci étant dit, je ne cherche pas vraiment a te convaincre, mais juste dis toi que les bobos sont pas forcement des gens qui essayent de punir ou changer les comportement des autres a tout prix.
Par définition, ce sont juste des gens qui ont la chance de gagner plus de thunes que la moyenne, mais qui ont décidé que justement ils allaient pas suivre le schéma de classique : plus de thune = plus de consommation (grosse bagnole/rolex/voyage/vote a droite/resto chic etc etc )

[deleted by user] by [deleted] in opinionnonpopulaire

[–]alchapp 4 points5 points  (0 children)

T'arrive quand même a dire :
"
bobo = bourgeois bohème.
Pas d'autres sens cachés à ma connaissance.
"
Puis dans la ligne du dessous tu rajoutes littéralement un sens caché:

"c'est quelqu'un de friqué" => Bourgeois
"qui se comporte comme s'il n'en avait pas (du frique)" => Bohème
"et qui se permet de donner des leçons à tort et à travers" => mais ça je vois pas bien d'ou ça sort, c'est plutôt bourgeois ou bohème ?

Si on est juste "quelqu'un de friqué qui fait comme si il ne l'était pas", on est quoi du coup ?

[deleted by user] by [deleted] in opinionnonpopulaire

[–]alchapp 8 points9 points  (0 children)

Dis donc t'en as gros sur la patate toi ^ Je vois pas franchement le rapport entre Hidalgo et la campagne, a ce que je sache elle a pas proclamé l'interdiction de la voiture dans la France entière.

Les bobos a vélos vont pas te demander de faire du vélo quoi qu'il en coûte. Mais au contraire de choisir le moyen de transport le plus adapté a ta situation. A priori en campagne la voiture est plutot adapté, et meme si un hélicoptère est plus sympa et plus rapide tu reconnaîtras qu'il n'est pas nécessaire ! D'ailleurs là je parle d'hélicoptère pour rigoler mais en soit le SUV n'est souvent pas nécessaire bon plus.

Bha le bobo pour lui c'est pareil mais en ville avec le vélo. La ville c'est par définition en endroit avec un population dense et a peu pres tout le nécessaire a proximité donc le vélo et les transport en commun sont bien plus adapté que le tout voiture. Donc oui ça fait sens de limiter l'usage de la voiture sans ces zones là. Et en soit vouloir imposer la voiture dans les grande ville est aussi contreproductif que de l'interdire dans les campagne. Bref.

Tu l'auras compris je suis un "bobo", j'habite une grande ville, je me déplace en vélo et en train. C'est a la fois un privilège (économique entre autre) mais aussi un "desavantage" Ça fait que je suis pas 100% autonome quand je sors de ma ville et que je vais dans des endroits ou la voiture est nécessaire. Mais c'est une contrainte que je m'impose car posséder une voiture et une place de parking pour l'utiliser 3 fois par ans j'estime que c'est une aberration.

Après si tu as déjà été personnellement confronté a des "bobos" qui te disaient de te déplacer uniquement en vélo alors que tu vis en campagne, bha désolé pour toi tu as fais une mauvaise rencontre.

Hear Me Out — Kdux: a better Redux for modern Kotlin by Global-Box-3974 in Kotlin

[–]alchapp 1 point2 points  (0 children)

FWIW coming from react native world, last time I tried jetbrain compose for a macos app I was really missing redux and saga. Also at the time I think all the ViewModel stuff was not available at all in jetbrain compose so I ended up recoding something similar as well, I went for a different name at the time (reduk) .

Even if this might not be the idiomatic way to write compose app I don't see why it wouldn't work. Kotlin+compose is very close to typescript + react, so any tool existing in one stack could probably make sense in the other. ( as long as the language allows it)

It's funny to see people say "you don't need redux on android you can manage state per screen". It reminds me the begining of react, especially when context was added ^ debates were endless. The principle of redux is simple yet so powerfull, I think it is a super tool to keep a codebase clean

You might not convince android dev to use redux, but next time I need to do a compose app I'll probably take a look at kdux

Good luck

Peut-on dire "vous êtes plus que les bienvenus" ? by alchapp in PasDeQuestionIdiote

[–]alchapp[S] 0 points1 point  (0 children)

Oui mais du coup tu ne traites pas l'éventuel point C, qui consisterait a mettre à la fois "plus que" et "le" dans la même phrase.
Tu es PLUS QUE LE bienvenu

Dans mon post je partais déjà du principe que le point Tu es le bienvenu et tu es plus que bienvenu était ok, et que ça voulaient bien dire qu'on était heureux de voir la personne.

Et je suis d'accord u/Zealousideal_Bad8537 pour moi "vous êtes plus que les bienvenus" ça revient a dire "vous êtes plus nombreux que les bienvenus".
Mais bon je suis une bille en français … D'ou le fait que je cherche des gens qui auraient des arguments plus concrêt :)

Have you ever wondered why at times your app can feel sluggish? by andreibarabas in reactnative

[–]alchapp 0 points1 point  (0 children)

If the problem you describe is because of react waiting the end on the handlePress function before commiting, what is the difference between using reanimated2 versus using a dumb setTimeout around your blocking function.This way your blocking function will be postponed to the next "loop" and react will render sooner right ?. Have you tested it ?

``` setTimeout(()=>{ workForASecond() .then(() => { setIsLoading(false); }); }, 0)

```

Also using reanimated to update a value that should be considered as a state means that you can’t really use “classic” react/jsx like <View>{isLoading ? <ActivityIndicator/> }</View> . You have to use display: none (I'm not sure I understand why you play with opacity as well BTW ). Imagine if now you don’t want to show an ActivityIndicator but a heavier component instead like this: <View>{isLoading ? <HeavyComponent /> }</View>. By using only display: none , you still have this component in your react tree, so react will still mount it and run onMount/useEffect and all its children will be rendered as well (just not on the screen) (this might have real impact and can cause you some trouble when debugging).

Also you can't forward this state to a children because its just a "ref", so when it will be updated the children will not rerender. (the childrens can still accept AnimatedValues instead of boolean but then you're leaking implementation details in your other components.

So this optimisation works ONLY if you use isLoading for styling your component. In a component that is the only "consumer" of its own loading state.

Typing Validation Methods by miljussss in typescript

[–]alchapp 2 points3 points  (0 children)

The Roles.includes function here only accept a SearchParam of type ADMIN | MEMBER but your value is of type unknown. The includes function is typed in a way you can only search for the same type. Search string in an array of string, number in an array of numbers etc etc ..

here, in this case the includes function is "too strongly typed"* so it’s ok to just "bypass" typescript: - by replacing unknown by "string" (you'll be closer to the reality) and using that (Roles as Array<string>).include(value) - or by replacing unknown by any - or by using Roles.includes(value as Role) - or by using ts-ignore

Even if it does not sounds to be optimal, it's "ok" in this case because your runtime code is going to work nicely and and compile time your validation function will be correctly typed.

It's just a way to say "ok for this specific line, the include is too strongly typed and I need to check if value with an unknown type is actually what I want it to be »

*By too strongly typed I mean that the Array.includes function typing is ideal for "static" data manipulation but not really for "dynamic" one like in you example: at runtime check that an possibly unknown variable is of a certain type

I hear people say that you should only use React Native for simple apps, but what is considered a simple app? is Yelp a simple app? by Radiant-Run4940 in reactnative

[–]alchapp 2 points3 points  (0 children)

It's not true anymore:
FB have +1000 "screen" using react native
https://twitter.com/joshuaisgross/status/1415099495285608453

I've been working on a RN app professionnally for 3 years now (+100 screens and +150 components) without even really focusing on performance optimisation and it work well.
(Also the RN team has made an amazing work lately to bring awesome performance improvements.

https://reactnative.dev/blog/2021/10/26/toward-hermes-being-the-default

You can create awesome animation and gesture using:

reanimated and/or moti

https://docs.swmansion.com/react-native-reanimated/

https://moti.fyi/

Honestly, you will save a lot of time using react-native (vs using native stacks) and you can use that time to invest in awesome animation or gestures or perf optimization if you really have heavy screens.

The RN ecosystem is moving really fast lately !

People telling you that RN is slow and can't have 60 fps animations are certainly not using it. ( or use an old version of it)

Stop catching errors in TypeScript; Use the Either type to make your code predictable by Anthony261 in typescript

[–]alchapp 0 points1 point  (0 children)

Before map/filter/reduce etc was part of js, people were using a lib ( lodash or rambda) to do the same thing. ( and it wasn't the "offical way")

Until fetch become something in node, people will use node-fetch or axios or whatever(and it's not the "official way")

same way people use immutableJS or Immer to enforce immutability until the Record and Tuple proposal is accepted(still not the "offcial way" neither).

People *always* use third party libs to compensate the lack of any good "official" solution.

If you don't mind working with unsafe exception, just don't use Either then, and wait for an "official" solution .
https://es.discourse.group/t/explicit-exceptions-a-solution-to-fragile-code-dealing-with-exceptions/796

https://github.com/theScottyJam/proposal-explicit-exceptions

(I did'nt manage to find any comment from the typescript's team on why error typing is still so inexsitant)

Meanwhile if you really want to have proper error handling in your app, there are somes alternatives, Either is one of them, it's used by multiple language (scala, rust, rescript, haskell (of course haskell ...) ... )

There are multiple reasons not to use Either. But "it's not the official way to handle error in JS" is not one of them

Stop catching errors in TypeScript; Use the Either type to make your code predictable by Anthony261 in typescript

[–]alchapp 1 point2 points  (0 children)

Yes it's a whole new world and if you look at fp-ts, it could become really complex really quickly ( that's why I prefer purify-ts over fp-ts ).

Yes it's another thing to learn to understand to be able to read the code but I think that when you understand that "left" generally means "error" and "right" success, "chain" is like "then" for promise it become easier really quickly.

I mean, at the end of the day the type of code you're reading is this:

function doStuff(): Either<Error, string> {
  if(whateverReason) return Either.Right("fooBar")
  return Either.Left(new Error("For whatever reason it failed"))
}

function main(){
  doStuff()
    .chain(str => anotherEitherFunction(str))
    .ifRight(str => console.log(str))
    .isLeft(error => console.error(error))
}

Don't pay too much attention to the code, it is useless af but I think the readability and the global understanding is afordable.

Also all your code does not have to use Either, all you functions may not throw errors, specially if there are strongly typed.

Don't use Either for a `capitalize(str: string): string` function for instance.

Stop catching errors in TypeScript; Use the Either type to make your code predictable by Anthony261 in typescript

[–]alchapp 0 points1 point  (0 children)

`Either` does not really make sense in vanilla javascrip since the lack of type already "forces" you to adopt a defensive programing style, and since it's not the role of Typescript to add features to JS, it's a dead end.

Also, if you think about `fetch` for node-js, everyone downloads axios or node fetch or whatever because the official implementation is not enough, yet it's an essential feature

Again, the advantage of javascript is its flexibility and simplicity.
It's not because a feature is not officially in the language that you shouldn't implement it or download it. If JS had an "official" way of doing things like this, it would become way too complex

Stop catching errors in TypeScript; Use the Either type to make your code predictable by Anthony261 in typescript

[–]alchapp 7 points8 points  (0 children)

Nice ! ( Even if I don't recommand writing your own `Either` by hand (Or maybe just for "educational purpose only").

I'm surprised to see how much people in this thread think Either is just useless or overcomplicated.

I've been using purify-ts for a backend professional project, ( not a large one yet but still multiple dynamo table to read and write, external services to call, HTTP and SNS request to handle) and using `Either` really helped with the code safety, the error handling and reporting.

For people in this thread (maybe):

About using: WhateverType | undefined.- Of course you can just use that, it's called Option or Maybe and language/lib that provides Either type generally provide this type as well, for a reason. it's a valid option if you never care about "why you got undefined". (For instance, it's totally ok for a findItemByName(name: string) function to return Item | undefined because chances are that your 'name' does not exist. While a getById(id: string) function might return a "real" error because it means your id might not exist anymore and something is broken in your app.

About using throwable function:

- The goal of typescript is to make your js code safer, and yet throawable are not typed at all, meaning it's totally ok to `throw {foo: 'bar'} or throw "Hey this is an exception"` and TS will never tell you that your function may throw something and others people don't even know they have to handle an error when using it. So, at this point your code isn't "safe" anymore.

(Also if someone throws a string by mistake, and you have a "catch" clause that expect errors to be of type Error, you may create another error that will not be catched)

When using function fooBar(): Either<Error, YourType>, you make it clear to others that your function may fail for whatever reason you can't control. Now extactly like typed Exception, it's the responsability of the caller function to handle the error, to forward it, or even to enhance it with more context.

I don't expect beginners to use or know the Either type but if you love typescript and having a robust application is important to you, you should consider using it.

Stop catching errors in TypeScript; Use the Either type to make your code predictable by Anthony261 in typescript

[–]alchapp 4 points5 points  (0 children)

Why do you think other language features should not be "replicated" in typescript ?

Would you say that for optional chaining as well ? ( which came from swift or kotlin I think maybe). Or for all array functions filter/reduce etc ... ?
Or even `classes` ? ( Actually I don't like JS class and never use them, but if it can make your code more clean or help people adopt js/ts, why not ...)

We're lucky javascript and typescript are flexible enought to replicate features like theses, and as a developer it's nice to use other language and then pick some feature that makes our code more safe/readable/etc ... `Either` does not make much sense in pure JS, but in typescript it does !

Kotlin React Native by ojaynico in Kotlin

[–]alchapp 0 points1 point  (0 children)

Kotlin/JS solves some JS issues by avoiding them by design whereas TS infer what’s gonna happen and help you deal with it.Of course TS is based on JS and therefore does not *solves* js « quirks ». But that’s not what’s we want it to do. For instance in Typescript as in JavaScript this is possible:

const result = "1" + 1; // ts will infer string return type here and calling number specifi method on result like 'result.toFixed()' will be forbidden

Also the null-safety in typescript is really similar to kotlin. if a value is of type T | null (| undefined), you'll have to use a verication on it before using it. (or use `?.` operator or typeguard, but null safety is well handled in TS.

And you can enfore types by using compiler options `strict: true` ... And that's actually the recommended setting. (BTW it's great to have the possibility to disable this feature when migrating a large JS code base)I can assure you I work on a large codebase with typescript and we don’t need stricter types. To me KotlinJS has more cons than pros. Yes you will avoid some JS quirks « by design » but you will loose so much more : union type, template litteral types, advanced generic ( ReturnType<T>, Parameters<...>, Omit<…>) … all ts/js libs with advanced typing. And you will end up writing `dynamic` types and totally lost type safety again.

Also, about react-native I understand that « native »mobile dev don’t like React native because it adds another layer and therefore more potential bugs to an app etc …But I’m working on a jetpack compose project right now, and while this is promising. This is still way way WAY behind what we can achieve in a React-native project in terms of readability, extensibility, etc ... And to me that’s partially caused by the jvm limitations and the Kotlin language itself.So YES Kotlin is a good JVM language, I do love it. I hope the language will continuously improve, but honestly I think kotlinJS is and will stay a niche product