UNPKG

dymo-api

Version:

Flow system for Dymo API.

345 lines (344 loc) 8.83 kB
import type * as React from "react"; export type PhoneData = { iso: any; phone: string; } | string; export interface CreditCardData { pan: string | number; expirationDate?: string; cvc?: string | number; cvv?: string | number; } export type VerifyPlugins = "blocklist" | "compromiseDetector" | "nsfw" | "reputation" | "riskScore" | "torNetwork" | "typosquatting" | "urlShortener"; export interface Validator { url?: string; email?: string; phone?: PhoneData; domain?: string; creditCard?: string | CreditCardData; ip?: string; wallet?: string; userAgent?: string; plugins?: VerifyPlugins[]; } export interface SRNG { min: number; max: number; quantity?: number; } export type Attachment = { filename: string; path?: string; content?: string | Buffer; cid?: string; }; export interface ServerEmailConfig { host: string; port: number; secure: boolean; auth: { user: string; pass: string; }; dkim?: { domainName: string; keySelector: string; privateKey: string; }; } export type SendEmail = { from: string; to: string; subject: string; attachments?: Attachment[]; options?: { priority?: "high" | "normal" | "low"; composeTailwindClasses?: boolean; compileToCssSafe?: boolean; onlyVerifiedEmails?: boolean; }; } & ({ html: string; react?: never; } | { react: React.ReactNode; html?: never; }); export interface PrayerTimesData { lat?: number; lon?: number; } export interface InputSatinizerData { input?: string; } export interface IsValidPwdData { email?: string; password?: string; bannedWords?: string | string[]; min?: number; max?: number; } export interface SRNComponent { integer: number; float: number; } export interface SRNSummary { values: SRNComponent[]; executionTime: number; } export interface CountryPrayerTimes { country: string; prayerTimesByTimezone: { timezone: string; prayerTimes: { coordinates: string; date: string; calculationParameters: string; fajr: string; sunrise: string; dhuhr: string; asr: string; sunset: string; maghrib: string; isha: string; }; }[]; } export interface SatinizedInputAnalysis { input: string; formats: { ascii: boolean; bitcoinAddress: boolean; cLikeIdentifier: boolean; coordinates: boolean; crediCard: boolean; date: boolean; discordUsername: boolean; doi: boolean; domain: boolean; e164Phone: boolean; email: boolean; emoji: boolean; hanUnification: boolean; hashtag: boolean; hyphenWordBreak: boolean; ipv6: boolean; ip: boolean; jiraTicket: boolean; macAddress: boolean; name: boolean; number: boolean; panFromGstin: boolean; password: boolean; port: boolean; tel: boolean; text: boolean; semver: boolean; ssn: boolean; uuid: boolean; url: boolean; urlSlug: boolean; username: boolean; }; includes: { spaces: boolean; hasSql: boolean; hasNoSql: boolean; letters: boolean; uppercase: boolean; lowercase: boolean; symbols: boolean; digits: boolean; }; } export interface EmailStatus { status: boolean; error?: string; } export interface ValidationDetail { validation: string; message: string; word?: string; } export interface PasswordValidationResult { valid: boolean; password: string; details: ValidationDetail[]; } export interface DataValidationAnalysis { url: { valid: boolean; fraud: boolean; freeSubdomain: boolean; customTLD: boolean; url: string; domain: string; plugins: { blocklist?: boolean; compromiseDetector?: boolean; nsfw?: boolean; reputation?: "low" | "medium" | "high" | "very-high" | "education" | "governmental" | "unknown"; riskScore?: number; torNetwork?: boolean; typosquatting?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; urlShortener?: boolean; }; }; email: { valid: boolean; fraud: boolean; proxiedEmail: boolean; freeSubdomain: boolean; corporate: boolean; email: string; realUser: string; didYouMean: string | null; noReply: boolean; customTLD: boolean; domain: string; roleAccount: boolean; plugins: { blocklist?: boolean; compromiseDetector?: boolean; nsfw?: boolean; reputation?: "low" | "medium" | "high" | "very-high" | "education" | "governmental" | "unknown"; riskScore?: number; torNetwork?: boolean; typosquatting?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; urlShortener?: boolean; }; }; phone: { valid: boolean; fraud: boolean; phone: string; prefix: string; number: string; lineType: "PREMIUM_RATE" | "TOLL_FREE" | "SHARED_COST" | "VOIP" | "PERSONAL_NUMBER" | "PAGER" | "UAN" | "VOICEMAIL" | "FIXED_LINE_OR_MOBILE" | "FIXED_LINE" | "MOBILE" | "Unknown"; carrierInfo: { carrierName: string; accuracy: number; carrierCountry: string; carrierCountryCode: string; }; country: string; countryCode: string; plugins: { blocklist?: boolean; riskScore?: number; }; }; domain: { valid: boolean; fraud: boolean; freeSubdomain: boolean; customTLD: boolean; domain: string; plugins: { blocklist?: boolean; compromiseDetector?: boolean; nsfw?: boolean; reputation?: "low" | "medium" | "high" | "very-high" | "education" | "governmental" | "unknown"; riskScore?: number; torNetwork?: boolean; typosquatting?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; urlShortener?: boolean; }; }; creditCard: { valid: boolean; fraud: boolean; test: boolean; type: string; creditCard: string; plugins: { blocklist?: boolean; riskScore?: number; }; }; ip: { valid: boolean; type: "IPv4" | "IPv6" | "Invalid"; class: "A" | "B" | "C" | "D" | "E" | "Unknown" | "None"; fraud: boolean; ip: string; continent: string; continentCode: string; country: string; countryCode: string; region: string; regionName: string; city: string; district: string; zipCode: string; lat: number; lon: number; timezone: string; offset: number; currency: string; isp: string; org: string; as: string; asname: string; mobile: boolean; proxy: boolean; hosting: boolean; plugins: { blocklist?: boolean; riskScore?: number; }; }; wallet: { valid: boolean; fraud: boolean; wallet: string; type: string; plugins: { blocklist?: boolean; riskScore?: number; torNetwork?: boolean; }; }; userAgent: { valid: boolean; type?: string; clientSlug?: string | null; clientName?: string; version?: string | null; userAgent?: string; fraud?: boolean; bot?: boolean; info?: string; os?: string; device: { type?: string; brand?: string; }; plugins?: { blocklist?: boolean; riskScore?: number; }; }; } export type SchemaType = "string" | "number" | "boolean" | "array" | "object"; export interface JsonSchemaProperty { type: SchemaType; items?: JsonSchemaProperty; properties?: Record<string, JsonSchemaProperty>; required?: string[]; description?: string; format?: string; enum?: unknown[]; minimum?: number; maximum?: number; minLength?: number; maxLength?: number; pattern?: string; [key: string]: unknown; } export interface ExtractWithTextly { data: string; format: { [key: string]: JsonSchemaProperty; }; }