New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: remove ts-ignore by converting to string[] #14622
base: main
Are you sure you want to change the base?
Conversation
@kaleem68 is attempting to deploy a commit to the cal Team on Vercel. A member of the Team first needs to authorize it. |
Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link. |
Graphite Automations"Add community label" took an action on this PR • (04/16/24)1 label was added to this PR based on Keith Williams's automation. "Add consumer team as reviewer" took an action on this PR • (04/16/24)1 reviewer was added to this PR based on Keith Williams's automation. "Add platform team as reviewer" took an action on this PR • (04/16/24)1 reviewer was added to this PR based on Keith Williams's automation. |
📦 Next.js Bundle Analysis for @calcom/webThis analysis was generated by the Next.js Bundle Analysis action. 🤖 Sixty-two Pages Changed SizeThe following pages changed size from the code in this PR compared to its base branch:
DetailsOnly the gzipped size is provided here based on an expert tip. First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If Any third party scripts you have added directly to your app using the The "Budget %" column shows what percentage of your performance budget the First Load total takes up. For example, if your budget was 100kb, and a given page's first load size was 10kb, it would be 10% of your budget. You can also see how much this has increased or decreased compared to the base branch of your PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this. If you see "+/- <0.01%" it means that there was a change in bundle size, but it is a trivial enough amount that it can be ignored. |
Closing this as it's possible that the parameter is an object - but the typescript is a little bit hard due to constructUri overloading. |
@emrysal whats would be ideal solution then! is it for In original code its using //ts ignore and I want to git rid of //ts ignore Let me know possible suggestion so i can try to fix it |
@kaleem68 I committed in a potential fix for your consideration also |
type EndpointDeclaration<ParamsType extends Record<string, string> | string[] = string[]> = | ||
| StaticUriEndpoint | ||
| DynamicUriEndpoint<ParamsType>; | ||
type EndpointDeclaration = StaticUriEndpoint | DynamicUriEndpoint; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion
// Define a type to avoid verbosity
type StrArrOrRecordStrStr = string[] | Record<string, string>;
auth: "public", | ||
apiVersion: version, | ||
}); | ||
const constructUri = ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
constructUri
params can be simplified
Suggestion
const constructUri = (endpointData: EndpointDeclaration, params: StrArrOrRecordStrStr) => {
if (endpointData.constructUriFromObject && isParamsRecord(params)) {
return endpointData.constructUriFromObject(params);
}
if (endpointData.constructUriFromArray && Array.isArray(params)) {
return endpointData.constructUriFromArray(params);
}
throw new Error("Invalid parameter type for dynamic endpoint.");
};
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update params for getEndpointData
Suggestion
export const getEndpointData = (
endpoint: Endpoints,
params?: StrArrOrRecordStrStr
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@emrysal I have made a few suggestions based on your commit.
I would be happy if we could get one more review from calcom team member on your changes.
This PR is being marked as stale due to inactivity. |
What does this PR do?
It removes ts-ignore by combining if and else if conditions into if condition.
Fixes #14621
The solution follows a suggestion mentioned in the suggestion of #14621
ts ignore warning is removed successfully.
Type of change