Closed mstuart closed 4 years ago
Issue-Label Bot is automatically applying the label feature_request
to this issue, with a confidence of 0.96. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!
Links: app homepage, dashboard and code for this bot.
Hi, I'm interested in this. Never made typings for ts, sounds interesting!
Ah @ReazerDev beat me to it. If you need an extra hand lemme know.
No worries @claeusdev! If you're wanting to hack around w/ TypeScript, there are some other similar ones under these repos too! https://github.com/paypal/hacktoberfest/blob/main/README.md#repos
Wait, am I too eligible to get the socks?^^ I'm asking since I don't commit anything to this repo, but to DefinitelyTyped
@ReazerDev No problem! When you commit it to DefinitelyTyped, can you drop the link here?
Has been merged :)
@ReazerDev wow, that was really fast 😸 Thanks! We have you down for some fancy socks. Have fun hacking :)
Nice :) Was a lot of fun, thank you. You too have fun^^
Am I getting an email regarding shipping information?
I was thinking the same thing. I'm not sure how to get your shipping info. We probably should've included a google form or thought that through.
Can you add your email to your GitHub profile real quick? Then you can take it down afterwards. Open to other ideas too. Or maybe I can DM you on Twitter or another way? Hmm... 🤔
My Twitter is: Reazer_Dev
@ReazerDev thanks so much for adding types for paypal-js to DefinitelyTyped! 👏
I was reviewing the PR and noticed a minor issue. The public api for paypal-js v1 is a single function loadScript()
and a string attribute named version
. The functions in utils.js are not publicly exported and should be removed from the typescript definitions. I could see how this is confusing since the paypal-js project lacks an index.js that clearly defines what is publicly exported.
Would you be up for sending a follow up PR to DefinitelyTyped to remove the types for the private functions? The types files should look like this:
// Type definitions for @paypal/paypal-js 1.0
// Project: https://github.com/paypal/paypal-js
// Definitions by: ReazerDev <https://github.com/ReazerDev>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
export interface ScriptOptions {
// options here
}
export function loadScript(options: ScriptOptions): Promise<any>;
export const version: string;
@ReazerDev thanks so much for adding types for paypal-js to DefinitelyTyped! 👏
I was reviewing the PR and noticed a minor issue. The public api for paypal-js v1 is a single function
loadScript()
and a string attribute namedversion
. The functions in utils.js are not publicly exported and should be removed from the typescript definitions. I could see how this is confusing since the paypal-js project lacks an index.js that clearly defines what is publicly exported.Would you be up for sending a follow up PR to DefinitelyTyped to remove the types for the private functions? The types files should look like this:
// Type definitions for @paypal/paypal-js 1.0 // Project: https://github.com/paypal/paypal-js // Definitions by: ReazerDev <https://github.com/ReazerDev> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export interface ScriptOptions { // options here } export function loadScript(options: ScriptOptions): Promise<any>; export const version: string;
Oh yes, of course! Will do once I'm home!
Awesome! Thanks @ReazerDev!
Also, thanks for documenting all the scriptOptions
. I think you got almost all of them. Here's a list I have on my end of all the different available options. It's in React PropTypes, but it should help with identifying any missing ones.
"buyer-country": PropTypes.string,
"client-id": PropTypes.string.isRequired,
commit: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
components: PropTypes.string,
currency: PropTypes.string,
"data-csp-nonce": PropTypes.string,
"data-order-id": PropTypes.string,
"data-page-type": PropTypes.string,
"data-partner-attribution-id": PropTypes.string,
debug: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
"disable-funding": PropTypes.string,
"integration-date": PropTypes.string,
intent: PropTypes.string,
locale: PropTypes.string,
"merchant-id": PropTypes.string,
vault: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
Great improvements @ReazerDev! Thanks for taking care of this so quickly. I approved the PR and it looks like you can merge it whenever you're ready: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/48513#issuecomment-703802557
Yup merged it
Thanks again @ReazerDev. I verified the types locally by installing @types/paypal__paypal-js
and it works great 😄
Great! Was fun working on it!
This project isn't written in TypeScript, but many TypeScript users would like to use published typings. For this issue, create TypeScript typings that cover the exported functions, and contribute it back to DefinitelyTyped!
This issue is great for someone who wants to learn more about TypeScript!