From f5308301f79beb85a8d53e0f5ffc466603b8d87a Mon Sep 17 00:00:00 2001 From: Nemo | DFR Date: Thu, 5 Oct 2023 17:13:35 +0900 Subject: [PATCH 1/7] doc(sdk) add TSDoc comments to public API --- src/index.ts | 159 ++++++++++++++++++++++++++++++++++++++- src/typings.ts | 200 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 354 insertions(+), 5 deletions(-) diff --git a/src/index.ts b/src/index.ts index 6c9d27a..2b048b3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -51,6 +51,30 @@ export class MtLinkSdk { mode: 'production' }; + /** + * Call `init` to initialize the SDK and set default options for API calls. + * + * Some LINK APIs can be used without calling `init`. + * Calls related to OAuth require a client id which can only be set via the `init` function. + * These APIs include: + * - {@link authorize} + * - {@link onboard} + * - {@link exchangeToken} + * - {@link tokenInfo} + * + * @example + * ```js + * mtLinkSdk.init(client_id, options); + * ``` + * @param clientId - OAuth `clientId` of the app (please request this from your Moneytree representative if you need one). + *
⚠️ This function will throw an error if this parameter isn't provided. + * @param options - Optional parameters for the SDK. + * These options include all of the values below and also all `options` parameters of the other APIs. + *
Options values passed here during initialization will be used by default if no options are + * passed when calling a specific API. + *
Available options are documented under {@link AuthorizeOptions} and {@link ConfigsOptions} + * refer to each individual link for more details. + */ public init(clientId: string, options: InitOptions = {}): void { if (!clientId) { throw new Error('[mt-link-sdk] Missing parameter `client_id` in `init`.'); @@ -66,37 +90,129 @@ export class MtLinkSdk { mode: validModes.indexOf(mode) === -1 ? 'production' : mode }; } - + /** + * Use this method to send a guest identifier to Moneytree so that Moneytree can forward it as `saml_subject_id` parameter + * to the Identity Provider (IdP) via the SAMLRequest during SAML SSO flows. See the [SAML SSO documentation for details](https://docs.link.getmoneytree.com/docs/saml-introduction#saml-subject-identifier). + * + * This parameter can be set during {@link init} or changed on a request-by-request basis with this method. + * The `saml_subject_id` parameter will be forwarded to the `authorize`, `logout` and `open-service` methods when defined. + */ public setSamlSubjectId(value: string): void { this.storedOptions.samlSubjectId = value; } + /** + * OAuth authorization method to request guest consent to access data via the [Link API](https://getmoneytree.com/jp/link/about). + * + * The only supported flow is authorization code grant with PKCE [PKCE](https://auth0.com/docs/flows/concepts/auth-code-pkce) + * If the user is not logged in yet this will show the login screen and redirect the guest to the consent screen after they log in. + * After the guest consents, they will be redirected to the redirect URI with an authorization code. + * If the user is already logged and has granted consent in the redirection happens immediately. + * + * You can pass the {@link AuthorizeOptions.forceLogout} option to force the guest to log in, even if they have an active session. + * + * You can also choose to display the sign up form when the user is not logged in yet by setting the {@link AuthorizeOptions.authAction} option. + * + * @remark + * You must initialize the SDK via the {@link init} before calling this API. + * + * @example + * ```javascript + * mtLinkSdk.authorize(options); + * ``` + */ public authorize(options?: AuthorizeOptions): void { authorize(this.storedOptions, options); } + /** + * This method generates an URL for OAuth authorization that requires guest consent to access data via [Link API](https://getmoneytree.com/jp/link/about). + * + * See {@link authorize} API for authorization details. This API has exactly the same parameters as {@link authorize}, + * the only difference is that it returns an URL instead of opening immediately with `window.open`. + */ public authorizeUrl(options?: AuthorizeUrlOptions): string { return authorizeUrl(this.storedOptions, options); } + /** + * The onboard API allows a new guest to get onboard faster without having to go through the registration process. + * All you have to do is provide an emai address and pass the same options parameter as the {@link authorize} function. + * We will display a consent screen explaining the access requests and applicable scopes. + * Once the guest consents, a new Moneytree account will be created on their behalf and authorization is completed. + * Resulting behavior will be the same as the {@link authorize} redirection flow. + * + * Onboard will force any current guest session to logout, hence you do not have to call {@link logout} manually to + * ensure a clean state. + * + * If an account with this email address already exists we will redirect the guest to the login screen. + * + * @remark + * ⚠️ You must initialize the SDK via the {@link init} before calling this API. + * + * ⚠️ For legal reasons, you have to set up your app's terms and conditions URL to use the onboard API. + * Please ask your Moneytree representative for more details. + * + * @throws If the `email` property is not set (via {@link init} or in the `options` parameter of this function). + */ public onboard(options?: OnboardOptions): void { onboard(this.storedOptions, options); } + /** + * This method generates a URL for guest onboarding. + * + * This API has exactly the same parameters as {@link onboard}, the only difference being that it returns an URL + * instead of opening immediately with `window.open`. + */ public onboardUrl(options?: OnboardUrlOptions): string { return onboardUrl(this.storedOptions, options); } + /** + * Logout current user from Moneytree. + */ public logout(options?: LogoutOptions): void { logout(this.storedOptions, options); } + /** + * This method generates a URL to log out the guest. + * + * This API has exactly the same parameters as {@link logout}, the only difference being that it returns an URL + * instead of opening immediately with `window.open`. + */ public logoutUrl(options?: LogoutUrlOptions): string { return logoutUrl(this.storedOptions, options); } + /** + * This is a method to open various services provided by Moneytree such as Moneytree account settings, Vault etc. + * + * Pass `serviceId: 'link-kit'` to open the LINK Kit service. + * + * @remark ⚠️ calling this API before calling {@link init} will open the services view without branding (company logo etc.) + */ public openService(serviceId: 'link-kit', options?: LinkKitOpenServiceOptions): void; + /** + * Pass `serviceId: 'myaccount'` to open the MyAccount service. + * + * Open different MyAccount sub-pages by passing the {@link MyAccountServiceTypes} for all possible options. + * + * @remark ⚠️ calling this API before calling {@link init} will open the services view without branding (company logo etc.) + */ public openService(serviceId: 'myaccount', options?: MyAccountOpenServiceOptions): void; + /** + * Pass `serviceId: 'vault'` to open the Vault service. + * + * Depending on the Vault sub-page you want to open, you can pass the following options: + * - `serviceList`: opens the vault service list page, pass {@link VaultOpenServiceViewServiceList} as options. + * - `serviceConnection`: opens the vault service connection page, pass {@link VaultOpenServiceViewServiceConnection} as options. + * - `connectionSetting`: opens the vault connection setting page, pass {@link VaultOpenServiceViewConnectionSetting} as options. + * - `customerSupport`: opens the vault customer support page, pass {@link VaultOpenServiceViewCustomerSupport} as options. + * + * @remark ⚠️ calling this API before calling {@link init} will open the services view without branding (company logo etc.) + */ public openService(serviceId: 'vault', options?: ConfigsOptions): void; public openService(serviceId: 'vault', options?: VaultOpenServiceViewServiceList): void; public openService(serviceId: 'vault', options?: VaultOpenServiceViewServiceConnection): void; @@ -118,6 +234,12 @@ export class MtLinkSdk { } } + /** + * This method can generate URLs for various services provided by Moneytree, such as Moneytree Account Settings and Vault. + * + * This API has exactly the same parameters as {@link openService}, the only difference being that it returns an URL + * instead of opening immediately with `window.open`. + */ public openServiceUrl(serviceId: 'link-kit', options?: LinkKitOpenServiceUrlOptions): string; public openServiceUrl(serviceId: 'myaccount', options?: MyAccountOpenServiceUrlOptions): string; public openServiceUrl(serviceId: 'vault', options?: ConfigsOptionsWithoutIsNewTab): string; @@ -138,14 +260,49 @@ export class MtLinkSdk { } } + /** + * Request for a password-less login link to be sent to the guest's email address. + * + * Clicking on the link in the email will log a guest in directly to the screen specified by the + * {@link RequestLoginLinkOptions.loginLinkTo} parameter. + */ public requestLoginLink(options?: RequestLoginLinkOptions): Promise { return requestLoginLink(this.storedOptions, options); } + /** + * Use this function to exchange an authorization `code` for a token. + * + * You can optionally pass `code` via options parameter, otherwise it will automatically extract the `code` URL + * parameter of the current URL. + * + * The `code` can be used only once. The SDK does not store it internally, you have to store it in your application. + * + * One way to use this API is by calling it on your redirection page. For example, if `authorize` redirects to + * `https://yourapp.com/callback?code=somecode`, you can call this function in the script loaded on that redirection + * page and the client library will automatically extract the code to exchange for a token. + * + * Alternatively, you can extract the `code` manually from the redirect URL and pass it to this function via the + * options object yourself. + * + * If you passed a {@link AuthorizeOptions.codeChallenge} option during the {@link authorize} or {@link onboard} + * call and wish to exchange the token on the client side application, make sure to set the code verifier used to + * generate the said `codeChallenge` here. + * + * @see [here](https://www.oauth.com/oauth2-servers/pkce/authorization-code-exchange/) for more details. + * + * @throws If the {@link ExchangeTokenOptions.code} is not set and the SDK fails to extract it from browser URL. + * @throws If the {@link ExchangeTokenOptions.redirectUri} is not set and it is not set via {@link init}. + */ public exchangeToken(options?: ExchangeTokenOptions): Promise { return exchangeToken(this.storedOptions, options); } + /** + * Validate a token and get information about the user or resource server. + + * @throws if the token is expired. + */ public tokenInfo(token: string): Promise { return tokenInfo(this.storedOptions, token); } diff --git a/src/typings.ts b/src/typings.ts index 3cda954..839482c 100644 --- a/src/typings.ts +++ b/src/typings.ts @@ -1,11 +1,21 @@ export const supportedAuthAction = ['login', 'signup'] as const; export type AuthAction = typeof supportedAuthAction[number]; +/** @hidden */ export interface PrivateParams { + /** + * Brand Moneytree apps with client's branding. E.g: logo or theme. + * @remarks + * This is an internal attribute. Please do not use it unless instructed by your integration representative. + */ cobrandClientId?: string; + /** + * Sets subject Id for saml session version. + */ samlSubjectId?: string; } +/** @hidden */ export interface PrivateConfigsOptions { sdkPlatform?: 'ios' | 'android' | 'js'; sdkVersion?: string; // semver @@ -15,19 +25,71 @@ export const supportedAuthnMethod = ['passwordless', 'sso', 'credentials'] as co export type AuthnMethod = typeof supportedAuthnMethod[number]; export interface ConfigsOptions extends PrivateConfigsOptions { + /** + * Email used to pre-fill the email field in login or sign up or form. + * + * Set the default value via {@link MtLinkSdk.init} + */ email?: string; + /** + * A redirection URL for redirecting a guest back to in the following condition: + * - Guest clicks on `Back to [App Name]`` button in any Moneytree screen. + * - Guest refuses to give consent to access permission in the consent screen. + * - Guest logs out from Moneytree via an app with this client id + * - Revoke an app's consent from settings screen opened via an app with this client id + * + * ⚠️ No `Back to [App Name]` button will be shown if this value is not set, and any of the actions mentioned above will redirect the guest back to login screen by default. + * + * Set the default value via {@link MtLinkSdk.init} + */ backTo?: string; + /** + * Show login or sign up screen when a session does not exist during an {@link MtLinkSdk.authorize} call. + * + * Set default value via {@link MtLinkSdk.init} + * + * @defaultValue 'login' + */ authAction?: AuthAction; + /** + * If you wish to disable the login to sign up form toggle button and vice-versa in the auth screen, set this to `false`. + * + * Set default value via {@link MtLinkSdk.init} + * + * @defaultValue true + */ showAuthToggle?: boolean; + /** + * If you wish to disable the `Stay logged in for 30 days` checkbox in the login screen, set this to `false`. + * + * Set default value via {@link MtLinkSdk.init} + * + * @defaultValue true + */ showRememberMe?: boolean; + /** + * Call method and open/render in a new browser tab, by default all views open in the same tab. + * + * Set default value via {@link MtLinkSdk.init} + * + * @defaultValue false + */ isNewTab?: boolean; + /** + * Force existing guest session to logout and call authorize with a clean state. + * @defaultValue false + */ forceLogout?: boolean; + /** + * Use different authentication methods. + */ authnMethod?: AuthnMethod; } export type ConfigsOptionsWithoutIsNewTab = Omit; export type VaultViewServiceList = { view: 'services-list'; + /** Filter the services by group */ group?: | 'grouping_bank' | 'grouping_bank_credit_card' @@ -45,11 +107,34 @@ export type VaultViewServiceList = { | 'grouping_regional_bank' | 'grouping_stock' | 'grouping_testing'; + /** + * Filter the services by type. + * - `bank` - personal bank + * - `credit_card` - personal credit card + * - `stored_value` - electronic money + * - `point` - loyalty point + * - `corporate` - corporate bank or credit card + */ type?: 'bank' | 'credit_card' | 'stored_value' | 'point' | 'corporate'; + /** Filter the services by the search term */ search?: string; }; -export type VaultViewServiceConnection = { view: 'service-connection'; entityKey: string }; -export type VaultViewConnectionSetting = { view: 'connection-setting'; credentialId: string }; +export type VaultViewServiceConnection = { + view: 'service-connection'; + /** + * Service entity key. + * @remark ⚠️ If entityKey is invalid the Vault top page will be shown. + */ + entityKey: string; +}; +export type VaultViewConnectionSetting = { + view: 'connection-setting'; + /** + * Credential ID. + * @remark ⚠️ If credentialId is invalid the Vault top page will be shown. + */ + credentialId: string; +}; export type VaultViewCustomerSupport = { view: 'customer-support' }; export type VaultServiceTypes = | VaultViewServiceList @@ -57,7 +142,15 @@ export type VaultServiceTypes = | VaultViewConnectionSetting | VaultViewCustomerSupport; -export type MyAccountServiceTypes = { view: LoginLinkTo }; +export type MyAccountServiceTypes = { + /** + * Directly go to the chosen page. Currently supported locations include: + * + * @defaultValue 'settings' // on mobile + * @defaultValue 'settings/update-email' // on desktop + */ + view: LoginLinkTo; +}; export type MyAccountOpenServiceOptions = ConfigsOptions | (ConfigsOptions & MyAccountServiceTypes); export type MyAccountOpenServiceUrlOptions = @@ -97,14 +190,59 @@ interface AuthorizeConfigsOptions { forceLogout?: boolean; } -interface OAuthSharedParams { +export interface OAuthSharedParams { + /** + * The state parameter for OAuth flows, see [here](https://auth0.com/docs/protocols/oauth2/oauth-state) for more details. + * + * If you generates an identifier for the OAuth authorization on your server make sure to set this value explicitly so + * that you can use to acquire the access token after the OAuth redirect occurs. + * + * The default value is a randomly generated [uuid](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)), or set via {@link MtLinkSdk.init} + */ state?: string; + /** + * OAuth redirection URI, see [here](https://www.oauth.com/oauth2-servers/redirect-uris/) for more details. + * + * Set the default value via {@link MtLinkSdk.init} + */ redirectUri?: string; } export interface AuthorizeOptions extends OAuthSharedParams, ConfigsOptions, AuthorizeConfigsOptions { + /** + * Access scopes you're requesting. This can be a single scope, or an array of scopes. + * + * Currently supported scopes are: + * - guest_read + * - accounts_read + * - points_read + * - point_transactions_read + * - transactions_read + * - transactions_write + * - expense_claims_read + * - categories_read + * - investment_accounts_read + * - investment_transactions_read + * - notifications_read + * - request_refresh + * - life_insurance_read + * + * See the [LINK Platform documenation](https://docs.link.getmoneytree.com/docs/api-scopes) for more details + * + * @defaultValue `'guest_read'`, or set via {@link MtLinkSdk.init} + */ scopes?: Scopes; + /** + * The code challenge for [PKCE flow](https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce). + * + * ⚠️ **Only set this if you are exchanging the code on your backend.** If you are exchanging the code on the frontend, + * the SDK handles this for you. + * + * We only support SHA256 as code challenge method, therefore please ensure the code_challenge was generated using the + * SHA256 hash algorithm. + */ codeChallenge?: string; + /** @hidden */ pkce?: boolean; } @@ -113,7 +251,19 @@ export type AuthorizeUrlOptions = Omit; export type Mode = 'production' | 'staging' | 'develop' | 'local'; export type InitOptions = Omit, 'codeChallenge'>, 'pkce'> & PrivateParams & { + /** + * Environment for the SDK to connect to, the SDK will connect to the Moneytree production server by default. + * - Moneytree clients should use `staging` for development as `develop` may contain unstable features. + * - `local` is only for SDK development as it has local dependencies. + */ mode?: Mode; + /** + * Force Moneytree to load content in this specific locale. A default value will be auto detected based on guest + * langauges configurations and location if available. + * Check this [spec](https://www.w3.org/TR/html401/struct/dirlang.html#h-8.1.1) for more information. + * + * Currently supported values are:`'en'`, `'en-AU'`, `'ja'`. + */ locale?: string; }; @@ -122,13 +272,35 @@ export interface StoredOptions extends InitOptions { mode: Mode; } export interface ExchangeTokenOptions extends OAuthSharedParams { + /** + * Authorization code from OAuth redirection used to exchange for a token. + */ code?: string; + /** + * PKCE Code verifier used to exchange for a token. + */ codeVerifier?: string; } export type LogoutOptions = ConfigsOptions; export type LogoutUrlOptions = Omit; +/** + * Options for Onboarding. + * + * Most options are the same as the {@link AuthorizeOptions} with a few exceptions. + * + * Unsupported options are: + * - `showAuthToggle`. + * - `forceLogout`. + * - `showRememberMe` + * - `authAction` + * + * @remark + * ⚠️ SDK will throw an error if both values here and from the init options are undefined. + * + * @see {@link AuthorizeOptions} + */ export type OnboardOptions = Omit< Omit, 'forceLogout'>, 'showRememberMe'>, 'authAction' @@ -138,6 +310,15 @@ export type OnboardUrlOptions = Omit; export type ServiceId = 'vault' | 'myaccount' | 'link-kit'; +/** + * - `settings` - Main Moneytree account settings screen. + * - `settings/authorized-applications` - List of apps currently connected to Moneytree. + * - `settings/change-language` - Change Moneytree account language screen. + * - `settings/email-preferences` - Change Moneytree email preferences screen + * - `settings/delete-account` - Delete Moneytree account screen. + * - `settings/update-email` - Change Moneytree account email screen. + * - `settings/update-password` - Change Moneytree account password screen. + */ export type LoginLinkTo = | 'settings' | 'settings/authorized-applications' @@ -152,17 +333,26 @@ export interface RequestLoginLinkOptions extends ConfigsOptions { } export interface TokenInfo { + /** token issuer */ iss: string; + /** token cretaion time */ iat: number; + /** token expiry */ exp: number; + /** token audience(s) */ aud: string[]; + /** token subject - the moneytree ide fo the user */ sub: null | string; scope: string; client_id: null | string; + /** application related information */ app: null | { + /** Application name */ name: string; + /** @hidden */ is_mt: boolean; }; + /** User related informatino */ guest: null | { email: string; country: string; @@ -175,7 +365,9 @@ export interface Token { access_token: string; refresh_token: string; token_type: string; + /** created at in seconds */ created_at: number; + /** expiry in seconds */ expires_in: number; scope: string; resource_server: string; From baac479815aea4c2104ce31466e95534f0b6a003 Mon Sep 17 00:00:00 2001 From: Nemo | DFR Date: Thu, 5 Oct 2023 17:16:22 +0900 Subject: [PATCH 2/7] chore(docs) run yarn build:docs --- docs/types/assets/highlight.css | 42 ++++ docs/types/assets/navigation.js | 2 +- docs/types/assets/search.js | 2 +- docs/types/classes/MtLinkSdk.html | 234 ++++++++++++++---- docs/types/index.html | 4 +- docs/types/interfaces/AuthorizeOptions.html | 162 +++++++++--- docs/types/interfaces/ConfigsOptions.html | 100 ++++++-- .../interfaces/ExchangeTokenOptions.html | 44 ++-- ...igsOptions.html => OAuthSharedParams.html} | 51 ++-- docs/types/interfaces/PrivateParams.html | 94 ------- .../interfaces/RequestLoginLinkOptions.html | 96 +++++-- docs/types/interfaces/StoredOptions.html | 158 +++++++++--- docs/types/interfaces/Token.html | 30 ++- docs/types/interfaces/TokenInfo.html | 66 +++-- docs/types/modules.html | 7 +- docs/types/types/AuthAction.html | 6 +- docs/types/types/AuthnMethod.html | 6 +- docs/types/types/AuthorizeUrlOptions.html | 6 +- .../types/ConfigsOptionsWithoutIsNewTab.html | 6 +- docs/types/types/InitOptions.html | 25 +- .../types/LinkKitOpenServiceOptions.html | 6 +- .../types/LinkKitOpenServiceUrlOptions.html | 6 +- docs/types/types/LoginLinkTo.html | 19 +- docs/types/types/LogoutOptions.html | 6 +- docs/types/types/LogoutUrlOptions.html | 6 +- docs/types/types/Mode.html | 6 +- .../types/MyAccountOpenServiceOptions.html | 6 +- .../types/MyAccountOpenServiceUrlOptions.html | 6 +- docs/types/types/MyAccountServiceTypes.html | 17 +- docs/types/types/OnboardOptions.html | 23 +- docs/types/types/OnboardUrlOptions.html | 6 +- docs/types/types/OpenServiceOptions.html | 6 +- docs/types/types/OpenServiceUrlOptions.html | 6 +- docs/types/types/Scopes.html | 6 +- docs/types/types/ServiceId.html | 6 +- ...ltOpenServiceUrlViewConnectionSetting.html | 6 +- ...aultOpenServiceUrlViewCustomerSupport.html | 6 +- ...ltOpenServiceUrlViewServiceConnection.html | 6 +- .../VaultOpenServiceUrlViewServiceList.html | 6 +- ...VaultOpenServiceViewConnectionSetting.html | 6 +- .../VaultOpenServiceViewCustomerSupport.html | 6 +- ...VaultOpenServiceViewServiceConnection.html | 6 +- .../VaultOpenServiceViewServiceList.html | 6 +- docs/types/types/VaultServiceTypes.html | 6 +- .../types/VaultViewConnectionSetting.html | 13 +- .../types/types/VaultViewCustomerSupport.html | 6 +- .../types/VaultViewServiceConnection.html | 13 +- docs/types/types/VaultViewServiceList.html | 28 ++- docs/types/variables/default.html | 6 +- docs/types/variables/supportedAuthAction.html | 6 +- .../types/variables/supportedAuthnMethod.html | 6 +- 51 files changed, 950 insertions(+), 454 deletions(-) rename docs/types/interfaces/{PrivateConfigsOptions.html => OAuthSharedParams.html} (83%) delete mode 100644 docs/types/interfaces/PrivateParams.html diff --git a/docs/types/assets/highlight.css b/docs/types/assets/highlight.css index 5674cf3..4e6cbf4 100644 --- a/docs/types/assets/highlight.css +++ b/docs/types/assets/highlight.css @@ -1,22 +1,64 @@ :root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #795E26; + --dark-hl-2: #DCDCAA; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #008000; + --dark-hl-5: #6A9955; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); --code-background: var(--light-code-background); } } @media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); --code-background: var(--dark-code-background); } } :root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); --code-background: var(--light-code-background); } :root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); --code-background: var(--dark-code-background); } +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } pre, code { background: var(--code-background); } diff --git a/docs/types/assets/navigation.js b/docs/types/assets/navigation.js index 7597fe7..dab9f42 100644 --- a/docs/types/assets/navigation.js +++ b/docs/types/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE62XT3PTMBDFv4vPHWjDlEJvGYZDhoR26lAODAfF3iSaOJIryWkLw3dHik38V9Ja5Bjv29+T9NbK+MfvSMGLim6jhZpTtovTXXQR5URt9aMkI1KCfHsqvdmqfabrO8rS6PZq8uHPxal/WqgtF/QX3OWKciZrDGUKxJokmtQVtYGT6/cN4CfO1nQjXbi2xAX7/JJsCdvAku+AuZBDQhf4XtADUYBY7KASgb4nguydyFLhQj3AUwFSzfmGMpOla50WrQsfKy4gdUFbChfqeO6DiGPF2zpja25vN1UXwsznNDGLrBnqNa8mt6x0+i8/3lxdTzoMtgA96OkQpCphKMc35ZvIegdb0zoSH7U9fN+pBhRqJr/C85Ksunyn2Oc0Y1RZ1t0o+Shm/r4YNbAYxIEm/dulZFqF4x3sB+7Sen3+vU5L3sPWJQRFZ2BbXrOIIzn22qn7eAueQpdhnnn7XqdJwguGyNghDXGx792tRntVnUvDtFo0RT7yHVtxIvr3bIlsV5Es+yH0BF6iN8DxuaHiCkopTvhALOVTb29pNuvd76eCj/BIiqwzXY8UnvWNy+D4JxODUpRtugbYvlD/Qiq+BxEXec6Fwrq3uwK9q1/1VpDuvb7/859Tid13o2OsZ1DYZ0k6IOYzZBwU8FnSHRltSK6ue74nQBHx4xE+E9hBCE0fH3l4zphwRyaawtp01agDEZSsMo2rSm3Cu2azLM8H0qHviBo0IMNCex8WFurgV4bG/vwL9mCOovEPAAA=" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE62XS4/TMBSF/0vWI2CKhsfsKsSioqWIlGGBZuEmt43V1A62Mw8Q/x27CU1ix4+YLpt77ndsnxtX+fE7EfAkkttkJZaYHNL8kFwlFRKFfJSViHPgL8+lF4U4lrJ+wCRPbq9n7/5cnfvntSgow79gXQlMCe8wmAhgO5RJki4aAmc3b3rAD5Ts8J67cEOJC/bxKSsQ2cOGHoC4kGNCF3ittpQWiEH+BTF0HKcaKhfyK/ysgYsl3WOiDt61XIvWhU8FlctwQQcKF+p0SKOIU8XbuiA7am9XVRdCnek8U4vsGOK5asesqWj9r96/vb6ZaQyyAjmV+RikLYVQTmP9jZXGwXY0TeKjDqf7O5aAWiz4Z3jcoK3Od4p9TguChWXdvZKPoubvk1IDSYE94My8ChqmVTjdwX7gLq3X59/rtKEGtisFUGQGtuX1i2Ekx161uo+3ojnoDPXM2/c8zzJak4CMHdIYF/ve3epgr7Zzo5hWi77IR16TLUXMvGcb5LAayLIfgiHwEr0BTs8tKK6olNKMjsTSPPX2NmYL434/F3yEO1SX2nTdYXiUNy6B059MCkJgstcNQvti/Wsu6BFYWlcVZSLUfdgV6d3+6rYS6G70/Z//EvPQffc6pnpGhX2RpCNivkDGUQFfJN2J0cbk6rrnDUEQMXw84mcidBBi0w+PPD7nkHAnJprDTnV1qAfEMNqWEteWhoTX/WbenA/kY98RHWhEFgo1Piws1NGvDIm9/wuljIB7ng8AAA==" \ No newline at end of file diff --git a/docs/types/assets/search.js b/docs/types/assets/search.js index 1dd6617..3f4dbf8 100644 --- a/docs/types/assets/search.js +++ b/docs/types/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/types/classes/MtLinkSdk.html b/docs/types/classes/MtLinkSdk.html index e3536cf..c232de8 100644 --- a/docs/types/classes/MtLinkSdk.html +++ b/docs/types/classes/MtLinkSdk.html @@ -20,7 +20,7 @@

Hierarchy

  • MtLinkSdk
+
  • Defined in index.ts:49
  • @@ -64,7 +64,7 @@

    Properties

    storedOptions: StoredOptions = ...
    +
  • Defined in index.ts:50
  • Methods

    @@ -72,112 +72,210 @@
    +
  • Defined in index.ts:124
    • +

      This method generates an URL for OAuth authorization that requires guest consent to access data via Link API.

      +

      See authorize API for authorization details. This API has exactly the same parameters as authorize, +the only difference is that it returns an URL instead of opening immediately with window.open.

      +

      Parameters

      -

      Returns string

    +
  • Defined in index.ts:134
    • +

      Use this function to exchange an authorization code for a token.

      +

      You can optionally pass code via options parameter, otherwise it will automatically extract the code URL +parameter of the current URL.

      +

      The code can be used only once. The SDK does not store it internally, you have to store it in your application.

      +

      One way to use this API is by calling it on your redirection page. For example, if authorize redirects to +https://yourapp.com/callback?code=somecode, you can call this function in the script loaded on that redirection +page and the client library will automatically extract the code to exchange for a token.

      +

      Alternatively, you can extract the code manually from the redirect URL and pass it to this function via the +options object yourself.

      +

      If you passed a AuthorizeOptions.codeChallenge option during the authorize or onboard +call and wish to exchange the token on the client side application, make sure to set the code verifier used to +generate the said codeChallenge here.

      +

      Parameters

      -

      Returns Promise<Token>

    +
  • Defined in index.ts:297
    • +

      Call init to initialize the SDK and set default options for API calls.

      +

      Some LINK APIs can be used without calling init. +Calls related to OAuth require a client id which can only be set via the init function. +These APIs include:

      + +

      Parameters

      -

      Returns void

    • +
    • +
      options: InitOptions = {}
      +

      Optional parameters for the SDK. + These options include all of the values below and also all options parameters of the other APIs. +
      Options values passed here during initialization will be used by default if no options are + passed when calling a specific API. +
      Available options are documented under AuthorizeOptions and ConfigsOptions + refer to each individual link for more details.

      +
      +
    +

    Returns void

    +
    +

    Example

    mtLinkSdk.init(client_id, options);
    +
    +
    +
  • Defined in index.ts:78
    • +

      Logout current user from Moneytree.

      +

      Parameters

      -

      Returns void

    +
  • Defined in index.ts:175
    • +

      This method generates a URL to log out the guest.

      +

      This API has exactly the same parameters as logout, the only difference being that it returns an URL +instead of opening immediately with window.open.

      +

      Parameters

      -

      Returns string

    +
  • Defined in index.ts:185
    • +

      The onboard API allows a new guest to get onboard faster without having to go through the registration process. +All you have to do is provide an emai address and pass the same options parameter as the authorize function. +We will display a consent screen explaining the access requests and applicable scopes. +Once the guest consents, a new Moneytree account will be created on their behalf and authorization is completed. +Resulting behavior will be the same as the authorize redirection flow.

      +

      Onboard will force any current guest session to logout, hence you do not have to call logout manually to +ensure a clean state.

      +

      If an account with this email address already exists we will redirect the guest to the login screen.

      +

      Parameters

      -

      Returns void

    +
  • Defined in index.ts:158
    • +

      This method generates a URL for guest onboarding.

      +

      This API has exactly the same parameters as onboard, the only difference being that it returns an URL +instead of opening immediately with window.open.

      +

      Parameters

      -

      Returns string

    +
  • Defined in index.ts:168
    • +

      This is a method to open various services provided by Moneytree such as Moneytree account settings, Vault etc.

      +

      Pass serviceId: 'link-kit' to open the LINK Kit service.

      +

      Parameters

        @@ -185,11 +283,17 @@

        Parameters

        serviceId: "link-kit"
      • Optional options: ConfigsOptions
      -

      Returns void

    • +
    • Defined in index.ts:196
  • +

    Pass serviceId: 'myaccount' to open the MyAccount service.

    +

    Open different MyAccount sub-pages by passing the MyAccountServiceTypes for all possible options.

    +

    Parameters

    -

    Returns void

  • +
  • Defined in index.ts:204
  • +

    Pass serviceId: 'vault' to open the Vault service.

    +

    Depending on the Vault sub-page you want to open, you can pass the following options:

    + +

    Parameters

      @@ -209,9 +325,12 @@

      Parameters

      serviceId: "vault"
    • Optional options: ConfigsOptions
    -

    Returns void

  • +
  • Defined in index.ts:216
  • @@ -223,7 +342,7 @@
    serviceId: Optional options: VaultOpenServiceViewServiceList
  • Returns void

    +
  • Defined in index.ts:217
  • @@ -235,7 +354,7 @@
    serviceId: Optional options: VaultOpenServiceViewServiceConnection
  • Returns void

    +
  • Defined in index.ts:218
  • @@ -247,7 +366,7 @@
    serviceId: Optional options: VaultOpenServiceViewConnectionSetting
  • Returns void

    +
  • Defined in index.ts:219
  • @@ -259,12 +378,16 @@
    serviceId: Optional options: VaultOpenServiceViewCustomerSupport
  • Returns void

    +
  • Defined in index.ts:220
    • +

      This method can generate URLs for various services provided by Moneytree, such as Moneytree Account Settings and Vault.

      +

      This API has exactly the same parameters as openService, the only difference being that it returns an URL +instead of opening immediately with window.open.

      +

      Parameters

      -

      Returns string

    • +
    • Defined in index.ts:243
  • @@ -286,7 +410,7 @@
    serviceId: Optional options: MyAccountOpenServiceUrlOptions
  • Returns string

    +
  • Defined in index.ts:244
  • @@ -298,7 +422,7 @@
    serviceId: Optional options: ConfigsOptionsWithoutIsNewTab
  • Returns string

    +
  • Defined in index.ts:245
  • @@ -310,7 +434,7 @@
    serviceId: Optional options: VaultOpenServiceUrlViewServiceList
  • Returns string

    +
  • Defined in index.ts:246
  • @@ -322,7 +446,7 @@
    serviceId: Optional options: VaultOpenServiceUrlViewServiceConnection
  • Returns string

    +
  • Defined in index.ts:247
  • @@ -334,7 +458,7 @@
    serviceId: Optional options: VaultOpenServiceUrlViewConnectionSetting
  • Returns string

    +
  • Defined in index.ts:248
  • @@ -346,46 +470,62 @@
    serviceId: Optional options: VaultOpenServiceUrlViewCustomerSupport
  • Returns string

    +
  • Defined in index.ts:249
    • +

      Request for a password-less login link to be sent to the guest's email address.

      +

      Clicking on the link in the email will log a guest in directly to the screen specified by the +RequestLoginLinkOptions.loginLinkTo parameter.

      +

      Parameters

      -

      Returns Promise<void>

    +
  • Defined in index.ts:269
    • +

      Use this method to send a guest identifier to Moneytree so that Moneytree can forward it as saml_subject_id parameter +to the Identity Provider (IdP) via the SAMLRequest during SAML SSO flows. See the SAML SSO documentation for details.

      +

      This parameter can be set during init or changed on a request-by-request basis with this method. +The saml_subject_id parameter will be forwarded to the authorize, logout and open-service methods when defined.

      +

      Parameters

      • value: string
      -

      Returns void

    +
  • Defined in index.ts:100
    • +

      Validate a token and get information about the user or resource server.

      +

      Parameters

      • token: string
      -

      Returns Promise<TokenInfo>

    +
  • Defined in index.ts:306
  • Generated using TypeDoc

    diff --git a/docs/types/index.html b/docs/types/index.html index 10293a3..6c05f56 100644 --- a/docs/types/index.html +++ b/docs/types/index.html @@ -44,8 +44,7 @@

    AuthorizeOptions
  • ConfigsOptions
  • ExchangeTokenOptions
  • -
  • PrivateConfigsOptions
  • -
  • PrivateParams
  • +
  • OAuthSharedParams
  • RequestLoginLinkOptions
  • StoredOptions
  • Token
  • @@ -61,6 +60,7 @@

    LogoutOptions
  • LogoutUrlOptions
  • Mode
  • +
  • MyAccountOpenServiceOptions
  • Loading...
  • Generated using TypeDoc

    diff --git a/docs/types/interfaces/AuthorizeOptions.html b/docs/types/interfaces/AuthorizeOptions.html index 62185cc..6c3e141 100644 --- a/docs/types/interfaces/AuthorizeOptions.html +++ b/docs/types/interfaces/AuthorizeOptions.html @@ -18,13 +18,13 @@

    Interface AuthorizeOptions

    Hierarchy

    +
  • Defined in typings.ts:211
  • @@ -39,7 +39,6 @@

    Properties

    email? forceLogout? isNewTab? -pkce? redirectUri? scopes? sdkPlatform? @@ -52,91 +51,177 @@

    Properties

    Properties

    -
    authAction?: "login" | "signup"
    +
  • Defined in typings.ts:53
  • -
    authnMethod?: "passwordless" | "sso" | "credentials"
    +
  • Defined in typings.ts:86
  • -
    backTo?: string
    +
  • Defined in typings.ts:45
  • -
    codeChallenge?: string
    +
  • Defined in typings.ts:244
  • -
    email?: string
    +
  • Defined in typings.ts:33
  • -
    forceLogout?: boolean
    +
  • Defined in typings.ts:82
  • -
    isNewTab?: boolean
    -
    - -
    pkce?: boolean
    +
  • Defined in typings.ts:77
  • -
    redirectUri?: string
    +
  • Defined in typings.ts:208
  • -
    scopes?: Scopes
    +
  • Defined in typings.ts:234
  • sdkPlatform?: "ios" | "android" | "js"
    +
  • Defined in typings.ts:20
  • sdkVersion?: string
    +
  • Defined in typings.ts:21
  • -
    showAuthToggle?: boolean
    +
  • Defined in typings.ts:61
  • -
    showRememberMe?: boolean
    +
  • Defined in typings.ts:69
  • -
    state?: string
    +
  • Defined in typings.ts:202
  • Generated using TypeDoc

    diff --git a/docs/types/interfaces/ConfigsOptions.html b/docs/types/interfaces/ConfigsOptions.html index 6eea0f6..c58d281 100644 --- a/docs/types/interfaces/ConfigsOptions.html +++ b/docs/types/interfaces/ConfigsOptions.html @@ -18,14 +18,14 @@

    Interface ConfigsOptions

    Hierarchy

    +
  • Defined in typings.ts:27
  • @@ -48,56 +48,108 @@

    Properties

    Properties

    -
    authAction?: "login" | "signup"
    +
  • Defined in typings.ts:53
  • -
    authnMethod?: "passwordless" | "sso" | "credentials"
    +
  • Defined in typings.ts:86
  • -
    backTo?: string
    +
  • Guest clicks on `Back to [App Name]`` button in any Moneytree screen.
  • +
  • Guest refuses to give consent to access permission in the consent screen.
  • +
  • Guest logs out from Moneytree via an app with this client id
  • +
  • Revoke an app's consent from settings screen opened via an app with this client id
  • + +

    ⚠️ No Back to [App Name] button will be shown if this value is not set, and any of the actions mentioned above will redirect the guest back to login screen by default.

    +

    Set the default value via MtLinkSdk.init

    + +
    -
    email?: string
    +
  • Defined in typings.ts:33
  • -
    forceLogout?: boolean
    +
  • Defined in typings.ts:82
  • -
    isNewTab?: boolean
    +
  • Defined in typings.ts:77
  • sdkPlatform?: "ios" | "android" | "js"
    +
  • Defined in typings.ts:20
  • sdkVersion?: string
    +
  • Defined in typings.ts:21
  • -
    showAuthToggle?: boolean
    +
  • Defined in typings.ts:61
  • -
    showRememberMe?: boolean
    +
  • Defined in typings.ts:69
  • Generated using TypeDoc

    diff --git a/docs/types/interfaces/ExchangeTokenOptions.html b/docs/types/interfaces/ExchangeTokenOptions.html index 5da3497..29b3040 100644 --- a/docs/types/interfaces/ExchangeTokenOptions.html +++ b/docs/types/interfaces/ExchangeTokenOptions.html @@ -18,11 +18,11 @@

    Interface ExchangeTokenOptions

    Hierarchy

    +
  • Defined in typings.ts:274
  • @@ -39,26 +39,42 @@

    Properties

    Properties

    -
    code?: string
    +
  • Defined in typings.ts:278
  • -
    codeVerifier?: string
    +
  • Defined in typings.ts:282
  • -
    redirectUri?: string
    +
  • Defined in typings.ts:208
  • -
    state?: string
    +
  • Defined in typings.ts:202
  • Generated using TypeDoc

    diff --git a/docs/types/interfaces/PrivateConfigsOptions.html b/docs/types/interfaces/OAuthSharedParams.html similarity index 83% rename from docs/types/interfaces/PrivateConfigsOptions.html rename to docs/types/interfaces/OAuthSharedParams.html index c93e5d3..3c0b4c8 100644 --- a/docs/types/interfaces/PrivateConfigsOptions.html +++ b/docs/types/interfaces/OAuthSharedParams.html @@ -1,4 +1,4 @@ -PrivateConfigsOptions | @moneytree/mt-link-javascript-sdk
    +OAuthSharedParams | @moneytree/mt-link-javascript-sdk

    Hierarchy

    @@ -30,21 +31,31 @@

    Properties

    -
    - -
    sdkPlatform?: "ios" | "android" | "js"
    +
  • Defined in typings.ts:202
  • -
    -
    -
    -
    - -

    Interface PrivateParams

    -
    -

    Hierarchy

    -
      -
    • PrivateParams
    -
    -
    -
    - -
    -
    -

    Properties

    -
    -
    -

    Properties

    -
    - -
    cobrandClientId?: string
    -
    - -
    samlSubjectId?: string
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file diff --git a/docs/types/interfaces/RequestLoginLinkOptions.html b/docs/types/interfaces/RequestLoginLinkOptions.html index 61266b2..dcd6c14 100644 --- a/docs/types/interfaces/RequestLoginLinkOptions.html +++ b/docs/types/interfaces/RequestLoginLinkOptions.html @@ -22,7 +22,7 @@

    Hierarchy

    • RequestLoginLinkOptions
    +
  • Defined in typings.ts:331
  • @@ -46,69 +46,121 @@

    Properties

    Properties

    -
    authAction?: "login" | "signup"
    +
  • Defined in typings.ts:53
  • -
    authnMethod?: "passwordless" | "sso" | "credentials"
    +
  • Defined in typings.ts:86
  • -
    backTo?: string
    +
  • Defined in typings.ts:45
  • -
    email?: string
    +
  • Defined in typings.ts:33
  • -
    forceLogout?: boolean
    +
  • Defined in typings.ts:82
  • -
    isNewTab?: boolean
    +
  • Defined in typings.ts:77
  • loginLinkTo?: LoginLinkTo
    +
  • Defined in typings.ts:332
  • sdkPlatform?: "ios" | "android" | "js"
    +
  • Defined in typings.ts:20
  • sdkVersion?: string
    +
  • Defined in typings.ts:21
  • -
    showAuthToggle?: boolean
    +
  • Defined in typings.ts:61
  • -
    showRememberMe?: boolean
    +
  • Defined in typings.ts:69
  • Generated using TypeDoc

    diff --git a/docs/types/interfaces/StoredOptions.html b/docs/types/interfaces/StoredOptions.html index 6a4864a..56bb6ce 100644 --- a/docs/types/interfaces/StoredOptions.html +++ b/docs/types/interfaces/StoredOptions.html @@ -22,7 +22,7 @@

    Hierarchy

    • StoredOptions
    +
  • Defined in typings.ts:270
  • @@ -52,105 +52,197 @@

    Properties

    Properties

    -
    authAction?: "login" | "signup"
    +
  • Defined in typings.ts:53
  • -
    authnMethod?: "passwordless" | "sso" | "credentials"
    +
  • Defined in typings.ts:86
  • -
    backTo?: string
    +
  • Defined in typings.ts:45
  • clientId?: string
    +
  • Defined in typings.ts:271
  • -
    cobrandClientId?: string
    +
  • Defined in typings.ts:11
  • -
    email?: string
    +
  • Defined in typings.ts:33
  • -
    isNewTab?: boolean
    +
  • Defined in typings.ts:77
  • -
    locale?: string
    +
  • Defined in typings.ts:267
  • mode: Mode
    +
  • Defined in typings.ts:272
  • -
    redirectUri?: string
    +
  • Defined in typings.ts:208
  • -
    samlSubjectId?: string
    +
  • Defined in typings.ts:15
  • -
    scopes?: Scopes
    +
  • Defined in typings.ts:234
  • sdkPlatform?: "ios" | "android" | "js"
    +
  • Defined in typings.ts:20
  • sdkVersion?: string
    +
  • Defined in typings.ts:21
  • -
    showAuthToggle?: boolean
    +
  • Defined in typings.ts:61
  • -
    showRememberMe?: boolean
    +
  • Defined in typings.ts:69
  • -
    state?: string
    +
  • Defined in typings.ts:202
  • Generated using TypeDoc

    diff --git a/docs/types/interfaces/Token.html b/docs/types/interfaces/Token.html index 4a5f3f9..59738dd 100644 --- a/docs/types/interfaces/Token.html +++ b/docs/types/interfaces/Token.html @@ -20,7 +20,7 @@

    Hierarchy

    • Token
    +
  • Defined in typings.ts:364
  • @@ -42,37 +42,43 @@

    Properties

    access_token: string
    +
  • Defined in typings.ts:365
  • -
    created_at: number
    +
  • Defined in typings.ts:369
  • -
    expires_in: number
    +
  • Defined in typings.ts:371
  • refresh_token: string
    +
  • Defined in typings.ts:366
  • resource_server: string
    +
  • Defined in typings.ts:373
  • scope: string
    +
  • Defined in typings.ts:372
  • token_type: string
    +
  • Defined in typings.ts:367
  • Generated using TypeDoc

    diff --git a/docs/types/interfaces/TokenInfo.html b/docs/types/interfaces/TokenInfo.html index 688d12a..23e10a7 100644 --- a/docs/types/interfaces/TokenInfo.html +++ b/docs/types/interfaces/TokenInfo.html @@ -20,7 +20,7 @@

    Hierarchy

    • TokenInfo
    +
  • Defined in typings.ts:335
  • @@ -42,34 +42,46 @@

    Properties

    Properties

    -
    app: null | {
        is_mt: boolean;
        name: string;
    }
    +
    app: null | {
        name: string;
    }
    +

    application related information

    +

    Type declaration

    • -
      is_mt: boolean
    • -
    • -
      name: string
    +
  • Defined in typings.ts:349
  • -
    aud: string[]
    +
  • Defined in typings.ts:343
  • client_id: null | string
    +
  • Defined in typings.ts:347
  • -
    exp: number
    +
  • Defined in typings.ts:341
  • guest: null | {
        country: string;
        currency: string;
        email: string;
        lang: string;
    }
    +

    User related informatino

    +

    Type declaration

      @@ -80,29 +92,39 @@
      currency
      email: string
    • -
      lang: string
    +
  • Defined in typings.ts:356
  • -
    iat: number
    +
  • Defined in typings.ts:339
  • -
    iss: string
    +
  • Defined in typings.ts:337
  • scope: string
    +
  • Defined in typings.ts:346
  • -
    sub: null | string
    +
  • Defined in typings.ts:345
  • Generated using TypeDoc

    diff --git a/docs/types/modules.html b/docs/types/modules.html index 20217c7..7914068 100644 --- a/docs/types/modules.html +++ b/docs/types/modules.html @@ -24,8 +24,7 @@

    Interfaces

    AuthorizeOptions ConfigsOptions ExchangeTokenOptions -PrivateConfigsOptions -PrivateParams +OAuthSharedParams RequestLoginLinkOptions StoredOptions Token @@ -95,8 +94,7 @@

    Theme

    Generated using TypeDoc

    diff --git a/docs/types/types/AuthAction.html b/docs/types/types/AuthAction.html index 4c0072d..4cced90 100644 --- a/docs/types/types/AuthAction.html +++ b/docs/types/types/AuthAction.html @@ -17,7 +17,7 @@

    Type alias AuthAction

    AuthAction: typeof supportedAuthAction[number]
    +
  • Defined in typings.ts:2
  • Generated using TypeDoc

    diff --git a/docs/types/types/AuthnMethod.html b/docs/types/types/AuthnMethod.html index bfa2561..cf1b98d 100644 --- a/docs/types/types/AuthnMethod.html +++ b/docs/types/types/AuthnMethod.html @@ -17,7 +17,7 @@

    Type alias AuthnMethod

    AuthnMethod: typeof supportedAuthnMethod[number]
    +
  • Defined in typings.ts:25
  • Generated using TypeDoc

    diff --git a/docs/types/types/AuthorizeUrlOptions.html b/docs/types/types/AuthorizeUrlOptions.html index 4e03761..be11d0b 100644 --- a/docs/types/types/AuthorizeUrlOptions.html +++ b/docs/types/types/AuthorizeUrlOptions.html @@ -17,7 +17,7 @@

    Type alias AuthorizeUrlOptions

    AuthorizeUrlOptions: Omit<AuthorizeOptions, "isNewTab">
    +
  • Defined in typings.ts:249
  • Generated using TypeDoc

    diff --git a/docs/types/types/ConfigsOptionsWithoutIsNewTab.html b/docs/types/types/ConfigsOptionsWithoutIsNewTab.html index b39c213..963a1a7 100644 --- a/docs/types/types/ConfigsOptionsWithoutIsNewTab.html +++ b/docs/types/types/ConfigsOptionsWithoutIsNewTab.html @@ -17,7 +17,7 @@

    Type alias ConfigsOptionsWithoutIsNewTab

    ConfigsOptionsWithoutIsNewTab: Omit<ConfigsOptions, "isNewTab">
    +
  • Defined in typings.ts:88
  • Generated using TypeDoc

    diff --git a/docs/types/types/InitOptions.html b/docs/types/types/InitOptions.html index 7f6f8df..d968bda 100644 --- a/docs/types/types/InitOptions.html +++ b/docs/types/types/InitOptions.html @@ -15,16 +15,29 @@
  • @moneytree/mt-link-javascript-sdk
  • InitOptions
  • Type alias InitOptions

    -
    InitOptions: Omit<Omit<Omit<AuthorizeOptions, "forceLogout">, "codeChallenge">, "pkce"> & PrivateParams & {
        locale?: string;
        mode?: Mode;
    }
    +
    InitOptions: Omit<Omit<Omit<AuthorizeOptions, "forceLogout">, "codeChallenge">, "pkce"> & PrivateParams & {
        locale?: string;
        mode?: Mode;
    }

    Type declaration

    • -
      Optional locale?: string
    • +
      Optional locale?: string
      +

      Force Moneytree to load content in this specific locale. A default value will be auto detected based on guest +langauges configurations and location if available. +Check this spec for more information.

      +

      Currently supported values are:'en', 'en-AU', 'ja'.

      +
      +
    • -
      Optional mode?: Mode
    +
  • Moneytree clients should use staging for development as develop may contain unstable features.
  • +
  • local is only for SDK development as it has local dependencies.
  • + + +

    Generated using TypeDoc

    diff --git a/docs/types/types/LinkKitOpenServiceOptions.html b/docs/types/types/LinkKitOpenServiceOptions.html index 7347226..4f79c24 100644 --- a/docs/types/types/LinkKitOpenServiceOptions.html +++ b/docs/types/types/LinkKitOpenServiceOptions.html @@ -17,7 +17,7 @@

    Type alias LinkKitOpenServiceOptions

    LinkKitOpenServiceOptions: ConfigsOptions
    +
  • Defined in typings.ts:169
  • Generated using TypeDoc

    diff --git a/docs/types/types/LinkKitOpenServiceUrlOptions.html b/docs/types/types/LinkKitOpenServiceUrlOptions.html index cd96c41..e20b7a4 100644 --- a/docs/types/types/LinkKitOpenServiceUrlOptions.html +++ b/docs/types/types/LinkKitOpenServiceUrlOptions.html @@ -17,7 +17,7 @@

    Type alias LinkKitOpenServiceUrlOptions

    LinkKitOpenServiceUrlOptions: ConfigsOptionsWithoutIsNewTab
    +
  • Defined in typings.ts:170
  • Generated using TypeDoc

    diff --git a/docs/types/types/LoginLinkTo.html b/docs/types/types/LoginLinkTo.html index 765164d..899a23c 100644 --- a/docs/types/types/LoginLinkTo.html +++ b/docs/types/types/LoginLinkTo.html @@ -15,9 +15,20 @@
  • @moneytree/mt-link-javascript-sdk
  • LoginLinkTo
  • Type alias LoginLinkTo

    -
    LoginLinkTo: "settings" | "settings/authorized-applications" | "settings/change-language" | "settings/email-preferences" | "settings/delete-account" | "settings/update-email" | "settings/update-password"

    Generated using TypeDoc

    diff --git a/docs/types/types/LogoutOptions.html b/docs/types/types/LogoutOptions.html index 298f34d..8b300cf 100644 --- a/docs/types/types/LogoutOptions.html +++ b/docs/types/types/LogoutOptions.html @@ -17,7 +17,7 @@

    Type alias LogoutOptions

    LogoutOptions: ConfigsOptions
    +
  • Defined in typings.ts:285
  • Generated using TypeDoc

    diff --git a/docs/types/types/LogoutUrlOptions.html b/docs/types/types/LogoutUrlOptions.html index 497c42a..b0bbd3b 100644 --- a/docs/types/types/LogoutUrlOptions.html +++ b/docs/types/types/LogoutUrlOptions.html @@ -17,7 +17,7 @@

    Type alias LogoutUrlOptions

    LogoutUrlOptions: Omit<ConfigsOptions, "isNewTab">
    +
  • Defined in typings.ts:286
  • Generated using TypeDoc

    diff --git a/docs/types/types/Mode.html b/docs/types/types/Mode.html index 1d70916..f28c554 100644 --- a/docs/types/types/Mode.html +++ b/docs/types/types/Mode.html @@ -17,7 +17,7 @@

    Type alias Mode

    Mode: "production" | "staging" | "develop" | "local"
    +
  • Defined in typings.ts:251
  • Generated using TypeDoc

    diff --git a/docs/types/types/MyAccountOpenServiceOptions.html b/docs/types/types/MyAccountOpenServiceOptions.html index 321b047..c75d32b 100644 --- a/docs/types/types/MyAccountOpenServiceOptions.html +++ b/docs/types/types/MyAccountOpenServiceOptions.html @@ -17,7 +17,7 @@

    Type alias MyAccountOpenServiceOptions

    MyAccountOpenServiceOptions: ConfigsOptions | ConfigsOptions & MyAccountServiceTypes
    +
  • Defined in typings.ts:155
  • Generated using TypeDoc

    diff --git a/docs/types/types/MyAccountOpenServiceUrlOptions.html b/docs/types/types/MyAccountOpenServiceUrlOptions.html index 4d8108c..19c71e6 100644 --- a/docs/types/types/MyAccountOpenServiceUrlOptions.html +++ b/docs/types/types/MyAccountOpenServiceUrlOptions.html @@ -17,7 +17,7 @@

    Type alias MyAccountOpenServiceUrlOptions

    +
  • Defined in typings.ts:156
  • Generated using TypeDoc

    diff --git a/docs/types/types/MyAccountServiceTypes.html b/docs/types/types/MyAccountServiceTypes.html index f16a6a9..c38975f 100644 --- a/docs/types/types/MyAccountServiceTypes.html +++ b/docs/types/types/MyAccountServiceTypes.html @@ -20,9 +20,18 @@

    Type alias MyAccountServiceTypes

    Type declaration

    Generated using TypeDoc

    diff --git a/docs/types/types/OnboardOptions.html b/docs/types/types/OnboardOptions.html index f7ef920..7e6d87b 100644 --- a/docs/types/types/OnboardOptions.html +++ b/docs/types/types/OnboardOptions.html @@ -15,9 +15,24 @@
  • @moneytree/mt-link-javascript-sdk
  • OnboardOptions
  • Type alias OnboardOptions

    -
    OnboardOptions: Omit<Omit<Omit<Omit<AuthorizeOptions, "showAuthToggle">, "forceLogout">, "showRememberMe">, "authAction">
    +
  • showAuthToggle.
  • +
  • forceLogout.
  • +
  • showRememberMe
  • +
  • authAction
  • + + +
    +

    Remark

    ⚠️ SDK will throw an error if both values here and from the init options are undefined.

    + +

    See

    AuthorizeOptions

    +

    Generated using TypeDoc

    diff --git a/docs/types/types/OnboardUrlOptions.html b/docs/types/types/OnboardUrlOptions.html index 1762936..e8c139c 100644 --- a/docs/types/types/OnboardUrlOptions.html +++ b/docs/types/types/OnboardUrlOptions.html @@ -17,7 +17,7 @@

    Type alias OnboardUrlOptions

    OnboardUrlOptions: Omit<OnboardOptions, "isNewTab">
    +
  • Defined in typings.ts:309
  • Generated using TypeDoc

    diff --git a/docs/types/types/OpenServiceOptions.html b/docs/types/types/OpenServiceOptions.html index 545674c..70c767a 100644 --- a/docs/types/types/OpenServiceOptions.html +++ b/docs/types/types/OpenServiceOptions.html @@ -17,7 +17,7 @@

    Type alias OpenServiceOptions

    +
  • Defined in typings.ts:172
  • Generated using TypeDoc

    diff --git a/docs/types/types/OpenServiceUrlOptions.html b/docs/types/types/OpenServiceUrlOptions.html index c0e60bf..66f7bea 100644 --- a/docs/types/types/OpenServiceUrlOptions.html +++ b/docs/types/types/OpenServiceUrlOptions.html @@ -17,7 +17,7 @@

    Type alias OpenServiceUrlOptions

    +
  • Defined in typings.ts:179
  • Generated using TypeDoc

    diff --git a/docs/types/types/Scopes.html b/docs/types/types/Scopes.html index 7994e1b..4da661e 100644 --- a/docs/types/types/Scopes.html +++ b/docs/types/types/Scopes.html @@ -17,7 +17,7 @@

    Type alias Scopes

    Scopes: string | string[]
    +
  • Defined in typings.ts:187
  • Generated using TypeDoc

    diff --git a/docs/types/types/ServiceId.html b/docs/types/types/ServiceId.html index 1f8eddc..1532783 100644 --- a/docs/types/types/ServiceId.html +++ b/docs/types/types/ServiceId.html @@ -17,7 +17,7 @@

    Type alias ServiceId

    ServiceId: "vault" | "myaccount" | "link-kit"
    +
  • Defined in typings.ts:311
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceUrlViewConnectionSetting.html b/docs/types/types/VaultOpenServiceUrlViewConnectionSetting.html index f3cbdba..b7eb031 100644 --- a/docs/types/types/VaultOpenServiceUrlViewConnectionSetting.html +++ b/docs/types/types/VaultOpenServiceUrlViewConnectionSetting.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceUrlViewConnectionSetting

    VaultOpenServiceUrlViewConnectionSetting: ConfigsOptionsWithoutIsNewTab & VaultViewConnectionSetting
    +
  • Defined in typings.ts:166
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceUrlViewCustomerSupport.html b/docs/types/types/VaultOpenServiceUrlViewCustomerSupport.html index ed94cdd..28bb3d1 100644 --- a/docs/types/types/VaultOpenServiceUrlViewCustomerSupport.html +++ b/docs/types/types/VaultOpenServiceUrlViewCustomerSupport.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceUrlViewCustomerSupport

    VaultOpenServiceUrlViewCustomerSupport: ConfigsOptionsWithoutIsNewTab & VaultViewCustomerSupport
    +
  • Defined in typings.ts:167
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceUrlViewServiceConnection.html b/docs/types/types/VaultOpenServiceUrlViewServiceConnection.html index 02c5477..cb882e2 100644 --- a/docs/types/types/VaultOpenServiceUrlViewServiceConnection.html +++ b/docs/types/types/VaultOpenServiceUrlViewServiceConnection.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceUrlViewServiceConnection

    VaultOpenServiceUrlViewServiceConnection: ConfigsOptionsWithoutIsNewTab & VaultViewServiceConnection
    +
  • Defined in typings.ts:165
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceUrlViewServiceList.html b/docs/types/types/VaultOpenServiceUrlViewServiceList.html index 0b9822c..ec592b6 100644 --- a/docs/types/types/VaultOpenServiceUrlViewServiceList.html +++ b/docs/types/types/VaultOpenServiceUrlViewServiceList.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceUrlViewServiceList

    VaultOpenServiceUrlViewServiceList: ConfigsOptionsWithoutIsNewTab & VaultViewServiceList
    +
  • Defined in typings.ts:164
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceViewConnectionSetting.html b/docs/types/types/VaultOpenServiceViewConnectionSetting.html index 0371285..9cea282 100644 --- a/docs/types/types/VaultOpenServiceViewConnectionSetting.html +++ b/docs/types/types/VaultOpenServiceViewConnectionSetting.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceViewConnectionSetting

    VaultOpenServiceViewConnectionSetting: ConfigsOptions & VaultViewConnectionSetting
    +
  • Defined in typings.ts:162
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceViewCustomerSupport.html b/docs/types/types/VaultOpenServiceViewCustomerSupport.html index 17515f2..3e406dc 100644 --- a/docs/types/types/VaultOpenServiceViewCustomerSupport.html +++ b/docs/types/types/VaultOpenServiceViewCustomerSupport.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceViewCustomerSupport

    VaultOpenServiceViewCustomerSupport: ConfigsOptions & VaultViewCustomerSupport
    +
  • Defined in typings.ts:163
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceViewServiceConnection.html b/docs/types/types/VaultOpenServiceViewServiceConnection.html index 5526ff4..7a40ba4 100644 --- a/docs/types/types/VaultOpenServiceViewServiceConnection.html +++ b/docs/types/types/VaultOpenServiceViewServiceConnection.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceViewServiceConnection

    VaultOpenServiceViewServiceConnection: ConfigsOptions & VaultViewServiceConnection
    +
  • Defined in typings.ts:161
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultOpenServiceViewServiceList.html b/docs/types/types/VaultOpenServiceViewServiceList.html index 546b307..2758875 100644 --- a/docs/types/types/VaultOpenServiceViewServiceList.html +++ b/docs/types/types/VaultOpenServiceViewServiceList.html @@ -17,7 +17,7 @@

    Type alias VaultOpenServiceViewServiceList

    VaultOpenServiceViewServiceList: ConfigsOptions & VaultViewServiceList
    +
  • Defined in typings.ts:160
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultServiceTypes.html b/docs/types/types/VaultServiceTypes.html index 1205df8..3629205 100644 --- a/docs/types/types/VaultServiceTypes.html +++ b/docs/types/types/VaultServiceTypes.html @@ -17,7 +17,7 @@

    Type alias VaultServiceTypes

    +
  • Defined in typings.ts:139
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultViewConnectionSetting.html b/docs/types/types/VaultViewConnectionSetting.html index 305a4a8..7b03c63 100644 --- a/docs/types/types/VaultViewConnectionSetting.html +++ b/docs/types/types/VaultViewConnectionSetting.html @@ -20,11 +20,16 @@

    Type alias VaultViewConnectionSetting

    Type declaration

    • -
      credentialId: string
    • +
      credentialId: string
      +

      Credential ID.

      +
      +
      +

      Remark

      ⚠️ If credentialId is invalid the Vault top page will be shown.

      +
    • view: "connection-setting"
    +
  • Defined in typings.ts:130
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultViewCustomerSupport.html b/docs/types/types/VaultViewCustomerSupport.html index 49eeba8..93f1c56 100644 --- a/docs/types/types/VaultViewCustomerSupport.html +++ b/docs/types/types/VaultViewCustomerSupport.html @@ -22,7 +22,7 @@

    Type declaration

  • view: "customer-support"
  • +
  • Defined in typings.ts:138
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultViewServiceConnection.html b/docs/types/types/VaultViewServiceConnection.html index 4015df5..b580a00 100644 --- a/docs/types/types/VaultViewServiceConnection.html +++ b/docs/types/types/VaultViewServiceConnection.html @@ -20,11 +20,16 @@

    Type alias VaultViewServiceConnection

    Type declaration

    • -
      entityKey: string
    • +
      entityKey: string
      +

      Service entity key.

      +
      +
      +

      Remark

      ⚠️ If entityKey is invalid the Vault top page will be shown.

      +
    • view: "service-connection"
    +
  • Defined in typings.ts:122
  • Generated using TypeDoc

    diff --git a/docs/types/types/VaultViewServiceList.html b/docs/types/types/VaultViewServiceList.html index f7c302c..e51aa76 100644 --- a/docs/types/types/VaultViewServiceList.html +++ b/docs/types/types/VaultViewServiceList.html @@ -20,15 +20,31 @@

    Type alias VaultViewServiceList

    Type declaration

    • -
      Optional group?: "grouping_bank" | "grouping_bank_credit_card" | "grouping_bank_dc_card" | "grouping_corporate_credit_card" | "grouping_credit_card" | "grouping_credit_coop" | "grouping_credit_union" | "grouping_dc_pension_plan" | "grouping_debit_card" | "grouping_digital_money" | "grouping_ja_bank" | "grouping_life_insurance" | "grouping_point" | "grouping_regional_bank" | "grouping_stock" | "grouping_testing"
    • +
      Optional group?: "grouping_bank" | "grouping_bank_credit_card" | "grouping_bank_dc_card" | "grouping_corporate_credit_card" | "grouping_credit_card" | "grouping_credit_coop" | "grouping_credit_union" | "grouping_dc_pension_plan" | "grouping_debit_card" | "grouping_digital_money" | "grouping_ja_bank" | "grouping_life_insurance" | "grouping_point" | "grouping_regional_bank" | "grouping_stock" | "grouping_testing"
      +

      Filter the services by group

      +
      +
    • -
      Optional search?: string
    • +
      Optional search?: string
      +

      Filter the services by the search term

      +
      +
    • -
      Optional type?: "bank" | "credit_card" | "stored_value" | "point" | "corporate"
    • +
      Optional type?: "bank" | "credit_card" | "stored_value" | "point" | "corporate"
      +

      Filter the services by type.

      +
        +
      • bank - personal bank
      • +
      • credit_card - personal credit card
      • +
      • stored_value - electronic money
      • +
      • point - loyalty point
      • +
      • corporate - corporate bank or credit card
      • +
      +
      +
    • view: "services-list"
    +
  • Defined in typings.ts:90
  • Generated using TypeDoc

    diff --git a/docs/types/variables/default.html b/docs/types/variables/default.html index 2b5d269..e95df7c 100644 --- a/docs/types/variables/default.html +++ b/docs/types/variables/default.html @@ -17,7 +17,7 @@

    Variable defaultConst

    default: MtLinkSdk = ...
    +
  • Defined in index.ts:311
  • Generated using TypeDoc

    diff --git a/docs/types/variables/supportedAuthAction.html b/docs/types/variables/supportedAuthAction.html index 399a86e..e96ccef 100644 --- a/docs/types/variables/supportedAuthAction.html +++ b/docs/types/variables/supportedAuthAction.html @@ -17,7 +17,7 @@

    Variable supportedAuthActionConst

    supportedAuthAction: readonly ["login", "signup"] = ...
    +
  • Defined in typings.ts:1
  • Generated using TypeDoc

    diff --git a/docs/types/variables/supportedAuthnMethod.html b/docs/types/variables/supportedAuthnMethod.html index 3b0f053..bd6e94b 100644 --- a/docs/types/variables/supportedAuthnMethod.html +++ b/docs/types/variables/supportedAuthnMethod.html @@ -17,7 +17,7 @@

    Variable supportedAuthnMethodConst

    supportedAuthnMethod: readonly ["passwordless", "sso", "credentials"] = ...
    +
  • Defined in typings.ts:24
  • Generated using TypeDoc

    From b18603d8c08f4e49ce0a08d4786f88b3021388fd Mon Sep 17 00:00:00 2001 From: Nemo | DFR Date: Thu, 5 Oct 2023 17:16:56 +0900 Subject: [PATCH 3/7] doc(sdk) replace markdown API doc with links typedoc --- docs/README.md | 414 +++++++++++-------------------------------------- 1 file changed, 94 insertions(+), 320 deletions(-) diff --git a/docs/README.md b/docs/README.md index 35f5568..14eb759 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,16 +4,12 @@ Install the SDK using `npm` or `yarn`. ```bash npm install @moneytree/mt-link-javascript-sdk - # or - yarn add @moneytree/mt-link-javascript-sdk ``` Then you can use it directly in your code: -
    Usage:
    - ```javascript // using import import mtLinkSdk, { MtLinkSdk } from '@moneytree/mt-link-javascript-sdk'; @@ -38,365 +34,143 @@ The source also includes Typescript definitions out of the box. We use [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) and [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) internally, if you wish to support old browsers (e.g: IE11), make sure to add the necessary polyfills. -## API +## [API](/types/classes/MtLinkSdk.html) The Moneytree LINK Javascript SDK exposes APIs to get guest consent to access financial data, and exchange an authorization grant for an access token. -### init - -The `init` call is used to initialize the SDK and set default options for API calls. Some LINK APIs can be used without calling `init`.

    -Calls related to OAuth require a client id which can only be set via the `init` function. These APIs include: - -- authorize -- onboard -- exchangeToken -- tokenInfo - -
    Usage:
    - -```javascript -mtLinkSdk.init(clientId, options); -``` - -| Parameter | Type | Required | Default Value | Description | -| ------------------------------------------ | ------------------------------------------- | -------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| clientId | string | true | |

    OAuth `clientId` of the app (please request this from your Moneytree representative if you need one).

    NOTE: This function will throw an error if this parameter isn't provided.

    | -| options | object | false | |

    These options include all of the values below and also all `options` parameters of the other APIs. Options values passed here during initialization will be used by default if no options are passed when calling a specific API.

    Available options are documented under [authorize options](#api-authorize_options) and [common options](#common-api-options); refer to each individual link for more details.

    | -| options.mode | `production`, `staging`, `develop`, `local` | false | `production` |

    Environment for the SDK to connect to, the SDK will connect to the Moneytree production server by default.

    • Moneytree clients should use `staging` for development as `develop` may contain unstable features.
    • `local` should only be used for SDK development as it has local dependencies.

    | -| options.locale | string | false | Auto detect. | Force Moneytree to load content in this specific locale. A default value will be auto detected based on guest langauges configurations and location if available. Check this [spec](https://www.w3.org/TR/html401/struct/dirlang.html#h-8.1.1) for more information.

    Currently supported values are:
    `en`, `en-AU`, `ja`. | -| options.cobrandClientId (private) | string | false | | NOTE: This is an internal attribute. Please do not use it unless instructed by your integration representative.

    Brand Moneytree apps with client's branding. E.g: logo or theme. | -| options.samlSubjectId | string | false | | Sets subject Id for saml session version. | - -### setSamlSubjectId - -The `setSamlSubjectId` method is used to set the value of the `saml_subject_id` parameter. This parameter can be set during `init` or changed by this method. It can not be overriden. -The `setSamlSubjectId` parameter allows the client to pass a guest identifier to Moneytree so that Moneytree can forward it to the Identity Provider (IdP) via the SAMLRequest. -The `saml_subject_id` parameter will be forwarded to the `authorize`, `logout` and `open-service` methods when defined. - -
    Usage:
    - -```javascript -mtLinkSdk.setSamlSubjectId(samlSubjectId); -``` - -| Parameter | Type | Required | Default Value | Description | -| ------------- | ------ | -------- | ------------- | ---------------------------------------- | -| sublSubjectId | string | true | |

    Set the saml_subject_id parameter

    | - -### authorize - -OAuth authorization method to request guest consent to access data via the [Link API](https://getmoneytree.com/jp/link/about).

    -For [security reasons](https://developer.okta.com/blog/2019/08/22/okta-authjs-pkce#why-you-should-never-use-the-implicit-flow-again) we removed support for implicit flow. We have opted for the [PKCE](https://auth0.com/docs/flows/concepts/auth-code-pkce)/[code grant](https://www.oauth.com/oauth2-servers/access-tokens/authorization-code-request/) flow.

    -Guest login is required for this SDK to work, by default we will show the login screen and redirect the guest to the consent screen after they log in (Redirection happens immediately if they are currently logged in; you may pass the [forceLogout option](#authorize_option_force_logout) to force the guest to log in, even if they have an active session.)

    -You may also choose to display the sign up form by default by passing the [authAction option](#authorize_option_auth_action). - -NOTE: You must initialize the SDK (via the `init` method) before calling this API. - -
    Usage:
    - -```javascript -mtLinkSdk.authorize(options); -``` - -| Parameter | Type | Required | Default Value | Description | -| ------------------------------------------------------------------- | ------------------------------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| options | object | false | Value set during `init`. | Optional parameters as described in [common options](#common-api-options). | -| options.scopes | string

    OR

    string[] | false | Value set during `init`.

    OR

    `guest_read` | Access scopes you're requesting. This can be a single scope, or an array of scopes.

    Currently supported scopes are:
    `guest_read`, `accounts_read`, `points_read`, `point_transactions_read`, `transactions_read`, `transactions_write`, `expense_claims_read`, `categories_read`, `investment_accounts_read`, `investment_transactions_read`, `notifications_read`, `request_refresh`, `life_insurance_read`. | -| options.redirectUri | string | false | Value set during `init`. | OAuth redirection URI, refer [here](https://www.oauth.com/oauth2-servers/redirect-uris/) for more details.

    NOTE: This function will throw an error if this value is undefined and no default value was provided in the [init options](?id=api-init_options). | -| options.state | string | false | Value set during `init`.

    OR

    Randomly generated [uuid](). | Refer [here](https://auth0.com/docs/protocols/oauth2/oauth-state) for more details.

    NOTE: Make sure to set this value explicitly if your server generates an identifier for the OAuth authorization request so that you can use to acquire the access token after the OAuth redirect occurs. | -| options.codeChallenge | string | false | | We only support SHA256 as code challenge method, therefore please ensure the `code_challenge` was generated using the SHA256 hash algorithm. [Click here](https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce) for more details.

    NOTE: Set this value only if your server wish to use PKCE flow. | -| options.pkce | boolean | false | false | Set to `true` if you wish to use PKCE flow on the client side, SDK will automatically generate the code challenge from a locally generated code verifier and use the code verifier in [exchangeToken](#exchangetoken). | -| options.forceLogout | boolean | false | `false` | Force existing guest session to logout and call authorize with a clean state. | - -### authorizeUrl - -This method generates an URL for OAuth authorization that requires guest consent to access data via [Link API](https://getmoneytree.com/jp/link/about). See `authorize` API for authorization details. - -
    Usage:
    - -```javascript -mtLinkSdk.authorizeUrl(options); -``` - -This API has exactly the same parameters as `authorize`, the only difference being that it returns an URL instead of opening immediately with `window.open`. - -### onboard - -The onboard API allows a new guest to get onboard faster without having to go through the registration process. All you have to do is provide an emai address and pass the same options parameter as the [authorize](#authorize) function. We will display a consent screen explaining the access requests and applicable scopes. Once the guest consents, a new Moneytree account will be created on their behalf and authorization is completed. Resulting behavior will be the same as the [authorize](#authorize) redirection flow. - -Onboard will force any current guest session to logout, hence you do not have to call [logout](#logout) manually to ensure a clean state. - -If an account with this email address already exists we will redirect the guest to the login screen. - -NOTE: - -
  • You must call `init` before using this API.
  • -
  • For legal reasons, you will have to set up your app's terms and conditions link to use the onboard API. Please ask your Moneytree representative for more details.
  • - -
    Usage:
    - -```javascript -mtLinkSdk.onboard(options); -``` - -| Parameter | Type | Required | Default Value | Description | -| ------------- | ------ | -------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| options | object | false | Value set during `init`. | Optional parameters.

    Most options are the same as the [authorize method](#authorize) options and [common options](#common-api-options) with a few exceptions.

    Unsupported options from [authorize](#authorize) and [common options](#common-api-options) are:
  • forceLogout
  • authAction
  • showAuthToggle
  • showRememberMe
  • | -| options.email | string | true | Value set during `init`. | A new Moneytree account will be created with this email address. If an existing account with this email exists, the guest will be redirected to the login screen.

    NOTE: SDK will throw an error if both values here and from the [init options](?id=api-init_options) are undefined. | - -### onboardUrl - -This method generates a URL for guest onboarding. See the `onboard` API for more information on onboarding. - -
    Usage:
    - -```javascript -mtLinkSdk.onboardUrl(options); -``` - -This API has exactly the same parameters as `onboard`, the only difference being that it returns an URL instead of opening immediately with `window.open`. - -### exchangeToken - -Use this function to exchange an authorization `code` for a token. You can optionally pass `code` via options parameter, otherwise it will automatically extract the `code` URL parameter of the current URL. - -The `code` can be used only once. The SDK does not store it internally, you have to store it in your application. +The complete list of SDK functions is: -Refer [here](https://www.oauth.com/oauth2-servers/pkce/authorization-code-exchange/) for more details. +* [`init`](/types/classes/MtLinkSdk.html#init ':ignore') +* [`setSamlSubjectId`](/types/classes/MtLinkSdk.html#setSamlSubjectId ':ignore') +* [`authorize`](/types/classes/MtLinkSdk.html#authorize ':ignore') +* [`authorizeUrl`](/types/classes/MtLinkSdk.html#authorizeUrl ':ignore') +* [`onboard`](/types/classes/MtLinkSdk.html#onboard ':ignore') +* [`onboardUrl`](/types/classes/MtLinkSdk.html#onboardUrl ':ignore') +* [`exchangeToken`](/types/classes/MtLinkSdk.html#exchangeToken ':ignore') +* [`tokenInfo`](/types/classes/MtLinkSdk.html#tokenInfo ':ignore') +* [`logout`](/types/classes/MtLinkSdk.html#logout ':ignore') +* [`logoutUrl`](/types/classes/MtLinkSdk.html#logoutUrl ':ignore') +* [`openService`](/types/classes/MtLinkSdk.html#openService ':ignore') +* [`openServiceUrl`](/types/classes/MtLinkSdk.html#openServiceUrl ':ignore') +* [`requestLoginLink`](/types/classes/MtLinkSdk.html#requestLoginLink ':ignore') | -
    Usage:
    +Below are examples of common use cases. -One way to use this API is by calling it on your redirection page. For example, if `authorize` redirects to `https://yourapp.com/callback?code=somecode`, you can call this function in the script loaded on that redirection page and the client library will automatically extract the code to exchange for a token. - -Alternatively, you can extract the `code` manually from the redirect URL and pass it to this function via the options object yourself. +### Authorize user & get access token ```javascript -const token = await mtLinkSdk.exchangeToken(options); -token.access_token; // access token -token.refresh_token; // refresh token -token.token_type; // token type -token.created_at: // created at in seconds -token.expires_in; // expiry in seconds -token.scope; // scope of the token -``` - -| Parameter | Type | Required | Default Value | Description | -| -------------------- | ------ | -------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| options | object | false | Value set during `init`. | Optional parameters. | -| options.code | string | false | Value from browser URL | Code from OAuth redirection used to exchange for a token, SDK will try to extract it from the browser URL if none is provided.

    NOTE: SDK will throw an error if no value is provided here and the client library failed to extract it from browser URL. | -| options.codeVerifier | string | false | | If you pass a `codeChallenge` option during the `authorize` or `onboard` call and wish to exchange the token on the client side application, make sure to set the code verifier used to generate the said `codeChallenge` here. | -| options.redirectUri | string | false | Value set during `init`. | Make sure the value of `redirectUri` here is the same redirectUri value used during the `authorize` or `onboard` call.

    NOTE: The SDK will throw an error if both this parameter and the default value from the [init options](?id=api-init_options) are undefined. | - -### tokenInfo - -You can validate a token or get guest or resource server information related to the token by calling this API. - -NOTE: This function will throw an error if the token has expired. - -
    Usage:
    +import mtLinkSdk from '@moneytree/mt-link-javascript-sdk'; -```javascript -const tokenInfo = await mtLinkSdk.tokenInfo(token); -tokenInfo.iat; // token creation timestamp, -tokenInfo.exp; // token expiration timestamp, -tokenInfo.sub; // guest uid or null, -tokenInfo.scope; // string with space separated scopes -tokenInfo.client_id; // application client id or null -tokenInfo.app; // application related information or null -tokenInfo.app.name; // application name -tokenInfo.app.is_mt; // is moneytree client (internal usage) -tokenInfo.guest; // guest related information or null -tokenInfo.guest.email; // guest email if available -tokenInfo.guest.country; // guest country -tokenInfo.guest.currency; // guest currency, -tokenInfo.guest.lang; // guest language +// initialize SDK with application information +mtLinkSdk.init('my-client-id', { + redirectUri: 'https://localhost:9000', + scopes: ['guest_read', 'accounts_read', 'transactions_read'] +}); +// start authorization flow +// If the user is not logged in yet this will prompt them to login +// If the user has not granted consent yet this will prompt them to grant consent +// if the user is logged in and has already granted consent this redirects immediately with an authorization code +mtLinkSdk.authorize(); +// after redirect from moneytree back to your app's redirectUri +const token = mtLinkSdk.exchangeToken(); +const tokenInfo = mtLinkSdk.tokenInfo(token.access_token) ``` -| Parameter | Type | Required | Default Value | Description | -| --------- | ------ | -------- | ------------- | ------------------------------- | -| token | string | true | | Token you wish to get info for. | - -### logout +You can also use the [authorizeUrl](/types/classes/MtLinkSdk.html#authorizeUrl ':ignore') method to generate the authorization url without opening it immetiately. -Logout current guest from Moneytree. - -
    Usage:
    +### Passwordless Onboarding ```javascript -mtLinkSdk.logout(options); -``` - -| Parameter | Type | Required | Default Value | Description | -| --------- | ------ | -------- | ------------------------ | ----------------------------------------------------------------------------------- | -| options | object | false | Value set during `init`. | Optional parameters. Includes all options in [common options](#common-api-options). | - -### openService - -This is a method to open various services provided by Moneytree such as Moneytree account settings, Vault etc. +import mtLinkSdk from '@moneytree/mt-link-javascript-sdk'; -NOTE: calling this API before calling `init` will open the services view without branding (company logo etc.) - -
    Usage:
    - -```javascript -mtLinkSdk.openService(serviceId, options); +// initialize SDK with application information +mtLinkSdk.init('my-client-id', { + redirectUri: 'https://localhost:9000', + scopes: ['guest_read', 'accounts_read', 'transactions_read'] +}); +// Start onboarding flow for a new user +// After the user completes onboarding this redirects with an authorization code +// If a Monetyree user with this email already exists this prompts the user to login & grant consent (similar to authorize) +mtLinkSdk.onboard({ email: 'user@test.com'}); +// after redirect from moneytree back to your app's redirectUri +const token = mtLinkSdk.exchangeToken(); ``` -| Parameter | Type | Required | Default Value | Description | -| -------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| serviceId | `vault`, `myaccount`, `link-kit` | true | | Open a service by Id, current supported services are:
  • `vault` - Manage your financial institution credentials.
  • `myaccount` - Manage your Moneytree account settings.
  • `link-kit` - View all your financial data.

    NOTE: This function will throw an error if you do not specify a valid service ID. | -| options | object | false | Value set during `init`. | Optional parameters. Includes all options in [common options](#common-api-options). | -| options.view for Vault | `services-list`, `service-connection`, `connection-setting`, `customer-support` | false | | We provide options for opening a specific page on Vault and MyAccount. Please check the following sessions:
  • [Open Vault Services Page](#open-vault-services-page)
  • [Open Vault Service Connection Page](#open-vault-service-connection-page)
  • [Open Vault Service Setting Page](#open-vault-service-setting-page)
  • [Open Vault Customer Support Page](#open-vault-customer-support-page)


  • NOTE: The serviceId must be `vault` to enable this option. | -| options.view for MyAccount | `authorized-applications`, `change-language`, `email-preferences`, `delete-account`, `update-email`, `update-password` | false | | We provide options for opening a specific page on MyAccount. Please check the following sessions:
  • [Open MyAccount Page](#open-myaccount-page)


  • NOTE: The serviceId must be `myaccount` to enable this option. | - -### logoutUrl +You can also use the [onboardUrl](/types/classes/MtLinkSdk.html#onboardUrl ':ignore') method to generate the onboard url without opening it immetiately. -This method generates a URL to log out the guest. See the `logout` API for details on logout. - -
    Usage:
    +### Logout ```javascript -mtLinkSdk.logoutUrl(options); -``` - -This API has exactly the same parameters as `logout`, the only difference being that it returns an URL instead of opening immediately with `window.open`. +import mtLinkSdk from '@moneytree/mt-link-javascript-sdk'; -#### Open Vault Services Page +// initialize SDK with application information +mtLinkSdk.init('my-client-id', { + redirectUri: 'https://localhost:9000', + scopes: ['guest_read', 'accounts_read', 'transactions_read'] +}); -It has to include these properties of `options` below when calling [openService](#openservice) API. - -NOTE: This scenario only works when serviceId is `vault`. - -
    Usage:
    - -```javascript -mtLinkSdk.openService('vault', { view: 'services-list', type: 'bank', group: 'grouping_bank', search: 'japan' }); +// logout the user +mtLinkSdk.logout(); ``` -| Parameter | Type | Required | Default Value | Description | -| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------- | --------------------------------------- | -| serviceId | `vault` | true | | Open a Vault service. | -| options.view | `services-list` | true | | Assign to open services page. | -| options.type | `bank` (personal bank),
    `credit_card` (personal credit card),
    `stored_value` (electronic money), `point` (loyalty point),
    `corporate` (corporate bank or card) | false | | Filter the services by type. | -| options.group | `grouping_bank`, `grouping_bank_credit_card`, `grouping_bank_dc_card`, `grouping_corporate_credit_card`, `grouping_credit_card`, `grouping_credit_coop`, `grouping_credit_union`, `grouping_dc_pension_plan`, `grouping_debit_card`, `grouping_digital_money`, `grouping_ja_bank`, `grouping_life_insurance`, `grouping_point`, `grouping_regional_bank`, `grouping_stock`, `grouping_testing` | false | | Filter the services by group. | -| options.search | string | false | | Filter the services by the search term. | - -#### Open Vault Service Connection Page +You can also use the [logoutUrl](/types/classes/MtLinkSdk.html#logoutUrl ':ignore') method to generate the logout url without redirecting the user. -It has to include these properties of `options` below when calling [openService](#openservice) API. +### Open Services -NOTE: This scenario only works when serviceId is `vault`. +With the [openService](/types/classes/MtLinkSdk.html#openService ':ignore') function you can open Moneytree services directly from your app. +Alternatively, you can also use [openServiceUrl](/types/classes/MtLinkSdk.html#openServiceUrl ':ignore') to generate the url without opening it immetiately. -
    Usage:
    +#### Open Vault ```javascript -mtLinkSdk.openService('vault', { view: 'service-connection', entityKey: 'yucho_bank' }); -``` +import mtLinkSdk from '@moneytree/mt-link-javascript-sdk'; -| Parameter | Type | Required | Default Value | Description | -| ----------------- | -------------------- | -------- | ------------- | --------------------------------------------------------------------------------------------------------------------- | -| serviceId | `vault` | true | | Open a Vault service | -| options.view | `service-connection` | true | | Assign to open service connection page | -| options.entityKey | string | true | | Service entity key

    NOTE: Top page of the Vault would be shown if `entityKey` is invalid. | - -#### Open Vault Service Setting Page - -It has to include these properties of `options` below when calling [openService](#openservice) API. - -NOTE: This scenario only works when serviceId is `vault`. - -
    Usage:
    - -```javascript -mtLinkSdk.openService('vault', { view: 'connection-setting', credentialId: '123456' }); -``` - -| Parameter | Type | Required | Default Value | Description | -| -------------------- | -------------------- | -------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| serviceId | `vault` | true | | Open a Vault service | -| options.view | `connection-setting` | true | | Assign to open connection setting page | -| options.credentialId | string | true | | Service credential Id

    NOTE: Top page of the Vault would be shown if the `credentialId` is invalid. | - -#### Open Vault Customer Support Page - -It has to include these properties of `options` below when calling [openService](#openservice) API. - -NOTE: This scenario only works when serviceId is `vault`. - -
    Usage:
    - -```javascript -mtLinkSdk.openService('vault', { view: 'customer-support' }); +// initialize SDK with application information +mtLinkSdk.init('my-client-id', { + redirectUri: 'https://localhost:9000', + scopes: ['guest_read', 'accounts_read', 'transactions_read'] +}); +// Open Vault on the services list page +// If the user is not logged in yet this will prompt them to login +// If the user has not granted consent yet this will prompt them to grant consent +mtLinkSdk.openService('vault', {view: 'services-list'}); ``` -| Parameter | Type | Required | Default Value | Description | -| ------------ | ------------------ | -------- | ------------- | ------------------------------------ | -| serviceId | `vault` | true | | Open a Vault service | -| options.view | `customer-support` | true | | Assign to open customer support page | - -#### Open MyAccount Page - -It has to include these properties of `options` below when calling [openService](#openservice) API. - -NOTE: This scenario only works when serviceId is `myaccount`. +Vault has serveral different views with different options for each, view the full documentation [here](/types/classes/MtLinkSdk.html#openService.openService-3 ':ignore'). -
    Usage:
    +#### Open MyAccount ```javascript -mtLinkSdk.openService('myaccount', { view: 'settings/update-email' }); -``` - -| Parameter | Type | Required | Default Value | Description | -| ------------ | ----------- | -------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| serviceId | `myaccount` | true | | Open MyAccount | -| options.view | string | false | `settings` (for mobile view)

    OR

    `settings/update-email` (for desktop view) | Directly go to the chosen page. Currently supported locations include:
  • `settings` - Main Moneytree account settings screen.
  • `settings/authorized-applications` - List of apps currently connected to Moneytree.
  • `settings/change-language` - Change Moneytree account language screen.
  • `settings/email-preferences` - Change Moneytree email preferences screen
  • `settings/delete-account` - Delete Moneytree account screen.
  • `settings/update-email` - Change Moneytree account email screen.
  • `settings/update-password` - Change Moneytree account password screen.

  • If no value is provided, it goes to the top page of MyAccount. | - -### openServiceUrl +import mtLinkSdk from '@moneytree/mt-link-javascript-sdk'; -This method can generate URLs for various services provided by Moneytree, such as Moneytree Account Settings and Vault. See the `openService` API for details on combining the various options. - -
    Usage:
    - -```javascript -mtLinkSdk.openServiceUrl(serviceId, options); +// initialize SDK with application information +mtLinkSdk.init('my-client-id', { + redirectUri: 'https://localhost:9000', + scopes: ['guest_read', 'accounts_read', 'transactions_read'] +}); +// Open MyAccount on the settings page +// If the user is not logged in yet this will prompt them to login +mtLinkSdk.openService('myaccount', {view: 'settings'}); ``` -This API has exactly the same parameters as `openService`, the only difference being that it returns an URL instead of opening immediately with `window.open`. +MyAccount has serveral different views with different options for each, view the full documentation [here](/types/classes/MtLinkSdk.html#openService.openService-2 ':ignore'). -### requestLoginLink - -Request for a password-less login link to be sent to the guest's email address. Clicking on the link in the email will log a guest in directly to the screen specified by the `loginLinkTo` parameter. - -
    Usage:
    +### Set identifier for SSO login flow ```javascript -mtLinkSdk.requestLoginLink(options); +// initialize SDK with application information +mtLinkSdk.init('my-client-id', { + redirectUri: 'https://localhost:9000', + scopes: ['guest_read', 'accounts_read', 'transactions_read'], + authMethod: 'sso' // configure SDK to use SSO for login +}); +// set application specific identifier for SSO login flow +// this identifier will be passed back to your SAML Identity Provider in the SAML AuthnRequest +mtLinkSdk.setSamlSubjectId('my-saml-subject-id'); +// Opens Vault, if the user is not logged in it will trigger the SAML SSO login flow and pass the SAML subject ID to the IdP +mtLinkSdk.openService('vault', {view: 'services-list'}); ``` -| Parameter | Type | Required | Default Value | Description | -| ------------------- | ------ | -------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| options | object | false | Value set during `init`. | Optional parameters. Includes all options in [common options](#common-api-options). | -| options.loginLinkTo | string | true | `settings` (for mobile view)

    OR

    `settings/update-email` (for desktop view) | Redirection to location after login, currently supported locations include:
  • `settings` - Main Moneytree account settings screen.
  • `settings/authorized-applications` - List of apps currently connected to Moneytree.
  • `settings/change-language` - Change Moneytree account language screen.
  • `settings/email-preferences` - Change Moneytree email preferences screen
  • `settings/delete-account` - Delete Moneytree account screen.
  • `settings/update-email` - Change Moneytree account email screen.
  • `settings/update-password` - Change Moneytree account password screen.
  • | -| options.email | string | true | Value set during `init`. | Login Link will be sent to this email.

    NOTE: This function will throw an error if both values here and from the [init options](?id=api-init_options) are undefined. | - -## Common API options - -These common options are used in multiple APIs. Instead of repeating the same options in every definition, they are documented here. - -NOTE: Since `options` are optional for each function call in the SDK, they will be read from the [init options](?id=api-init_options) by default if none are provided. - -| Parameter | Type | Required | Default Value | Description | -| ----------------------------------------------------------------- | ----------------- | -------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| options.email | string | false | Value set during `init`. | Email used to pre-fill the email field in login or sign up or form. | -| options.backTo | string | false | Value set during `init`. | A redirection URL for redirecting a guest back to in the following condition:
  • Guest clicks on `Back to [App Name]` button in any Moneytree screen.
  • Guest refuses to give consent to access permission in the consent screen.
  • Guest logs out from Moneytree via an app with this client id
  • Revoke an app's consent from settings screen opened via an app with this client id


  • NOTE: No `Back to [App Name]` button will be shown if this value is not set, and any of the actions mentioned above will redirect the guest back to login screen by default. | -| options.authAction | `login`, `signup` | false | Value set during `init`.

    OR

    `login` | Show login or sign up screen when a session does not exist during an `authorize` call. | -| options.showAuthToggle | boolean | false | Value set during `init`.

    OR

    `true` | If you wish to disable the login to sign up form toggle button and vice-versa in the auth screen, set this to `false`. | -| options.showRememberMe | boolean | false | Value set during `init`.

    OR

    `true` | If you wish to disable the `Stay logged in for 30 days` checkbox in the login screen, set this to `false`. | -| options.isNewTab | boolean | false | Value set during `init`.

    OR

    `false` | Call method and open/render in a new browser tab, by default all views open in the same tab. | -| options.authnMethod | string | | Value set during `init`. | Use different authentication methods. This can be a string with the following values:

    `sso`, `passwordless`, `credentials`. | -| options.sdkPlatform (private) | string | false | Generated by the SDK. | NOTE: this is for Moneytree internal use, please do not use it to avoid unintended behavior!

    Indicating sdk platform. | -| options.sdkVersion (private) | semver | false | Generated by the SDK. | NOTE: this is for Moneytree internal use, please do not use it to avoid unintended behavior!

    Indicating sdk version. | - ## Theming We support gray labelling some of the services offered by Moneytree, please contact your Moneytree representative for more information. From 7fd3f27318fdae3708a958ab0f6b7a535d9f1da0 Mon Sep 17 00:00:00 2001 From: Nemo | DFR Date: Thu, 5 Oct 2023 17:24:22 +0900 Subject: [PATCH 4/7] doc(sdk) update readme with badge maintainer instructions --- README.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 96eb2e4..73f90dd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,38 @@ # Moneytree Link JavaScript SDK +[![NPM Badge](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fregistry.npmjs.org%2F%40moneytree%2Fmt-link-javascript-sdk&query=%24%5B'dist-tags'%5D%5B'latest'%5D&logo=npm&label=%40moneytree%2Fmt-link-javascript-sdk&color=14BF31)](https://www.npmjs.com/package/@moneytree/mt-link-javascript-sdk) + This is a library for browser client to help you integrate Moneytree tools such as My Account and the Vault without having to do worry about the complex configurations. -Read the [documentation](docs/README.md) for more information. +## For SDK Users + +Read the [documentation](https://moneytree.github.io/mt-link-javascript-sdk/) for more information. + +## For SDK Maintainers + +```bash +yarn install +yarn lint # runs eslint +yarn test # runs all the tests +yarn build # bundles the library +``` + +There is a minimal sample application in the `sample` directory. + +### Documentation + +```bash +yarn build:docs # bundles the documentation +yarn start:docs # Serves the documentation +``` + +We use [docsify](https://docsify.js.org/) to serve the documentation landing page (`docs/README.md`) and [typedoc](https://typedoc.org/) to generate the API documentation (`docs/types`). + +### Publishing + +```bash +npm version +# after merging the new version to master +npm login +npm publish +``` From 89f69cd5c5e4a105b4bf01982a31b6c950f90223 Mon Sep 17 00:00:00 2001 From: Nemo <100679222+mt-dfrey@users.noreply.github.com> Date: Fri, 6 Oct 2023 10:08:34 +0900 Subject: [PATCH 5/7] fix typos Co-authored-by: Rory Kelly <90672264+mt-rorykelly@users.noreply.github.com> --- src/typings.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/typings.ts b/src/typings.ts index 839482c..06a2731 100644 --- a/src/typings.ts +++ b/src/typings.ts @@ -33,7 +33,7 @@ export interface ConfigsOptions extends PrivateConfigsOptions { email?: string; /** * A redirection URL for redirecting a guest back to in the following condition: - * - Guest clicks on `Back to [App Name]`` button in any Moneytree screen. + * - Guest clicks on `Back to [App Name]` button in any Moneytree screen. * - Guest refuses to give consent to access permission in the consent screen. * - Guest logs out from Moneytree via an app with this client id * - Revoke an app's consent from settings screen opened via an app with this client id @@ -259,7 +259,7 @@ export type InitOptions = Omit, 'code mode?: Mode; /** * Force Moneytree to load content in this specific locale. A default value will be auto detected based on guest - * langauges configurations and location if available. + * languages configurations and location if available. * Check this [spec](https://www.w3.org/TR/html401/struct/dirlang.html#h-8.1.1) for more information. * * Currently supported values are:`'en'`, `'en-AU'`, `'ja'`. @@ -352,7 +352,7 @@ export interface TokenInfo { /** @hidden */ is_mt: boolean; }; - /** User related informatino */ + /** User related information */ guest: null | { email: string; country: string; From a3660a83ace6fee4154b6dd589580ad8a2bb2537 Mon Sep 17 00:00:00 2001 From: Nemo | DFR Date: Fri, 6 Oct 2023 11:28:49 +0900 Subject: [PATCH 6/7] build(all) add cspell --- package.json | 2 + yarn.lock | 729 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 723 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2962f77..ea75ff9 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,14 @@ "lint:ts": "eslint -c './.eslintrc-ts.js' '**/*.ts'", "lint": "yarn lint:js; yarn lint:ts", "format": "prettier scripts src sample/src --write", + "spellcheck": "cspell src script sample/src", "lint:fix": "yarn lint:js --fix; yarn lint:ts --fix", "start:docs": "docsify serve docs", "prepare": "husky install" }, "dependencies": { "crypto-browserify": "^3.12.0", + "cspell": "^7.3.7", "node-fetch": "^2.6.1", "qs": "^6.10.1", "snake-case": "^3.0.4", diff --git a/yarn.lock b/yarn.lock index db4c86c..5491287 100644 --- a/yarn.lock +++ b/yarn.lock @@ -442,6 +442,342 @@ dependencies: chalk "^4.0.0" +"@cspell/cspell-bundled-dicts@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-7.3.7.tgz#32a67ba983ee0bd247834006ed9cc99be9334649" + integrity sha512-Mw7J0RAWGpEup/+eIePw3wi+OlMGNicrD1r9OhdgIgO6sHEi01ibS/RzNNbC7UziLaYEHi8+WfLyGzmp1ZISrQ== + dependencies: + "@cspell/dict-ada" "^4.0.2" + "@cspell/dict-aws" "^4.0.0" + "@cspell/dict-bash" "^4.1.2" + "@cspell/dict-companies" "^3.0.24" + "@cspell/dict-cpp" "^5.0.5" + "@cspell/dict-cryptocurrencies" "^4.0.0" + "@cspell/dict-csharp" "^4.0.2" + "@cspell/dict-css" "^4.0.10" + "@cspell/dict-dart" "^2.0.3" + "@cspell/dict-django" "^4.1.0" + "@cspell/dict-docker" "^1.1.7" + "@cspell/dict-dotnet" "^5.0.0" + "@cspell/dict-elixir" "^4.0.3" + "@cspell/dict-en-common-misspellings" "^1.0.2" + "@cspell/dict-en-gb" "1.1.33" + "@cspell/dict-en_us" "^4.3.8" + "@cspell/dict-filetypes" "^3.0.1" + "@cspell/dict-fonts" "^4.0.0" + "@cspell/dict-fsharp" "^1.0.0" + "@cspell/dict-fullstack" "^3.1.5" + "@cspell/dict-gaming-terms" "^1.0.4" + "@cspell/dict-git" "^2.0.0" + "@cspell/dict-golang" "^6.0.3" + "@cspell/dict-haskell" "^4.0.1" + "@cspell/dict-html" "^4.0.5" + "@cspell/dict-html-symbol-entities" "^4.0.0" + "@cspell/dict-java" "^5.0.6" + "@cspell/dict-k8s" "^1.0.1" + "@cspell/dict-latex" "^4.0.0" + "@cspell/dict-lorem-ipsum" "^4.0.0" + "@cspell/dict-lua" "^4.0.1" + "@cspell/dict-node" "^4.0.3" + "@cspell/dict-npm" "^5.0.10" + "@cspell/dict-php" "^4.0.3" + "@cspell/dict-powershell" "^5.0.2" + "@cspell/dict-public-licenses" "^2.0.4" + "@cspell/dict-python" "^4.1.9" + "@cspell/dict-r" "^2.0.1" + "@cspell/dict-ruby" "^5.0.0" + "@cspell/dict-rust" "^4.0.1" + "@cspell/dict-scala" "^5.0.0" + "@cspell/dict-software-terms" "^3.3.2" + "@cspell/dict-sql" "^2.1.1" + "@cspell/dict-svelte" "^1.0.2" + "@cspell/dict-swift" "^2.0.1" + "@cspell/dict-typescript" "^3.1.2" + "@cspell/dict-vue" "^3.0.0" + +"@cspell/cspell-json-reporter@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/cspell-json-reporter/-/cspell-json-reporter-7.3.7.tgz#ef7a7b316717041873d73c2dde8fdb926670aff8" + integrity sha512-bogUQKKZWLttZtxFKjpzHuliIha/ByV2km18gm8dA2uB3IrzD1UJy4sCE8lnaodm6n3VtjnViSkQ5XIVU3gAKQ== + dependencies: + "@cspell/cspell-types" "7.3.7" + +"@cspell/cspell-pipe@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-7.3.7.tgz#aaad8b3deb864afa6c40a2279c4220d3d16fdb82" + integrity sha512-ZO8v3EwGhjUvhPo1S48+CKv7EPXMoYF7LGERB34K8EXFByb9+J74ojMYj9UgLRV68lFTrDFde3bHoZPPVS1FsA== + +"@cspell/cspell-resolver@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/cspell-resolver/-/cspell-resolver-7.3.7.tgz#2eb64b2fedbb10ae5034ed7968d13e82f5748884" + integrity sha512-WWZcTI5f2cCjr1yRDTMkcVg7Meil3s+0aaKcLCDTGQf9J2UWWjpqDJ6M6keYei3paAjxW2Pk03IRNNwdA3+igQ== + dependencies: + global-dirs "^3.0.1" + +"@cspell/cspell-service-bus@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/cspell-service-bus/-/cspell-service-bus-7.3.7.tgz#571dcb1de0ffa2ba5d03facafe3d1feeb6639580" + integrity sha512-pnDOFpjht7dZYydMygcf0brCSk5BGRvbeWRH6MaMhd+3CdyzyEvtZG3IbBQVNyVvDTA2c/K3rljOAo8y3/lpnw== + +"@cspell/cspell-types@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-7.3.7.tgz#d27afdf1654e7a23b04ecbae1797ae7245fa5a1c" + integrity sha512-zM2BuZJ3UUgPwF78bssggi8X20nmW3a95EmbNJKfbO6Zf2ui7UMzeP3BwpCZk30A/EixGlFhLf6Xd+eBT/DQqw== + +"@cspell/dict-ada@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-ada/-/dict-ada-4.0.2.tgz#8da2216660aeb831a0d9055399a364a01db5805a" + integrity sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA== + +"@cspell/dict-aws@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-aws/-/dict-aws-4.0.0.tgz#ab71fe0c05d9ad662d27495e74361bdcb5b470eb" + integrity sha512-1YkCMWuna/EGIDN/zKkW+j98/55mxigftrSFgsehXhPld+ZMJM5J9UuBA88YfL7+/ETvBdd7mwW6IwWsC+/ltQ== + +"@cspell/dict-bash@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-bash/-/dict-bash-4.1.2.tgz#47696a13f6294c310801b811e75fc62e6151d28c" + integrity sha512-AEBWjbaMaJEyAjOHW0F15P2izBjli2cNerG3NjuVH7xX/HUUeNoTj8FF1nwpMufKwGQCvuyO2hCmkVxhJ0y55Q== + +"@cspell/dict-companies@^3.0.24": + version "3.0.26" + resolved "https://registry.yarnpkg.com/@cspell/dict-companies/-/dict-companies-3.0.26.tgz#bb6ac17fb6fee0e1d3f5614175a1db40660c444b" + integrity sha512-BGRZ/Uykx+IgQoTGqvRqbBMQy7QSuY0pbTHgtmKtc1scgzZMJQKMDwyuE6LJzlhdlrV7TsVY0lyXREybnDpQPQ== + +"@cspell/dict-cpp@^5.0.5": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@cspell/dict-cpp/-/dict-cpp-5.0.6.tgz#1604ee516b57e2017e20790f2f807ecb436d43bc" + integrity sha512-2z9JqWgsRYROnqeMj1k1L1taSQQHMhqfU6EqDNApsEQT3naznKntV8KKyybr2YSz0bIG9fMbzVv0GoQBbLgD9A== + +"@cspell/dict-cryptocurrencies@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-4.0.0.tgz#6517a7e1b0ed184cf3fc18f03230c82508369dec" + integrity sha512-EiZp91ATyRxTmauIQfOX9adLYCunKjHEh092rrM7o2eMXP9n7zpXAL9BK7LviL+LbB8VDOm21q+s83cKrrRrsg== + +"@cspell/dict-csharp@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-csharp/-/dict-csharp-4.0.2.tgz#e55659dbe594e744d86b1baf0f3397fe57b1e283" + integrity sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g== + +"@cspell/dict-css@^4.0.10": + version "4.0.12" + resolved "https://registry.yarnpkg.com/@cspell/dict-css/-/dict-css-4.0.12.tgz#59abf3512ae729835c933c38f64a3d8a5f09ce3d" + integrity sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw== + +"@cspell/dict-dart@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-dart/-/dict-dart-2.0.3.tgz#75e7ffe47d5889c2c831af35acdd92ebdbd4cf12" + integrity sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw== + +"@cspell/dict-data-science@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@cspell/dict-data-science/-/dict-data-science-1.0.11.tgz#4eabba75c21d27253c1114b4fbbade0ead739ffc" + integrity sha512-TaHAZRVe0Zlcc3C23StZqqbzC0NrodRwoSAc8dis+5qLeLLnOCtagYQeROQvDlcDg3X/VVEO9Whh4W/z4PAmYQ== + +"@cspell/dict-django@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-django/-/dict-django-4.1.0.tgz#2d4b765daf3c83e733ef3e06887ea34403a4de7a" + integrity sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w== + +"@cspell/dict-docker@^1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@cspell/dict-docker/-/dict-docker-1.1.7.tgz#bcf933283fbdfef19c71a642e7e8c38baf9014f2" + integrity sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A== + +"@cspell/dict-dotnet@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-dotnet/-/dict-dotnet-5.0.0.tgz#13690aafe14b240ad17a30225ac1ec29a5a6a510" + integrity sha512-EOwGd533v47aP5QYV8GlSSKkmM9Eq8P3G/eBzSpH3Nl2+IneDOYOBLEUraHuiCtnOkNsz0xtZHArYhAB2bHWAw== + +"@cspell/dict-elixir@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-elixir/-/dict-elixir-4.0.3.tgz#57c25843e46cf3463f97da72d9ef8e37c818296f" + integrity sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q== + +"@cspell/dict-en-common-misspellings@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-1.0.2.tgz#3c4ebab8e9e906d66d60f53c8f8c2e77b7f108e7" + integrity sha512-jg7ZQZpZH7+aAxNBlcAG4tGhYF6Ksy+QS5Df73Oo+XyckBjC9QS+PrRwLTeYoFIgXy5j3ICParK5r3MSSoL4gw== + +"@cspell/dict-en-gb@1.1.33": + version "1.1.33" + resolved "https://registry.yarnpkg.com/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz#7f1fd90fc364a5cb77111b5438fc9fcf9cc6da0e" + integrity sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g== + +"@cspell/dict-en_us@^4.3.8": + version "4.3.8" + resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-4.3.8.tgz#79f0d93827c6bc8f6d9c5b9dcbf5fd7b8aec42ee" + integrity sha512-rCPsbDHuRnFUbzWAY6O1H9+cLZt5FNQwjPVw2TdQZfipdb0lim984aLGY+nupi1iKC3lfjyd5SVUgmSZEG1QNA== + +"@cspell/dict-filetypes@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-filetypes/-/dict-filetypes-3.0.1.tgz#61642b14af90894e6acf4c00f20ab2d097c1ed12" + integrity sha512-8z8mY1IbrTyTRumx2vvD9yzRhNMk9SajM/GtI5hdMM2pPpNSp25bnuauzjRf300eqlqPY2MNb5MmhBFO014DJw== + +"@cspell/dict-fonts@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-fonts/-/dict-fonts-4.0.0.tgz#9bc8beb2a7b068b4fdb45cb994b36fd184316327" + integrity sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q== + +"@cspell/dict-fsharp@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-fsharp/-/dict-fsharp-1.0.0.tgz#420df73069f7bb8efe82bf823eef620647a571bc" + integrity sha512-dHPkMHwW4dWv3Lv9VWxHuVm4IylqvcfRBSnZ7usJTRThraetSVrOPIJwr6UJh7F5un/lGJx2lxWVApf2WQaB/A== + +"@cspell/dict-fullstack@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@cspell/dict-fullstack/-/dict-fullstack-3.1.5.tgz#35d18678161f214575cc613dd95564e05422a19c" + integrity sha512-6ppvo1dkXUZ3fbYn/wwzERxCa76RtDDl5Afzv2lijLoijGGUw5yYdLBKJnx8PJBGNLh829X352ftE7BElG4leA== + +"@cspell/dict-gaming-terms@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.0.4.tgz#b67d89d014d865da6cb40de4269d4c162a00658e" + integrity sha512-hbDduNXlk4AOY0wFxcDMWBPpm34rpqJBeqaySeoUH70eKxpxm+dvjpoRLJgyu0TmymEICCQSl6lAHTHSDiWKZg== + +"@cspell/dict-git@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-git/-/dict-git-2.0.0.tgz#fa5cb298845da9c69efc01c6af07a99097718dc9" + integrity sha512-n1AxyX5Kgxij/sZFkxFJlzn3K9y/sCcgVPg/vz4WNJ4K9YeTsUmyGLA2OQI7d10GJeiuAo2AP1iZf2A8j9aj2w== + +"@cspell/dict-golang@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-golang/-/dict-golang-6.0.3.tgz#e24fecf139db4dc9f771efc754dcd7948994f31e" + integrity sha512-KiNnjAeqDBq6zH4s46hzBrKgqIrkSZ9bbHzQ54PbHfe+jurZkSZ4lXz6E+315RNh2TkRLcNppFvaZqJvKZXomA== + +"@cspell/dict-haskell@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-haskell/-/dict-haskell-4.0.1.tgz#e9fca7c452411ff11926e23ffed2b50bb9b95e47" + integrity sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ== + +"@cspell/dict-html-symbol-entities@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.0.tgz#4d86ac18a4a11fdb61dfb6f5929acd768a52564f" + integrity sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw== + +"@cspell/dict-html@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@cspell/dict-html/-/dict-html-4.0.5.tgz#03a5182148d80e6c25f71339dbb2b7c5b9894ef8" + integrity sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w== + +"@cspell/dict-java@^5.0.6": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@cspell/dict-java/-/dict-java-5.0.6.tgz#2462d6fc15f79ec15eb88ecf875b6ad2a7bf7a6a" + integrity sha512-kdE4AHHHrixyZ5p6zyms1SLoYpaJarPxrz8Tveo6gddszBVVwIUZ+JkQE1bWNLK740GWzIXdkznpUfw1hP9nXw== + +"@cspell/dict-k8s@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-k8s/-/dict-k8s-1.0.1.tgz#6c0cc521dd42fee2c807368ebfef77137686f3a1" + integrity sha512-gc5y4Nm3hVdMZNBZfU2M1AsAmObZsRWjCUk01NFPfGhFBXyVne41T7E62rpnzu5330FV/6b/TnFcPgRmak9lLw== + +"@cspell/dict-latex@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-latex/-/dict-latex-4.0.0.tgz#85054903db834ea867174795d162e2a8f0e9c51e" + integrity sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ== + +"@cspell/dict-lorem-ipsum@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-4.0.0.tgz#2793a5dbfde474a546b0caecc40c38fdf076306e" + integrity sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw== + +"@cspell/dict-lua@^4.0.1": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-lua/-/dict-lua-4.0.2.tgz#74f080296f94eda4e65f79d14be00cb0f8fdcb22" + integrity sha512-eeC20Q+UnHcTVBK6pgwhSjGIVugO2XqU7hv4ZfXp2F9DxGx1RME0+1sKX4qAGhdFGwOBsEzb2fwUsAEP6Mibpg== + +"@cspell/dict-node@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-node/-/dict-node-4.0.3.tgz#5ae0222d72871e82978049f8e11ea627ca42fca3" + integrity sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg== + +"@cspell/dict-npm@^5.0.10": + version "5.0.12" + resolved "https://registry.yarnpkg.com/@cspell/dict-npm/-/dict-npm-5.0.12.tgz#dc752a4a22875c3835910266398d70c732648610" + integrity sha512-T/+WeQmtbxo7ad6hrdI8URptYstKJP+kXyWJZfuVJJGWJQ7yubxrI5Z5AfM+Dh/ff4xHmdzapxD9adaEQ727uw== + +"@cspell/dict-php@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@cspell/dict-php/-/dict-php-4.0.3.tgz#07d6288472f2fe433c9aaf6cd47aa5ef7404aade" + integrity sha512-PxtSmWJCDEB4M8R9ER9ijxBum/tvUqYT26QeuV58q2IFs5IrPZ6hocQKvnFGXItjCWH4oYXyAEAAzINlBC4Opg== + +"@cspell/dict-powershell@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-powershell/-/dict-powershell-5.0.2.tgz#2b1d7d514354b6d7de405d5faaef30f8eca0ef09" + integrity sha512-IHfWLme3FXE7vnOmMncSBxOsMTdNWd1Vcyhag03WS8oANSgX8IZ+4lMI00mF0ptlgchf16/OU8WsV4pZfikEFw== + +"@cspell/dict-public-licenses@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.4.tgz#70468e37ca5b0096e5f31db32b0e07e46de48bcb" + integrity sha512-KjsfuGwMWvPkp6s0nR+s4mZc9SQhh1tHDOyQZfEVRwi+2ev7f8l7R6ts9sP2Mplb8UcxwO6YmKwxHjN+XHoMoA== + +"@cspell/dict-python@^4.1.9": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@cspell/dict-python/-/dict-python-4.1.9.tgz#d576ee258e4f42e6eafd28da1f041709cbde3ebd" + integrity sha512-JMA4v/ZPJWuDt3PPFz+23VIY3iDIB+xOTQ6nw+WkcJU5yr6FUl5zMU9ModKrgujg3jGRuuJqofErZVPqHNHYAA== + dependencies: + "@cspell/dict-data-science" "^1.0.11" + +"@cspell/dict-r@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-r/-/dict-r-2.0.1.tgz#73474fb7cce45deb9094ebf61083fbf5913f440a" + integrity sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA== + +"@cspell/dict-ruby@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-5.0.1.tgz#a59df952d66781d811e7aac9208c145680e8cdf9" + integrity sha512-rruTm7Emhty/BSYavSm8ZxRuVw0OBqzJkwIFXcV0cX7To8D1qbmS9HFHRuRg8IL11+/nJvtdDz+lMFBSmPUagQ== + +"@cspell/dict-rust@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-rust/-/dict-rust-4.0.1.tgz#ef0b88cb3a45265824e2c9ce31b0baa4e1050351" + integrity sha512-xJSSzHDK2z6lSVaOmMxl3PTOtfoffaxMo7fTcbZUF+SCJzfKbO6vnN9TCGX2sx1RHFDz66Js6goz6SAZQdOwaw== + +"@cspell/dict-scala@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-scala/-/dict-scala-5.0.0.tgz#b64365ad559110a36d44ccd90edf7151ea648022" + integrity sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ== + +"@cspell/dict-software-terms@^3.3.2": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-3.3.4.tgz#40f2e452b10a5d85f31c1a7cc36b5e20c7ad724c" + integrity sha512-+WpBcJmhPl+jZEEGqgeiyDeJuCJ/M2TuVPaHJJI83LQLvLf1z4/5dkHXU7fUkimpxXFJWWR1DlWLA3+PKBeTfg== + +"@cspell/dict-sql@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-sql/-/dict-sql-2.1.1.tgz#eb16c8bece4ff3154a193fe854a600ed0f75c64c" + integrity sha512-v1mswi9NF40+UDUMuI148YQPEQvWjac72P6ZsjlRdLjEiQEEMEsTQ+zlkIdnzC9QCNyJaqD5Liq9Mn78/8Zxtw== + +"@cspell/dict-svelte@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-svelte/-/dict-svelte-1.0.2.tgz#0c866b08a7a6b33bbc1a3bdbe6a1b484ca15cdaa" + integrity sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q== + +"@cspell/dict-swift@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@cspell/dict-swift/-/dict-swift-2.0.1.tgz#06ec86e52e9630c441d3c19605657457e33d7bb6" + integrity sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw== + +"@cspell/dict-typescript@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@cspell/dict-typescript/-/dict-typescript-3.1.2.tgz#14d05f54db2984feaa24ea133b583d19c04cc104" + integrity sha512-lcNOYWjLUvDZdLa0UMNd/LwfVdxhE9rKA+agZBGjL3lTA3uNvH7IUqSJM/IXhJoBpLLMVEOk8v1N9xi+vDuCdA== + +"@cspell/dict-vue@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-3.0.0.tgz#68ccb432ad93fcb0fd665352d075ae9a64ea9250" + integrity sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A== + +"@cspell/dynamic-import@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/dynamic-import/-/dynamic-import-7.3.7.tgz#84c2e02e74bd8669a3256d416772da25128c41cc" + integrity sha512-ac52OLDMYBHkRQ8XzihOWnyfqri3M84ELTZdqBhR5YGcHW/mxKhsmXqudA980SdRRKaicD39yhX4idAFb4AsDg== + dependencies: + import-meta-resolve "^3.0.0" + +"@cspell/strong-weak-map@7.3.7": + version "7.3.7" + resolved "https://registry.yarnpkg.com/@cspell/strong-weak-map/-/strong-weak-map-7.3.7.tgz#4ad2aba20af2bc2d63434b1cfe24017e9050765b" + integrity sha512-n+jRgwH0wU+HsfqgCGVzPmWnZl4SyhtvPxusKwXj6L/STGdt8IP2rYl1PFOtyvgjPjh8xXe/jRrq7zH07btiKA== + "@discoveryjs/json-ext@^0.5.0": version "0.5.3" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" @@ -1287,6 +1623,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-sequence-parser@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" @@ -1355,6 +1696,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + aria-query@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" @@ -1388,6 +1734,11 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= +array-timsort@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" + integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -1805,7 +2156,7 @@ call-bind@^1.0.0: function-bind "^1.1.1" get-intrinsic "^1.0.2" -callsites@^3.0.0: +callsites@^3.0.0, callsites@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== @@ -1849,6 +2200,13 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" +chalk-template@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/chalk-template/-/chalk-template-1.1.0.tgz#ffc55db6dd745e9394b85327c8ac8466edb7a7b1" + integrity sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg== + dependencies: + chalk "^5.2.0" + chalk@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1893,6 +2251,11 @@ chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^5.2.0, chalk@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -1985,6 +2348,14 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +clear-module@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/clear-module/-/clear-module-4.1.2.tgz#5a58a5c9f8dccf363545ad7284cad3c887352a80" + integrity sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw== + dependencies: + parent-module "^2.0.0" + resolve-from "^5.0.0" + cli-boxes@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" @@ -2087,6 +2458,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +commander@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" + integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -2097,6 +2473,17 @@ commander@^7.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +comment-json@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.3.tgz#50b487ebbf43abe44431f575ebda07d30d015365" + integrity sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw== + dependencies: + array-timsort "^1.0.3" + core-util-is "^1.0.3" + esprima "^4.0.1" + has-own-prop "^2.0.0" + repeat-string "^1.6.1" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -2142,6 +2529,17 @@ configstore@^5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" +configstore@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" + integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== + dependencies: + dot-prop "^6.0.1" + graceful-fs "^4.2.6" + unique-string "^3.0.0" + write-file-atomic "^3.0.3" + xdg-basedir "^5.0.1" + connect-livereload@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/connect-livereload/-/connect-livereload-0.6.1.tgz#1ac0c8bb9d9cfd5b28b629987a56a9239db9baaa" @@ -2384,11 +2782,21 @@ core-js-pure@^3.0.0: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== -core-util-is@~1.0.0: +core-util-is@^1.0.3, core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +cosmiconfig@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" + integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== + dependencies: + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + cosmiconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" @@ -2490,6 +2898,116 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" + +cspell-dictionary@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell-dictionary/-/cspell-dictionary-7.3.7.tgz#cce1f04290822368ec27b878e46e6f1419ae09a2" + integrity sha512-mJ0h2BGxYEqb/1FxKD50WuufKhDaCaIk8pwZQryqazXQCvoTpla0yud3KO61Cke92za8z37Rfb+5xATlywEfaw== + dependencies: + "@cspell/cspell-pipe" "7.3.7" + "@cspell/cspell-types" "7.3.7" + cspell-trie-lib "7.3.7" + fast-equals "^4.0.3" + gensequence "^6.0.0" + +cspell-gitignore@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-7.3.7.tgz#8907a36b96e57d80a9b447b25bf8c8c20fd798f9" + integrity sha512-nP4Gg+zq5y0njzhiNYTLvaJIMAponBhJoTMzkXCOOKYEHJmiRQocfa3gO4t2s8iZ4YVhscbrB2h+dYvo3MLQqg== + dependencies: + cspell-glob "7.3.7" + find-up "^5.0.0" + +cspell-glob@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-7.3.7.tgz#2c6559386c9760ed90330ac23b8371912d8219aa" + integrity sha512-DJX5wJ5dhcNzyycukZst+WtbIdpCLTL7DaKS0EKW/57QjzMwwMBgpsF89ufnreGHB8dHrPF85epF9qyOI1SRNg== + dependencies: + micromatch "^4.0.5" + +cspell-grammar@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell-grammar/-/cspell-grammar-7.3.7.tgz#85a34e1f21381c54e8d86904533f2d7f908fa710" + integrity sha512-4cyJ4Alq/wBGTctH7fNTbY9EZCihm11fbrGSYVe8w+msRNx6W8rugsMX009aHiw9zlvGrMAeTD08YFPnBVdfpA== + dependencies: + "@cspell/cspell-pipe" "7.3.7" + "@cspell/cspell-types" "7.3.7" + +cspell-io@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-7.3.7.tgz#0e97d33b90da473efe8196b8af6a1f3a5c42af24" + integrity sha512-zqGGllG/OM3Of7zaOELdrSoBpCyG9nJuSRCzLfKgnCG4g2zpoMfDZknJaY9VjZODHP99PvYWooF8E6kVxT34Fw== + dependencies: + "@cspell/cspell-service-bus" "7.3.7" + node-fetch "^2.7.0" + +cspell-lib@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-7.3.7.tgz#d31f09c852b51ac0ac7e59ceb358138dc3ee7e78" + integrity sha512-KuFn0WTwmK50Ij1KVaXVuheleSOfv3oFIO3PfMuFg7llkfPfaRawF0b61da/EFGckU/hUc8uHRbBuGELlDo3tA== + dependencies: + "@cspell/cspell-bundled-dicts" "7.3.7" + "@cspell/cspell-pipe" "7.3.7" + "@cspell/cspell-resolver" "7.3.7" + "@cspell/cspell-types" "7.3.7" + "@cspell/dynamic-import" "7.3.7" + "@cspell/strong-weak-map" "7.3.7" + clear-module "^4.1.2" + comment-json "^4.2.3" + configstore "^6.0.0" + cosmiconfig "8.0.0" + cspell-dictionary "7.3.7" + cspell-glob "7.3.7" + cspell-grammar "7.3.7" + cspell-io "7.3.7" + cspell-trie-lib "7.3.7" + fast-equals "^5.0.1" + find-up "^6.3.0" + gensequence "^6.0.0" + import-fresh "^3.3.0" + resolve-from "^5.0.0" + vscode-languageserver-textdocument "^1.0.11" + vscode-uri "^3.0.7" + +cspell-trie-lib@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-7.3.7.tgz#7aabf3c4a34a2e2784dc3173d7d3c4ef88d70538" + integrity sha512-Vv8TdTMZD3DE79SorTwn5NoWj8JD7DnYMeUK+5S6JDNLy4Ck+kTEPN6Ic9hvLAxuDmQjmoZI3TizrWvuCG66aA== + dependencies: + "@cspell/cspell-pipe" "7.3.7" + "@cspell/cspell-types" "7.3.7" + gensequence "^6.0.0" + +cspell@^7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/cspell/-/cspell-7.3.7.tgz#f07eaf2c635036133214c65e8280a375d1be5d0a" + integrity sha512-p23EuTu+7b2qioRxC7sV1TVfxIPm7928BtT4jYBHGeONiYP0EOOWNP8ynaksMYLTifQBzH1Q0LO4L5ogHiQsfw== + dependencies: + "@cspell/cspell-json-reporter" "7.3.7" + "@cspell/cspell-pipe" "7.3.7" + "@cspell/cspell-types" "7.3.7" + "@cspell/dynamic-import" "7.3.7" + chalk "^5.3.0" + chalk-template "^1.1.0" + commander "^11.0.0" + cspell-gitignore "7.3.7" + cspell-glob "7.3.7" + cspell-io "7.3.7" + cspell-lib "7.3.7" + fast-glob "^3.3.1" + fast-json-stable-stringify "^2.1.0" + file-entry-cache "^7.0.0" + get-stdin "^9.0.0" + semver "^7.5.4" + strip-ansi "^7.1.0" + vscode-uri "^3.0.7" + css.escape@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" @@ -2802,6 +3320,13 @@ dot-prop@^5.1.0, dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -3227,6 +3752,16 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-equals@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-4.0.3.tgz#72884cc805ec3c6679b99875f6b7654f39f0e8c7" + integrity sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg== + +fast-equals@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-5.0.1.tgz#a4eefe3c5d1c0d021aeed0bc10ba5e0c12ee405d" + integrity sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ== + fast-glob@^3.1.1: version "3.2.4" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" @@ -3239,7 +3774,18 @@ fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-glob@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -3285,6 +3831,13 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-entry-cache@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-7.0.0.tgz#5bb4aef4f0a7dd2ff95966c6d97256b61504bd0a" + integrity sha512-OWhoO9dvvwspdI7YjGrs5wD7bPggVHc5b1NFAdyd1fEPIeno3Fj70fjBhklAqzUefgX7KCNDBnvrT8rZhS8Shw== + dependencies: + flat-cache "^3.1.0" + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -3367,6 +3920,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -3375,11 +3936,25 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat-cache@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" + integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== + dependencies: + flatted "^3.2.7" + keyv "^4.5.3" + rimraf "^3.0.2" + flatted@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== +flatted@^3.2.7: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -3484,6 +4059,11 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +gensequence@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gensequence/-/gensequence-6.0.0.tgz#ae46a0f89ebd7cc334e45cfb8f1c99a65248694e" + integrity sha512-8WwuywE9pokJRAcg2QFR/plk3cVPebSUqRPzpGQh3WQ0wIiHAw+HyOQj5IuHyUTQBHpBKFoB2JUMu9zT3vJ16Q== + gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -3529,6 +4109,11 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= +get-stdin@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" + integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== + get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -3613,7 +4198,7 @@ glob-parent@^5.0.0, glob-parent@^5.1.0: dependencies: is-glob "^4.0.1" -glob-parent@~5.1.0: +glob-parent@^5.1.2, glob-parent@~5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -3646,6 +4231,13 @@ global-dirs@^2.0.1: dependencies: ini "1.3.7" +global-dirs@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -3699,7 +4291,7 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== -graceful-fs@^4.1.2: +graceful-fs@^4.1.2, graceful-fs@^4.2.6: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -3748,6 +4340,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-own-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" + integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== + has-symbols@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" @@ -3934,6 +4531,14 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" @@ -3947,6 +4552,11 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" +import-meta-resolve@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-3.0.0.tgz#94a6aabc623874fbc2f3525ec1300db71c6cbc11" + integrity sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3997,6 +4607,11 @@ ini@1.3.7, ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -4756,6 +5371,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsdom@^16.4.0: version "16.7.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" @@ -4799,6 +5421,11 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -4876,6 +5503,13 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" +keyv@^4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" + integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + dependencies: + json-buffer "3.0.1" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -5027,6 +5661,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -5281,7 +5922,7 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.0: +micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -5512,6 +6153,13 @@ node-fetch@^2.6.12: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -5769,6 +6417,13 @@ p-limit@^3.0.2: dependencies: p-try "^2.0.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -5797,6 +6452,13 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + p-timeout@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" @@ -5845,6 +6507,13 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parent-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-2.0.0.tgz#fa71f88ff1a50c27e15d8ff74e0e3a9523bf8708" + integrity sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg== + dependencies: + callsites "^3.1.0" + parent-require@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977" @@ -5933,6 +6602,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -6693,7 +7367,7 @@ semver@7.3.5: dependencies: lru-cache "^6.0.0" -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: +semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -7140,6 +7814,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -7563,6 +8244,11 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -7626,6 +8312,13 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== + dependencies: + crypto-random-string "^4.0.0" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -7789,6 +8482,11 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== +vscode-languageserver-textdocument@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" + integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== + vscode-oniguruma@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" @@ -7799,6 +8497,11 @@ vscode-textmate@^8.0.0: resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== +vscode-uri@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" + integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== + w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -8026,7 +8729,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0: +write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== @@ -8053,6 +8756,11 @@ xdg-basedir@^4.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== +xdg-basedir@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" + integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" @@ -8174,3 +8882,8 @@ yargs@^16.2.0: string-width "^4.2.0" y18n "^5.0.5" yargs-parser "^20.2.2" + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== From a926047b850933374cef6e4dd3d8a68869a29ce9 Mon Sep 17 00:00:00 2001 From: Nemo | DFR Date: Fri, 6 Oct 2023 12:04:20 +0900 Subject: [PATCH 7/7] doc(sdk) fix typos and inconsistencies --- src/index.ts | 54 +++++++++++++++++++++++++------------------------- src/typings.ts | 53 +++++++++++++++++++++++++++---------------------- 2 files changed, 56 insertions(+), 51 deletions(-) diff --git a/src/index.ts b/src/index.ts index 2b048b3..494c9d6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -55,7 +55,7 @@ export class MtLinkSdk { * Call `init` to initialize the SDK and set default options for API calls. * * Some LINK APIs can be used without calling `init`. - * Calls related to OAuth require a client id which can only be set via the `init` function. + * Calls related to OAuth require a client ID which can only be set via the `init` function. * These APIs include: * - {@link authorize} * - {@link onboard} @@ -91,7 +91,7 @@ export class MtLinkSdk { }; } /** - * Use this method to send a guest identifier to Moneytree so that Moneytree can forward it as `saml_subject_id` parameter + * Use this method to send a user identifier to Moneytree so that Moneytree can forward it as `saml_subject_id` parameter * to the Identity Provider (IdP) via the SAMLRequest during SAML SSO flows. See the [SAML SSO documentation for details](https://docs.link.getmoneytree.com/docs/saml-introduction#saml-subject-identifier). * * This parameter can be set during {@link init} or changed on a request-by-request basis with this method. @@ -102,19 +102,19 @@ export class MtLinkSdk { } /** - * OAuth authorization method to request guest consent to access data via the [Link API](https://getmoneytree.com/jp/link/about). + * OAuth authorization method to request user consent to access data via the [Link API](https://getmoneytree.com/jp/link/about). * * The only supported flow is authorization code grant with PKCE [PKCE](https://auth0.com/docs/flows/concepts/auth-code-pkce) - * If the user is not logged in yet this will show the login screen and redirect the guest to the consent screen after they log in. - * After the guest consents, they will be redirected to the redirect URI with an authorization code. - * If the user is already logged and has granted consent in the redirection happens immediately. + * If the user is not logged in yet this will show the login screen and redirect the user to the consent screen after they log in. + * After the user consents, they will be redirected to the redirect URI with an authorization code. + * If the user is already logged in and has granted consent in the redirection happens immediately. * - * You can pass the {@link AuthorizeOptions.forceLogout} option to force the guest to log in, even if they have an active session. + * You can pass the {@link AuthorizeOptions.forceLogout} option to force the user to log in, even if they have an active session. * * You can also choose to display the sign up form when the user is not logged in yet by setting the {@link AuthorizeOptions.authAction} option. * * @remark - * You must initialize the SDK via the {@link init} before calling this API. + * You must initialize the SDK via {@link init} before calling this API. * * @example * ```javascript @@ -126,26 +126,26 @@ export class MtLinkSdk { } /** - * This method generates an URL for OAuth authorization that requires guest consent to access data via [Link API](https://getmoneytree.com/jp/link/about). + * This method generates a URL for OAuth authorization that requires user consent to access data via [Link API](https://getmoneytree.com/jp/link/about). * * See {@link authorize} API for authorization details. This API has exactly the same parameters as {@link authorize}, - * the only difference is that it returns an URL instead of opening immediately with `window.open`. + * the only difference is that it returns a URL instead of opening immediately with `window.open`. */ public authorizeUrl(options?: AuthorizeUrlOptions): string { return authorizeUrl(this.storedOptions, options); } /** - * The onboard API allows a new guest to get onboard faster without having to go through the registration process. - * All you have to do is provide an emai address and pass the same options parameter as the {@link authorize} function. - * We will display a consent screen explaining the access requests and applicable scopes. - * Once the guest consents, a new Moneytree account will be created on their behalf and authorization is completed. + * The onboard API allows a new user to get onboard faster without having to go through the registration process. + * All you have to do is provide an email address and pass the same options parameter as the {@link authorize} function. + * Moneytree LINK will display a consent screen explaining the access requests and applicable scopes. + * Once the user consents, a new Moneytree account will be created on their behalf and authorization is completed. * Resulting behavior will be the same as the {@link authorize} redirection flow. * - * Onboard will force any current guest session to logout, hence you do not have to call {@link logout} manually to + * Onboard will force any current user session to logout, hence you do not have to call {@link logout} manually to * ensure a clean state. * - * If an account with this email address already exists we will redirect the guest to the login screen. + * If an account with this email address already exists we will redirect the user to the login screen. * * @remark * ⚠️ You must initialize the SDK via the {@link init} before calling this API. @@ -160,9 +160,9 @@ export class MtLinkSdk { } /** - * This method generates a URL for guest onboarding. + * This method generates a URL for user onboarding. * - * This API has exactly the same parameters as {@link onboard}, the only difference being that it returns an URL + * This API has exactly the same parameters as {@link onboard}, the only difference being that it returns a URL * instead of opening immediately with `window.open`. */ public onboardUrl(options?: OnboardUrlOptions): string { @@ -177,9 +177,9 @@ export class MtLinkSdk { } /** - * This method generates a URL to log out the guest. + * This method generates a URL to log out the user. * - * This API has exactly the same parameters as {@link logout}, the only difference being that it returns an URL + * This API has exactly the same parameters as {@link logout}, the only difference being that it returns a URL * instead of opening immediately with `window.open`. */ public logoutUrl(options?: LogoutUrlOptions): string { @@ -206,10 +206,10 @@ export class MtLinkSdk { * Pass `serviceId: 'vault'` to open the Vault service. * * Depending on the Vault sub-page you want to open, you can pass the following options: - * - `serviceList`: opens the vault service list page, pass {@link VaultOpenServiceViewServiceList} as options. - * - `serviceConnection`: opens the vault service connection page, pass {@link VaultOpenServiceViewServiceConnection} as options. - * - `connectionSetting`: opens the vault connection setting page, pass {@link VaultOpenServiceViewConnectionSetting} as options. - * - `customerSupport`: opens the vault customer support page, pass {@link VaultOpenServiceViewCustomerSupport} as options. + * - `serviceList`: opens the Vault service list page, pass {@link VaultOpenServiceViewServiceList} as options. + * - `serviceConnection`: opens the Vault service connection page, pass {@link VaultOpenServiceViewServiceConnection} as options. + * - `connectionSetting`: opens the Vault connection setting page, pass {@link VaultOpenServiceViewConnectionSetting} as options. + * - `customerSupport`: opens the Vault customer support page, pass {@link VaultOpenServiceViewCustomerSupport} as options. * * @remark ⚠️ calling this API before calling {@link init} will open the services view without branding (company logo etc.) */ @@ -237,7 +237,7 @@ export class MtLinkSdk { /** * This method can generate URLs for various services provided by Moneytree, such as Moneytree Account Settings and Vault. * - * This API has exactly the same parameters as {@link openService}, the only difference being that it returns an URL + * This API has exactly the same parameters as {@link openService}, the only difference being that it returns a URL * instead of opening immediately with `window.open`. */ public openServiceUrl(serviceId: 'link-kit', options?: LinkKitOpenServiceUrlOptions): string; @@ -261,9 +261,9 @@ export class MtLinkSdk { } /** - * Request for a password-less login link to be sent to the guest's email address. + * Request for a password-less login link to be sent to the user's email address. * - * Clicking on the link in the email will log a guest in directly to the screen specified by the + * Clicking on the link in the email will log a user in directly to the screen specified by the * {@link RequestLoginLinkOptions.loginLinkTo} parameter. */ public requestLoginLink(options?: RequestLoginLinkOptions): Promise { diff --git a/src/typings.ts b/src/typings.ts index 06a2731..179e1da 100644 --- a/src/typings.ts +++ b/src/typings.ts @@ -10,7 +10,7 @@ export interface PrivateParams { */ cobrandClientId?: string; /** - * Sets subject Id for saml session version. + * Sets the subject ID for SAML AuthnRequest. */ samlSubjectId?: string; } @@ -26,25 +26,25 @@ export type AuthnMethod = typeof supportedAuthnMethod[number]; export interface ConfigsOptions extends PrivateConfigsOptions { /** - * Email used to pre-fill the email field in login or sign up or form. + * Email address to pre-fill the email field in login or sign up or form. * * Set the default value via {@link MtLinkSdk.init} */ email?: string; /** - * A redirection URL for redirecting a guest back to in the following condition: - * - Guest clicks on `Back to [App Name]` button in any Moneytree screen. - * - Guest refuses to give consent to access permission in the consent screen. - * - Guest logs out from Moneytree via an app with this client id - * - Revoke an app's consent from settings screen opened via an app with this client id + * A redirection URL for redirecting a user back to in one of the following conditions: + * - User clicks on `Back to [App Name]` button in any Moneytree screen. + * - User refuses to give consent to access permission in the consent screen. + * - User logs out from Moneytree via an app with this client ID + * - User revokes consent from settings screen opened via an app with this client ID * - * ⚠️ No `Back to [App Name]` button will be shown if this value is not set, and any of the actions mentioned above will redirect the guest back to login screen by default. + * ⚠️ No `Back to [App Name]` button will be shown if this value is not set, and any of the actions mentioned above will redirect the user back to the login screen by default. * * Set the default value via {@link MtLinkSdk.init} */ backTo?: string; /** - * Show login or sign up screen when a session does not exist during an {@link MtLinkSdk.authorize} call. + * Show the login or sign up screen when a session does not exist during an {@link MtLinkSdk.authorize} call. * * Set default value via {@link MtLinkSdk.init} * @@ -52,7 +52,7 @@ export interface ConfigsOptions extends PrivateConfigsOptions { */ authAction?: AuthAction; /** - * If you wish to disable the login to sign up form toggle button and vice-versa in the auth screen, set this to `false`. + * If you wish to disable the `Login to Sign up` form toggle button and vice-versa in the auth screen, set this to `false`. * * Set default value via {@link MtLinkSdk.init} * @@ -68,7 +68,7 @@ export interface ConfigsOptions extends PrivateConfigsOptions { */ showRememberMe?: boolean; /** - * Call method and open/render in a new browser tab, by default all views open in the same tab. + * Call method and open/render in a new browser tab. By default all views open in the same tab. * * Set default value via {@link MtLinkSdk.init} * @@ -76,7 +76,7 @@ export interface ConfigsOptions extends PrivateConfigsOptions { */ isNewTab?: boolean; /** - * Force existing guest session to logout and call authorize with a clean state. + * Force existing user session to logout and call authorize with a clean state. * @defaultValue false */ forceLogout?: boolean; @@ -194,8 +194,8 @@ export interface OAuthSharedParams { /** * The state parameter for OAuth flows, see [here](https://auth0.com/docs/protocols/oauth2/oauth-state) for more details. * - * If you generates an identifier for the OAuth authorization on your server make sure to set this value explicitly so - * that you can use to acquire the access token after the OAuth redirect occurs. + * If you generate an identifier for the OAuth authorization on your server make sure to set this value explicitly so + * that you can use it to acquire the access token after the OAuth redirect occurs. * * The default value is a randomly generated [uuid](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)), or set via {@link MtLinkSdk.init} */ @@ -227,7 +227,7 @@ export interface AuthorizeOptions extends OAuthSharedParams, ConfigsOptions, Aut * - request_refresh * - life_insurance_read * - * See the [LINK Platform documenation](https://docs.link.getmoneytree.com/docs/api-scopes) for more details + * See the [LINK Platform documentation](https://docs.link.getmoneytree.com/docs/api-scopes) for more details * * @defaultValue `'guest_read'`, or set via {@link MtLinkSdk.init} */ @@ -254,12 +254,13 @@ export type InitOptions = Omit, 'code /** * Environment for the SDK to connect to, the SDK will connect to the Moneytree production server by default. * - Moneytree clients should use `staging` for development as `develop` may contain unstable features. - * - `local` is only for SDK development as it has local dependencies. + * - `local` is only for SDK development by Moneytree engineers. */ mode?: Mode; /** - * Force Moneytree to load content in this specific locale. A default value will be auto detected based on guest - * languages configurations and location if available. + * Force Moneytree to load content in this specific locale. + * + * A default value will be auto detected based on the user's language configuration and location if available. * Check this [spec](https://www.w3.org/TR/html401/struct/dirlang.html#h-8.1.1) for more information. * * Currently supported values are:`'en'`, `'en-AU'`, `'ja'`. @@ -312,9 +313,9 @@ export type ServiceId = 'vault' | 'myaccount' | 'link-kit'; /** * - `settings` - Main Moneytree account settings screen. - * - `settings/authorized-applications` - List of apps currently connected to Moneytree. + * - `settings/authorized-applications` - List of apps currently connected to the Moneytree account. * - `settings/change-language` - Change Moneytree account language screen. - * - `settings/email-preferences` - Change Moneytree email preferences screen + * - `settings/email-preferences` - Change Moneytree account email preferences screen. * - `settings/delete-account` - Delete Moneytree account screen. * - `settings/update-email` - Change Moneytree account email screen. * - `settings/update-password` - Change Moneytree account password screen. @@ -335,13 +336,13 @@ export interface RequestLoginLinkOptions extends ConfigsOptions { export interface TokenInfo { /** token issuer */ iss: string; - /** token cretaion time */ + /** token creation time */ iat: number; /** token expiry */ exp: number; /** token audience(s) */ aud: string[]; - /** token subject - the moneytree ide fo the user */ + /** token subject - the Moneytree ID of the user */ sub: null | string; scope: string; client_id: null | string; @@ -361,13 +362,17 @@ export interface TokenInfo { }; } +/** OAuth Access Token Response described in [RFC 6749 section 5.1](https://datatracker.ietf.org/doc/html/rfc6749#section-5.1) */ export interface Token { access_token: string; refresh_token: string; token_type: string; - /** created at in seconds */ + /** Creation time of the token, unix timpstamp in seconds */ created_at: number; - /** expiry in seconds */ + /** + * The lifetime in seconds of the access token. + * For example, the value "3600" denotes that the access token will expire in one hour from the time the response was generated. + */ expires_in: number; scope: string; resource_server: string;