74 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
| /**
 | |
|  * Vue Jsonp.
 | |
|  * # Carry Your World #
 | |
|  *
 | |
|  * @author: LancerComet
 | |
|  * @license: MIT
 | |
|  */
 | |
| import { PluginObject } from 'vue/types/plugin';
 | |
| declare module 'vue/types/vue' {
 | |
|     interface Vue {
 | |
|         $jsonp: typeof jsonp;
 | |
|     }
 | |
| }
 | |
| /**
 | |
|  * Vue JSONP.
 | |
|  */
 | |
| declare const VueJsonp: PluginObject<never>;
 | |
| /**
 | |
|  * JSONP function.
 | |
|  *
 | |
|  * @param { string } url Target URL address.
 | |
|  * @param { IJsonpParam } param Querying params object.
 | |
|  * @param { number } timeout Timeout setting (ms).
 | |
|  *
 | |
|  * @example
 | |
|  * jsonp('/url', {
 | |
|  *   callbackQuery: ''
 | |
|  *   callbackName: '',
 | |
|  *   name: 'LancerComet',
 | |
|  *   age: 26
 | |
|  * }, 1000)
 | |
|  */
 | |
| declare function jsonp<T = any>(url: string, param?: IJsonpParam, timeout?: number): Promise<T>;
 | |
| export { VueJsonp, jsonp };
 | |
| /**
 | |
|  * JSONP parameter declaration.
 | |
|  */
 | |
| interface IJsonpParam {
 | |
|     /**
 | |
|      * Callback query name.
 | |
|      * This param is used to define the query name of the callback function.
 | |
|      *
 | |
|      * @example
 | |
|      * // The request url will be "/some-url?myCallback=jsonp_func&myCustomUrlParam=veryNice"
 | |
|      * jsonp('/some-url', {
 | |
|      *   callbackQuery: 'myCallback',
 | |
|      *   callbackName: 'jsonp_func',
 | |
|      *   myCustomUrlParam: 'veryNice'
 | |
|      * })
 | |
|      *
 | |
|      * @default callback
 | |
|      */
 | |
|     callbackQuery?: string;
 | |
|     /**
 | |
|      * Callback function name.
 | |
|      * This param is used to define the jsonp function name.
 | |
|      *
 | |
|      * @example
 | |
|      * // The request url will be "/some-url?myCallback=jsonp_func&myCustomUrlParam=veryNice"
 | |
|      * jsonp('/some-url', {
 | |
|      *   callbackQuery: 'myCallback',
 | |
|      *   callbackName: 'jsonp_func',
 | |
|      *   myCustomUrlParam: 'veryNice'
 | |
|      * })
 | |
|      *
 | |
|      * @default jsonp_ + randomStr()
 | |
|      */
 | |
|     callbackName?: string;
 | |
|     /**
 | |
|      * Custom data.
 | |
|      */
 | |
|     [key: string]: any;
 | |
| }
 |