Description
🔖 Feature description
Pass the parameters as an object - something like:
type CreateMembershipProps = {
teamId: string;
roles: string[];
email: string | undefined;
userId: string | undefined;
phone: string | undefined;
url: string | undefined;
...
}
That way, developers can supply the parameters in any order and it wouldn't break anything and won't have to deal with parameter order gymnastics. I believe Appwrite is written in PHP but I'm sure something like this is also possible.
🎤 Pitch
I was upgrading my SDKs and I was looking at the breaking changes for createMembership()
and it's fine that url
is now optional but it's frustrating to keep having to check for the order of the parameters. For instance, on version 9.0.0, the order is
createMembership(teamId, roles, url, email, ...)
but on version 11.0.0 the order of parameters got switched all over:
createMembership(teamId, roles, email, userId, phone, url, ...)
Also, now I have to supply a bunch of undefined
parameters just to get to the url
towards the very end.
I didn't get any indication that something was wrong because Typescript just validates the types and email
, userId
, and url
are all a bunch of string | undefined
types so switching them around doesn't trigger any warnings from Typescript.
👀 Have you spent some time to check if this issue has been raised before?
- I checked and didn't find similar issue
🏢 Have you read the Code of Conduct?
- I have read the Code of Conduct