UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

122 lines (103 loc) 3.38 kB
// Type definitions for jQuery.payment // Project: https://github.com/stripe/jquery.payment // Definitions by: Eric J. Smith <https://github.com/ejsmith/>, John Rutherford <https://github.com/johnrutherford/> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace JQueryPayment { interface Payment { /** * Validates a card number: * * Validates numbers * * Validates Luhn algorithm * * Validates length * * @param cardNumber The card number to validate. */ validateCardNumber(cardNumber: string): boolean; /** * Validates a card expiry: * * Validates numbers * * Validates in the future * * Supports year shorthand * * @param year The year to validate. * @param month The months to validate. */ validateCardExpiry(year: string, month: string): boolean; /** * Validates a card expiry: * * Validates numbers * * Validates in the future * * Supports year shorthand * * @param expiry An object with the year and month to validate. */ validateCardExpiry(expiry: ExpiryInfo): boolean; /** * Validates a card CVC: * * Validates number * * Validates length to 4 * * @param cvc The CVC value to validate. * @param type Optional card type. */ validateCardCVC(cvc: string, type?: string): boolean; /** * Returns a card type. The function will return null if the card type can't be determined. * * @param cardNumber The card number to parse. */ cardType(cardNumber: string): string; /** * Parses a credit card expiry in the form of MM/YYYY, returning an object containing the month and * year. Shorthand years, such as 13 are also supported (and converted into the longhand, e.g. 2013). * * @param monthYear The value to parse. */ cardExpiryVal(monthYear: string): ExpiryInfo; /** * Array of objects that describe valid card types. */ cards: CardInfo[]; } interface ExpiryInfo { month: number; year: number; } interface CardInfo { /** * Card type */ type?: string; /** * Regex used to identify the card type. For the best experience, this should be * the shortest pattern that can guarantee the card is of a particular type. */ pattern?: RegExp; /** * Array of prefixes used to identify the card type. */ patterns?: number[]; /** * Array of valid card number lengths. */ length?: number[]; /** * Array of valid card CVC lengths. */ cvcLength?: number[]; /** * Boolean indicating whether a valid card number should satisfy the Luhn check. */ luhn?: boolean; /** * Regex used to format the card number. Each match is joined with a space. */ format?: RegExp; } } interface JQuery { payment(command: string): JQuery; } interface JQueryStatic { payment: JQueryPayment.Payment; }