airdcpp-apisocket 2.5.0-beta.1 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.cjs +1 -1
- package/dist-es/Promise.js.map +1 -1
- package/dist-es/PublicHelpers.js.map +1 -1
- package/dist-es/SocketBase.js.map +1 -1
- package/dist-es/SocketLogger.js.map +1 -1
- package/dist-es/SocketRequestHandler.js.map +1 -1
- package/dist-es/SocketSubscriptionHandler.js.map +1 -1
- package/dist-es/utils.js.map +1 -1
- package/jest.config.js +0 -5
- package/package.json +9 -10
- package/tsconfig.json +4 -4
- package/tslint.json +0 -2
- package/dist/ApiConstants.d.ts +0 -6
- package/dist/ApiConstants.js +0 -8
- package/dist/ApiConstants.js.map +0 -1
- package/dist/NodeSocket.d.ts +0 -4
- package/dist/NodeSocket.js +0 -25
- package/dist/NodeSocket.js.map +0 -1
- package/dist/Promise.d.ts +0 -8
- package/dist/Promise.js +0 -27
- package/dist/Promise.js.map +0 -1
- package/dist/PublicHelpers.d.ts +0 -2
- package/dist/PublicHelpers.js +0 -95
- package/dist/PublicHelpers.js.map +0 -1
- package/dist/SocketBase.d.ts +0 -4
- package/dist/SocketBase.js +0 -352
- package/dist/SocketBase.js.map +0 -1
- package/dist/SocketLogger.d.ts +0 -9
- package/dist/SocketLogger.js +0 -75
- package/dist/SocketLogger.js.map +0 -1
- package/dist/SocketRequestHandler.d.ts +0 -14
- package/dist/SocketRequestHandler.js +0 -169
- package/dist/SocketRequestHandler.js.map +0 -1
- package/dist/SocketSubscriptionHandler.d.ts +0 -11
- package/dist/SocketSubscriptionHandler.js +0 -162
- package/dist/SocketSubscriptionHandler.js.map +0 -1
- package/dist/types/api.d.ts +0 -30
- package/dist/types/api.js +0 -4
- package/dist/types/api.js.map +0 -1
- package/dist/types/api_internal.d.ts +0 -24
- package/dist/types/api_internal.js +0 -3
- package/dist/types/api_internal.js.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.js +0 -24
- package/dist/types/index.js.map +0 -1
- package/dist/types/logger.d.ts +0 -6
- package/dist/types/logger.js +0 -3
- package/dist/types/logger.js.map +0 -1
- package/dist/types/options.d.ts +0 -31
- package/dist/types/options.js +0 -4
- package/dist/types/options.js.map +0 -1
- package/dist/types/public_helpers.d.ts +0 -19
- package/dist/types/public_helpers.js +0 -3
- package/dist/types/public_helpers.js.map +0 -1
- package/dist/types/public_helpers_internal.d.ts +0 -27
- package/dist/types/public_helpers_internal.js +0 -3
- package/dist/types/public_helpers_internal.js.map +0 -1
- package/dist/types/requests.d.ts +0 -14
- package/dist/types/requests.js +0 -3
- package/dist/types/requests.js.map +0 -1
- package/dist/types/socket.d.ts +0 -23
- package/dist/types/socket.js +0 -3
- package/dist/types/socket.js.map +0 -1
- package/dist/types/subscriptions.d.ts +0 -20
- package/dist/types/subscriptions.js +0 -3
- package/dist/types/subscriptions.js.map +0 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.js +0 -16
- package/dist/utils.js.map +0 -1
@@ -1,162 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const invariant_1 = __importDefault(require("invariant"));
|
7
|
-
const events_1 = require("events");
|
8
|
-
const utils_js_1 = require("./utils.js");
|
9
|
-
const Promise_js_1 = __importDefault(require("./Promise.js"));
|
10
|
-
const SocketSubscriptionHandler = (socket, logger, { ignoredListenerEvents = [] }) => {
|
11
|
-
// Internal
|
12
|
-
const getEmitId = (event, id) => {
|
13
|
-
(0, invariant_1.default)(id !== 0, 'Entity ID "0" is not allowed');
|
14
|
-
return id ? (event + id) : event;
|
15
|
-
};
|
16
|
-
const getSubscriptionUrl = (moduleUrl, id, event) => {
|
17
|
-
if (id) {
|
18
|
-
return `${moduleUrl}/${id}/listeners/${event}`;
|
19
|
-
}
|
20
|
-
return `${moduleUrl}/listeners/${event}`;
|
21
|
-
};
|
22
|
-
let subscriptions = {};
|
23
|
-
const emitter = new events_1.EventEmitter();
|
24
|
-
// Subscriptions pending to be added in the API
|
25
|
-
const pendingSubscriptions = {};
|
26
|
-
const removeSocketListener = (subscriptionUrl, subscriptionId, callback, sendApi) => {
|
27
|
-
if (!socket().isConnected()) {
|
28
|
-
return;
|
29
|
-
}
|
30
|
-
subscriptions[subscriptionId]--;
|
31
|
-
emitter.removeListener(subscriptionId, callback);
|
32
|
-
if (subscriptions[subscriptionId] === 0) {
|
33
|
-
if (sendApi && socket().isConnected()) {
|
34
|
-
socket().delete(subscriptionUrl)
|
35
|
-
.catch((error) => {
|
36
|
-
logger.error('Failed to remove socket listener', subscriptionUrl, error);
|
37
|
-
});
|
38
|
-
}
|
39
|
-
delete subscriptions[subscriptionId];
|
40
|
-
}
|
41
|
-
};
|
42
|
-
const removeLocalListener = (subscriptionId, callback) => {
|
43
|
-
emitter.removeListener(subscriptionId, callback);
|
44
|
-
};
|
45
|
-
const handleHookAction = (subscriptionUrl, callback, data, completionId) => {
|
46
|
-
callback(data, completionData => {
|
47
|
-
socket().post(`${subscriptionUrl}/${completionId}/resolve`, completionData)
|
48
|
-
.catch((error) => logger.error('Failed to complete hook action', subscriptionUrl, error));
|
49
|
-
}, (rejectId, rejectMessage) => {
|
50
|
-
socket().post(`${subscriptionUrl}/${completionId}/reject`, {
|
51
|
-
reject_id: rejectId,
|
52
|
-
message: rejectMessage,
|
53
|
-
}).catch(error => logger.error('Failed to complete failed hook action', subscriptionUrl, error));
|
54
|
-
});
|
55
|
-
};
|
56
|
-
const onSubscriptionAddSucceeded = (subscriptionId) => {
|
57
|
-
const pending = pendingSubscriptions[subscriptionId];
|
58
|
-
pending.forEach(pendingItem => pendingItem.resolver.resolve(pendingItem.removeHandler));
|
59
|
-
subscriptions[subscriptionId] = pending.length;
|
60
|
-
delete pendingSubscriptions[subscriptionId];
|
61
|
-
};
|
62
|
-
const onSubscriptionAddFailed = (subscriptionId, error) => {
|
63
|
-
const pending = pendingSubscriptions[subscriptionId];
|
64
|
-
pending.forEach(pendingItem => pendingItem.resolver.reject(error));
|
65
|
-
delete pendingSubscriptions[subscriptionId];
|
66
|
-
};
|
67
|
-
const addPendingEntry = (subscriptionUrl, subscriptionId, callback, data) => {
|
68
|
-
const removeHandler = (sendApi = true) => removeSocketListener(subscriptionUrl, subscriptionId, callback, sendApi);
|
69
|
-
if (!subscriptions[subscriptionId]) {
|
70
|
-
if (!pendingSubscriptions[subscriptionId]) {
|
71
|
-
pendingSubscriptions[subscriptionId] = [];
|
72
|
-
socket()
|
73
|
-
.post(subscriptionUrl, data)
|
74
|
-
.then(onSubscriptionAddSucceeded.bind(SocketSubscriptionHandler, subscriptionId), onSubscriptionAddFailed.bind(SocketSubscriptionHandler, subscriptionId));
|
75
|
-
}
|
76
|
-
const resolver = Promise_js_1.default.pending();
|
77
|
-
pendingSubscriptions[subscriptionId].push({
|
78
|
-
resolver,
|
79
|
-
removeHandler
|
80
|
-
});
|
81
|
-
return resolver.promise;
|
82
|
-
}
|
83
|
-
subscriptions[subscriptionId]++;
|
84
|
-
return Promise_js_1.default.resolve(removeHandler);
|
85
|
-
};
|
86
|
-
const getTotalEmitterSubscriptionCount = () => {
|
87
|
-
return Object.keys(subscriptions)
|
88
|
-
.reduce((reduced, name) => emitter.listenerCount(name) + reduced, 0);
|
89
|
-
};
|
90
|
-
// Public
|
91
|
-
// Listen to a specific event without sending subscription to the server
|
92
|
-
const SocketSubscriptionsPublic = {
|
93
|
-
addViewUpdateListener: (viewName, callback, entityId) => {
|
94
|
-
const subscriptionId = getEmitId(`${viewName}_updated`, entityId);
|
95
|
-
emitter.on(subscriptionId, callback);
|
96
|
-
return () => removeLocalListener(subscriptionId, callback);
|
97
|
-
},
|
98
|
-
// Listen to a specific event and manage the API subscription automatically
|
99
|
-
addListener: (apiModule, event, callback, entityId) => {
|
100
|
-
if (!socket().isConnected()) {
|
101
|
-
throw 'Listeners can be added only for a connected socket';
|
102
|
-
}
|
103
|
-
(0, invariant_1.default)(apiModule.indexOf('/') === -1, 'The first argument should only contain the API section without any path tokens (entity ID should be supplied separately)');
|
104
|
-
const subscriptionId = getEmitId(event, entityId);
|
105
|
-
const subscriptionUrl = getSubscriptionUrl(apiModule, entityId, event);
|
106
|
-
emitter.on(subscriptionId, callback);
|
107
|
-
return addPendingEntry(subscriptionUrl, subscriptionId, callback);
|
108
|
-
},
|
109
|
-
hasListeners: () => {
|
110
|
-
return Object.keys(subscriptions).length > 0 || getTotalEmitterSubscriptionCount() > 0;
|
111
|
-
},
|
112
|
-
addHook: (apiModule, event, callback, subscriberInfo) => {
|
113
|
-
if (!socket().isConnected()) {
|
114
|
-
throw 'Hooks can be added only for a connected socket';
|
115
|
-
}
|
116
|
-
(0, invariant_1.default)(apiModule.indexOf('/') === -1, 'The first argument should only contain the API section without any path tokens');
|
117
|
-
const subscriptionId = event;
|
118
|
-
if (subscriptions[subscriptionId] || pendingSubscriptions[subscriptionId]) {
|
119
|
-
throw 'Hook exists';
|
120
|
-
}
|
121
|
-
const subscriptionUrl = `${apiModule}/hooks/${event}`;
|
122
|
-
callback = handleHookAction.bind(SocketSubscriptionHandler, subscriptionUrl, callback);
|
123
|
-
emitter.on(subscriptionId, callback);
|
124
|
-
return addPendingEntry(subscriptionUrl, subscriptionId, callback, subscriberInfo);
|
125
|
-
},
|
126
|
-
getPendingSubscriptionCount: () => {
|
127
|
-
return Object.keys(pendingSubscriptions).length;
|
128
|
-
},
|
129
|
-
};
|
130
|
-
// For the socket
|
131
|
-
const SocketSubscriptionsInternal = {
|
132
|
-
onSocketDisconnected() {
|
133
|
-
emitter.removeAllListeners();
|
134
|
-
subscriptions = {};
|
135
|
-
},
|
136
|
-
handleMessage(message) {
|
137
|
-
const ignored = (0, utils_js_1.eventIgnored)(message.event, ignoredListenerEvents);
|
138
|
-
if (message.completion_id) {
|
139
|
-
if (!ignored) {
|
140
|
-
logger.verbose(message.event, `(completion id ${message.completion_id})`, message.data);
|
141
|
-
}
|
142
|
-
emitter.emit(message.event, message.data, message.completion_id);
|
143
|
-
}
|
144
|
-
else {
|
145
|
-
if (!ignored) {
|
146
|
-
logger.verbose(message.event, message.id ? `(entity ${message.id})` : '(no entity)', message.data);
|
147
|
-
}
|
148
|
-
if (message.id) {
|
149
|
-
// There can be subscribers for a single entity or for all events of this type... emit for both
|
150
|
-
emitter.emit(getEmitId(message.event, message.id), message.data, message.id);
|
151
|
-
}
|
152
|
-
emitter.emit(message.event, message.data, message.id);
|
153
|
-
}
|
154
|
-
},
|
155
|
-
};
|
156
|
-
return {
|
157
|
-
...SocketSubscriptionsInternal,
|
158
|
-
socket: SocketSubscriptionsPublic,
|
159
|
-
};
|
160
|
-
};
|
161
|
-
exports.default = SocketSubscriptionHandler;
|
162
|
-
//# sourceMappingURL=SocketSubscriptionHandler.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SocketSubscriptionHandler.js","sourceRoot":"","sources":["../src/SocketSubscriptionHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/types/api.d.ts
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
export type AuthTokenType = string;
|
2
|
-
export interface AuthenticationResponse {
|
3
|
-
auth_token: AuthTokenType;
|
4
|
-
}
|
5
|
-
export interface LogoutResponse {
|
6
|
-
}
|
7
|
-
export interface CredentialsAuthenticationData {
|
8
|
-
username: string;
|
9
|
-
password: string;
|
10
|
-
grant_type: 'password';
|
11
|
-
max_inactivity?: number;
|
12
|
-
}
|
13
|
-
export interface RefreshTokenAuthenticationData {
|
14
|
-
refresh_token: string;
|
15
|
-
grant_type: 'refresh_token';
|
16
|
-
max_inactivity?: number;
|
17
|
-
}
|
18
|
-
export interface TokenAuthenticationData {
|
19
|
-
auth_token: string;
|
20
|
-
}
|
21
|
-
export type FieldErrorCode = 'missing_field' | 'invalid' | 'already_exists';
|
22
|
-
export interface FieldError extends ErrorBase {
|
23
|
-
message: string;
|
24
|
-
field: string;
|
25
|
-
code: FieldErrorCode;
|
26
|
-
}
|
27
|
-
export interface ErrorBase {
|
28
|
-
message: string;
|
29
|
-
}
|
30
|
-
export type EntityId = string | number;
|
package/dist/types/api.js
DELETED
package/dist/types/api.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":";AAAA,iBAAiB"}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
export type CompletionIdType = number;
|
2
|
-
import { ErrorBase, FieldError, EntityId } from './api.js';
|
3
|
-
export interface RequestResponseBase {
|
4
|
-
code: number;
|
5
|
-
callback_id: number;
|
6
|
-
}
|
7
|
-
export interface RequestSuccessResponse<DataT extends object | undefined = object | undefined> extends RequestResponseBase {
|
8
|
-
data?: DataT;
|
9
|
-
}
|
10
|
-
export interface RequestErrorResponse extends RequestResponseBase {
|
11
|
-
error: ErrorBase | FieldError;
|
12
|
-
}
|
13
|
-
export interface OutgoingRequest<DataT extends object | undefined = object | undefined> {
|
14
|
-
path: string;
|
15
|
-
method: string;
|
16
|
-
data: DataT;
|
17
|
-
callback_id: number;
|
18
|
-
}
|
19
|
-
export interface IncomingSubscriptionEvent<DataT extends object | undefined = object | undefined> {
|
20
|
-
event: string;
|
21
|
-
data: DataT;
|
22
|
-
completion_id?: CompletionIdType;
|
23
|
-
id?: EntityId;
|
24
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"api_internal.js","sourceRoot":"","sources":["../../src/types/api_internal.ts"],"names":[],"mappings":""}
|
package/dist/types/index.d.ts
DELETED
package/dist/types/index.js
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
-
};
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./api.js"), exports);
|
18
|
-
__exportStar(require("./logger.js"), exports);
|
19
|
-
__exportStar(require("./requests.js"), exports);
|
20
|
-
__exportStar(require("./subscriptions.js"), exports);
|
21
|
-
__exportStar(require("./socket.js"), exports);
|
22
|
-
__exportStar(require("./options.js"), exports);
|
23
|
-
__exportStar(require("./public_helpers.js"), exports);
|
24
|
-
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,8CAA4B;AAC5B,gDAA8B;AAC9B,qDAAmC;AAEnC,8CAA4B;AAC5B,+CAA6B;AAE7B,sDAAoC"}
|
package/dist/types/logger.d.ts
DELETED
package/dist/types/logger.js
DELETED
package/dist/types/logger.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/types/logger.ts"],"names":[],"mappings":""}
|
package/dist/types/options.d.ts
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
export type PrintHandler = (...optionalParams: any[]) => void;
|
2
|
-
export interface LogOutput {
|
3
|
-
log: PrintHandler;
|
4
|
-
info: PrintHandler;
|
5
|
-
warn: PrintHandler;
|
6
|
-
error: PrintHandler;
|
7
|
-
}
|
8
|
-
export type IgnoreMatcher = string[] | RegExp;
|
9
|
-
export interface SocketRequestOptions {
|
10
|
-
ignoredRequestPaths?: IgnoreMatcher;
|
11
|
-
requestTimeout?: number;
|
12
|
-
}
|
13
|
-
export interface SocketSubscriptionOptions {
|
14
|
-
ignoredListenerEvents?: IgnoreMatcher;
|
15
|
-
}
|
16
|
-
export interface RequiredSocketOptions {
|
17
|
-
url: string;
|
18
|
-
username?: string;
|
19
|
-
password?: string;
|
20
|
-
}
|
21
|
-
export interface AdvancedSocketOptions {
|
22
|
-
autoReconnect: boolean;
|
23
|
-
reconnectInterval: number;
|
24
|
-
userSession: boolean;
|
25
|
-
}
|
26
|
-
export interface LoggerOptions {
|
27
|
-
logLevel?: string;
|
28
|
-
logOutput?: LogOutput;
|
29
|
-
}
|
30
|
-
type UserOptions = RequiredSocketOptions & Partial<AdvancedSocketOptions> & LoggerOptions & SocketSubscriptionOptions & SocketRequestOptions;
|
31
|
-
export { UserOptions as APISocketOptions };
|
package/dist/types/options.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":";AAAA,UAAU"}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { HookSubscriberInfo } from './subscriptions.js';
|
2
|
-
type AsyncCallbackProperty<IdT, EntityIdT, ReturnT> = (selectedIds: IdT[], entityId: EntityIdT | null, permissions: string[], supports: string[]) => ReturnT | Promise<ReturnT>;
|
3
|
-
export type ContextMenuIcon = {
|
4
|
-
[key in string]: string;
|
5
|
-
};
|
6
|
-
export interface ContextMenu extends HookSubscriberInfo {
|
7
|
-
icon?: ContextMenuIcon;
|
8
|
-
}
|
9
|
-
export interface ContextMenuItem<IdT, EntityIdT> {
|
10
|
-
id: string;
|
11
|
-
title: string;
|
12
|
-
icon?: ContextMenuIcon;
|
13
|
-
urls?: string[] | AsyncCallbackProperty<IdT, EntityIdT, string[] | undefined>;
|
14
|
-
onClick?: (selectedIds: IdT[], entityId: EntityIdT | null, permissions: string[], supports: string[], formValues: object) => void;
|
15
|
-
filter?: AsyncCallbackProperty<IdT, EntityIdT, boolean>;
|
16
|
-
access?: string;
|
17
|
-
formDefinitions?: object[] | AsyncCallbackProperty<IdT, EntityIdT, object[]>;
|
18
|
-
}
|
19
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"public_helpers.js","sourceRoot":"","sources":["../../src/types/public_helpers.ts"],"names":[],"mappings":""}
|
@@ -1,27 +0,0 @@
|
|
1
|
-
import { ContextMenuIcon, ContextMenuItem } from './public_helpers.js';
|
2
|
-
export interface SelectedMenuItemListenerData<IdT, EntityIdT> {
|
3
|
-
hook_id: string;
|
4
|
-
menu_id: string;
|
5
|
-
menuitem_id: string;
|
6
|
-
selected_ids: IdT[];
|
7
|
-
entity_id: EntityIdT | null;
|
8
|
-
permissions: string[];
|
9
|
-
supports: string[];
|
10
|
-
form_values: object;
|
11
|
-
}
|
12
|
-
export interface MenuItemListHookData<IdT, EntityIdT> {
|
13
|
-
selected_ids: IdT[];
|
14
|
-
entity_id: EntityIdT | null;
|
15
|
-
permissions: string[];
|
16
|
-
supports: string[];
|
17
|
-
}
|
18
|
-
export interface ResponseMenuItemCallbackFields {
|
19
|
-
urls?: string[] | undefined;
|
20
|
-
form_definitions?: object[] | undefined;
|
21
|
-
}
|
22
|
-
export type ResponseMenuItem<IdT, EntityIdT> = Omit<ContextMenuItem<IdT, EntityIdT>, 'onClick' | 'filter' | 'urls' | 'form_definitions'> & ResponseMenuItemCallbackFields;
|
23
|
-
export interface MenuItemListHookAcceptData<IdT, EntityIdT> {
|
24
|
-
menuitems: ResponseMenuItem<IdT, EntityIdT>[];
|
25
|
-
icon?: ContextMenuIcon;
|
26
|
-
title?: string;
|
27
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"public_helpers_internal.js","sourceRoot":"","sources":["../../src/types/public_helpers_internal.ts"],"names":[],"mappings":""}
|
package/dist/types/requests.d.ts
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
import * as API from './api.js';
|
2
|
-
export interface SocketRequestMethods {
|
3
|
-
put: <ResponseT extends object | void>(path: string, data?: object) => Promise<ResponseT>;
|
4
|
-
patch: <ResponseT extends object | void>(path: string, data?: object) => Promise<ResponseT>;
|
5
|
-
post: <ResponseT extends object | void>(path: string, data?: object) => Promise<ResponseT>;
|
6
|
-
delete: <ResponseT extends object | void>(path: string) => Promise<ResponseT>;
|
7
|
-
get: <ResponseT extends object | void>(path: string) => Promise<ResponseT>;
|
8
|
-
getPendingRequestCount: () => number;
|
9
|
-
}
|
10
|
-
export interface ErrorResponse {
|
11
|
-
message: string;
|
12
|
-
code: number;
|
13
|
-
json: API.FieldError | API.ErrorBase;
|
14
|
-
}
|
package/dist/types/requests.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/types/requests.ts"],"names":[],"mappings":""}
|
package/dist/types/socket.d.ts
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
import { AuthTokenType, LogoutResponse, AuthenticationResponse } from './api.js';
|
2
|
-
import { Logger } from './logger.js';
|
3
|
-
import { SocketRequestMethods } from './requests.js';
|
4
|
-
import { SocketSubscriptions } from './subscriptions.js';
|
5
|
-
export type ConnectedCallback = (data: AuthenticationResponse) => void;
|
6
|
-
export type SessionResetCallback = () => void;
|
7
|
-
export type DisconnectedCallback = (reason: string, code: number, wasClean: boolean) => void;
|
8
|
-
export interface APISocket extends SocketRequestMethods, SocketSubscriptions {
|
9
|
-
connect: (username?: string, password?: string, reconnectOnFailure?: boolean) => Promise<AuthenticationResponse>;
|
10
|
-
connectRefreshToken: (refreshToken: string, reconnectOnFailure?: boolean) => Promise<AuthenticationResponse>;
|
11
|
-
disconnect: (autoConnect?: boolean, reason?: string) => void;
|
12
|
-
waitDisconnected: (timeoutMs?: number) => Promise<void>;
|
13
|
-
reconnect: (token?: AuthTokenType, reconnectOnFailure?: boolean) => Promise<AuthenticationResponse>;
|
14
|
-
logout: () => Promise<LogoutResponse>;
|
15
|
-
isConnecting: () => boolean;
|
16
|
-
isConnected: () => boolean;
|
17
|
-
isActive: () => boolean;
|
18
|
-
logger: Logger;
|
19
|
-
onConnected: ConnectedCallback | null;
|
20
|
-
onSessionReset: SessionResetCallback | null;
|
21
|
-
onDisconnected: DisconnectedCallback | null;
|
22
|
-
readonly nativeSocket: WebSocket | null;
|
23
|
-
}
|
package/dist/types/socket.js
DELETED
package/dist/types/socket.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/types/socket.ts"],"names":[],"mappings":""}
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import * as API from './api.js';
|
2
|
-
export type SubscriptionRemoveHandler = (sendApi?: boolean) => void;
|
3
|
-
export type SubscriptionCallback<DataT extends object | void = object, EntityIdT = API.EntityId | undefined> = (data: DataT, entityId: EntityIdT) => void;
|
4
|
-
export interface HookSubscriberInfo {
|
5
|
-
id: string;
|
6
|
-
name: string;
|
7
|
-
}
|
8
|
-
export type HookRejectHandler = (rejectId: string, rejectMessage: string) => void;
|
9
|
-
export type HookAcceptHandler<DataT extends object | undefined> = (data: DataT) => void;
|
10
|
-
export type HookCallback<DataT extends object = object, CompletionDataT extends object | undefined = object | undefined> = (data: DataT, accept: HookAcceptHandler<CompletionDataT>, reject: HookRejectHandler) => void;
|
11
|
-
export interface SocketSubscriptions {
|
12
|
-
addHook: <DataT extends object, CompletionDataT extends object | undefined>(apiModule: string, event: string, callback: HookCallback<DataT, CompletionDataT>, subscriberInfo: HookSubscriberInfo) => Promise<SubscriptionRemoveHandler>;
|
13
|
-
addListener: <DataT extends object | void, EntityIdT extends API.EntityId | undefined = undefined>(apiModule: string, event: string, callback: SubscriptionCallback<DataT, EntityIdT>, entityId?: API.EntityId) => Promise<SubscriptionRemoveHandler>;
|
14
|
-
addViewUpdateListener: <DataT extends object | void, EntityIdT extends API.EntityId | undefined = undefined>(viewName: string, callback: SubscriptionCallback<DataT, EntityIdT>, entityId?: API.EntityId) => () => void;
|
15
|
-
hasListeners: () => boolean;
|
16
|
-
getPendingSubscriptionCount: () => number;
|
17
|
-
}
|
18
|
-
export type AddHook = SocketSubscriptions['addHook'];
|
19
|
-
export type AddListener = SocketSubscriptions['addListener'];
|
20
|
-
export type AddViewUpdateListener = SocketSubscriptions['addViewUpdateListener'];
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/types/subscriptions.ts"],"names":[],"mappings":""}
|
package/dist/utils.d.ts
DELETED
package/dist/utils.js
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.eventIgnored = void 0;
|
4
|
-
const eventIgnored = (path, ignoredEvents) => {
|
5
|
-
if (!ignoredEvents) {
|
6
|
-
return false;
|
7
|
-
}
|
8
|
-
// Array?
|
9
|
-
if (Array.isArray(ignoredEvents)) {
|
10
|
-
return ignoredEvents.indexOf(path) !== -1;
|
11
|
-
}
|
12
|
-
// Regexp
|
13
|
-
return ignoredEvents.test(path);
|
14
|
-
};
|
15
|
-
exports.eventIgnored = eventIgnored;
|
16
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAGO,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,aAAqC,EAAE,EAAE;IAClF,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,KAAK,CAAC;KACd;IAED,SAAS;IACT,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAChC,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC3C;IAED,SAAS;IACT,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB"}
|