@v4fire/core
Version:
V4Fire core library
56 lines (47 loc) • 1.22 kB
text/typescript
/*!
* V4Fire Core
* https://github.com/V4Fire/Core
*
* Released under the MIT license
* https://github.com/V4Fire/Core/blob/master/LICENSE
*/
import { EventEmitter2 as EventEmitter } from 'eventemitter2';
import type { Socket } from 'core/socket';
import type { RequestResponseObject } from 'core/request';
import type { Provider, ProviderConstructor } from 'core/data/interface';
export const
namespace = Symbol('Provider namespace'),
providers = Object.createDict<ProviderConstructor>();
/**
* Global event emitter to broadcast provider events
*/
export const emitter = new EventEmitter({
maxListeners: 1e3,
newListener: false,
wildcard: true
});
export const
instanceCache: Dictionary<Provider> = Object.createDict(),
requestCache: Dictionary<Dictionary<RequestResponseObject>> = Object.createDict(),
connectCache: Dictionary<Promise<Socket>> = Object.createDict();
export const queryMethods = Object.createDict({
GET: true,
HEAD: true
});
export const methodProperties = [
'getMethod',
'peekMethod',
'addMethod',
'updMethod',
'delMethod'
];
export const urlProperties = [
'baseURL',
'advURL',
'socketURL',
'baseGetURL',
'basePeekURL',
'baseAddURL',
'baseUpdURL',
'baseDelURL'
];