active-connect-ng2 0.1.2 → 0.1.4
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/esm2020/lib/active-connect-ng2.module.mjs +3 -4
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/active-connect-ng2.mjs +3 -3
- package/fesm2015/active-connect-ng2.mjs.map +1 -1
- package/fesm2020/active-connect-ng2.mjs +3 -3
- package/fesm2020/active-connect-ng2.mjs.map +1 -1
- package/lib/active-connect-ng2.module.d.ts +1 -1
- package/package.json +3 -2
- package/public-api.d.ts +1 -0
|
@@ -29,14 +29,13 @@ const dbConfig = {
|
|
|
29
29
|
export class ActiveConnectNg2Module {
|
|
30
30
|
}
|
|
31
31
|
ActiveConnectNg2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
-
ActiveConnectNg2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [i1.NgxIndexedDBModule]
|
|
33
|
-
ActiveConnectNg2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [NgxIndexedDBModule.forRoot(dbConfig)
|
|
32
|
+
ActiveConnectNg2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [i1.NgxIndexedDBModule] });
|
|
33
|
+
ActiveConnectNg2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [NgxIndexedDBModule.forRoot(dbConfig)] });
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, decorators: [{
|
|
35
35
|
type: NgModule,
|
|
36
36
|
args: [{
|
|
37
37
|
declarations: [],
|
|
38
38
|
imports: [NgxIndexedDBModule.forRoot(dbConfig)],
|
|
39
|
-
exports: [NgxIndexedDBModule],
|
|
40
39
|
}]
|
|
41
40
|
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWNvbm5lY3QtbmcyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FjdGl2ZS1jb25uZWN0LW5nMi9zcmMvbGliL2FjdGl2ZS1jb25uZWN0LW5nMi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRTlELE1BQU0sUUFBUSxHQUFhO0lBQ3pCLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsT0FBTyxFQUFFLENBQUM7SUFDVixnQkFBZ0IsRUFBRTtRQUNoQjtZQUNFLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRTtZQUN4RCxXQUFXLEVBQUU7Z0JBQ1gsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNoRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzdEO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixPQUFPLEVBQUUsWUFBWTtvQkFDckIsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtpQkFDM0I7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLE9BQU8sRUFBRSxjQUFjO29CQUN2QixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2lCQUMzQjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO29IQUF0QixzQkFBc0I7b0hBQXRCLHNCQUFzQixZQUZ2QixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDOzJGQUVuQyxzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4SW5kZXhlZERCTW9kdWxlLCBEQkNvbmZpZyB9IGZyb20gJ25neC1pbmRleGVkLWRiJztcblxuY29uc3QgZGJDb25maWc6IERCQ29uZmlnID0ge1xuICBuYW1lOiAnYWN0aXZlY29ubmVjdF9jYWNoZScsXG4gIHZlcnNpb246IDEsXG4gIG9iamVjdFN0b3Jlc01ldGE6IFtcbiAgICB7XG4gICAgICBzdG9yZTogJ291dGJvdW5kJyxcbiAgICAgIHN0b3JlQ29uZmlnOiB7IGtleVBhdGg6ICdtZXRob2QnLCBhdXRvSW5jcmVtZW50OiBmYWxzZSB9LFxuICAgICAgc3RvcmVTY2hlbWE6IFtcbiAgICAgICAgeyBuYW1lOiAnbWV0aG9kJywga2V5cGF0aDogJ21ldGhvZCcsIG9wdGlvbnM6IHsgdW5pcXVlOiB0cnVlIH0gfSxcbiAgICAgICAgeyBuYW1lOiAnZGF0YScsIGtleXBhdGg6ICdkYXRhJywgb3B0aW9uczogeyB1bmlxdWU6IGZhbHNlIH0gfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdnbG9iYWxIYXNoJyxcbiAgICAgICAgICBrZXlwYXRoOiAnZ2xvYmFsSGFzaCcsXG4gICAgICAgICAgb3B0aW9uczogeyB1bmlxdWU6IGZhbHNlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnc3BlY2lmaWNIYXNoJyxcbiAgICAgICAgICBrZXlwYXRoOiAnc3BlY2lmaWNIYXNoJyxcbiAgICAgICAgICBvcHRpb25zOiB7IHVuaXF1ZTogZmFsc2UgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtOZ3hJbmRleGVkREJNb2R1bGUuZm9yUm9vdChkYkNvbmZpZyldLFxufSlcbmV4cG9ydCBjbGFzcyBBY3RpdmVDb25uZWN0TmcyTW9kdWxlIHt9XG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -3,4 +3,5 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/active-connect-ng2.module';
|
|
5
5
|
export * from './lib/websocket';
|
|
6
|
-
|
|
6
|
+
export { NgxIndexedDBService } from 'ngx-indexed-db';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FjdGl2ZS1jb25uZWN0LW5nMi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYWN0aXZlLWNvbm5lY3QtbmcyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWN0aXZlLWNvbm5lY3QtbmcyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93ZWJzb2NrZXQnO1xuZXhwb3J0IHsgTmd4SW5kZXhlZERCU2VydmljZSB9IGZyb20gJ25neC1pbmRleGVkLWRiJztcbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from 'ngx-indexed-db';
|
|
4
4
|
import { NgxIndexedDBModule } from 'ngx-indexed-db';
|
|
5
|
+
export { NgxIndexedDBService } from 'ngx-indexed-db';
|
|
5
6
|
import { __awaiter } from 'tslib';
|
|
6
7
|
|
|
7
8
|
const dbConfig = {
|
|
@@ -31,14 +32,13 @@ const dbConfig = {
|
|
|
31
32
|
class ActiveConnectNg2Module {
|
|
32
33
|
}
|
|
33
34
|
ActiveConnectNg2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
34
|
-
ActiveConnectNg2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [i1.NgxIndexedDBModule]
|
|
35
|
-
ActiveConnectNg2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [NgxIndexedDBModule.forRoot(dbConfig)
|
|
35
|
+
ActiveConnectNg2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [i1.NgxIndexedDBModule] });
|
|
36
|
+
ActiveConnectNg2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [NgxIndexedDBModule.forRoot(dbConfig)] });
|
|
36
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, decorators: [{
|
|
37
38
|
type: NgModule,
|
|
38
39
|
args: [{
|
|
39
40
|
declarations: [],
|
|
40
41
|
imports: [NgxIndexedDBModule.forRoot(dbConfig)],
|
|
41
|
-
exports: [NgxIndexedDBModule],
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
44
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-connect-ng2.mjs","sources":["../../../projects/active-connect-ng2/src/lib/active-connect-ng2.module.ts","../../../projects/active-connect-ng2/src/lib/websocket/json/json-parser.ts","../../../projects/active-connect-ng2/src/lib/websocket/client.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/function.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/handle.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/on-success.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/outbound.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/route.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/shared.ts","../../../projects/active-connect-ng2/src/lib/websocket/lifecycle/loading-status.ts","../../../projects/active-connect-ng2/src/public-api.ts","../../../projects/active-connect-ng2/src/active-connect-ng2.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { NgxIndexedDBModule, DBConfig } from 'ngx-indexed-db';\n\nconst dbConfig: DBConfig = {\n name: 'activeconnect_cache',\n version: 1,\n objectStoresMeta: [\n {\n store: 'outbound',\n storeConfig: { keyPath: 'method', autoIncrement: false },\n storeSchema: [\n { name: 'method', keypath: 'method', options: { unique: true } },\n { name: 'data', keypath: 'data', options: { unique: false } },\n {\n name: 'globalHash',\n keypath: 'globalHash',\n options: { unique: false },\n },\n {\n name: 'specificHash',\n keypath: 'specificHash',\n options: { unique: false },\n },\n ],\n },\n ],\n};\n\n@NgModule({\n declarations: [],\n imports: [NgxIndexedDBModule.forRoot(dbConfig)],\n exports: [NgxIndexedDBModule],\n})\nexport class ActiveConnectNg2Module {}\n","export class JsonParser {\r\n static stringify(obj: any) {\r\n return JSON.stringify(obj);\r\n }\r\n\r\n static parsingFunction(key: any, value: any) {\r\n var a;\r\n if (typeof value === \"string\") {\r\n a =\r\n /^[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}T[0-9]{2}\\:[0-9]{2}\\:[0-9]{2}\\.[0-9]{3}Z$/.exec(\r\n value\r\n );\r\n if (a) {\r\n return new Date(a as any);\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n static parse(str: string) {\r\n if (str && str != \"undefined\") {\r\n return JSON.parse(str, JsonParser.parsingFunction);\r\n }\r\n return str;\r\n }\r\n}\r\n","import { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { DecorableFunction } from './decorators/function';\r\nimport { JsonParser } from './json/json-parser';\r\n\r\nexport class WebsocketClient {\r\n ws!: WebSocket;\r\n pool!: { WssConnected: boolean } | null;\r\n\r\n constructor(\r\n private url?: string,\r\n private supportsCache?: boolean,\r\n public dbService?: NgxIndexedDBService\r\n ) {\r\n if (supportsCache) this.initCache();\r\n if (!url) {\r\n let protocol;\r\n let port;\r\n switch (document.location.protocol) {\r\n case 'https:': {\r\n protocol = 'wss:';\r\n port = ':443';\r\n break;\r\n }\r\n default: {\r\n protocol = 'ws:';\r\n port = ':80';\r\n break;\r\n }\r\n }\r\n this.url = protocol + '//' + document.location.hostname + port + '/wss';\r\n }\r\n this.connect(this.url as string);\r\n }\r\n\r\n subject: any;\r\n\r\n private connect(url: string) {\r\n if (!this.subject) {\r\n this.create(url);\r\n }\r\n return this.subject;\r\n }\r\n\r\n private requestStack: any[] = [];\r\n\r\n private _token = '';\r\n public get Token(): string {\r\n if (!this._token) {\r\n if (window.localStorage)\r\n this._token = window.localStorage.getItem('token') || '';\r\n }\r\n return this._token;\r\n }\r\n public set Token(val: string) {\r\n this._token = val;\r\n if (window.localStorage) window.localStorage.setItem('token', val);\r\n }\r\n\r\n private set Connected(value: boolean) {\r\n if (value) {\r\n this.sendBrowserInfoToServer();\r\n\r\n this.resetRequestedState();\r\n this.auth(this.Token).then(() => {\r\n this.requestStack.forEach((e) => {\r\n this.sendToSocket(e.method, e.data);\r\n this.requestStack = this.requestStack.filter((e1) => e1 != e);\r\n });\r\n });\r\n }\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = value;\r\n }\r\n private static resetRequestedStateCallbacks: Function[] = [];\r\n private connectionEstablishedOnce: boolean = false;\r\n private resetRequestedState() {\r\n if (this.connectionEstablishedOnce) {\r\n // reset requested state for outbounds\r\n WebsocketClient.resetRequestedStateCallbacks.forEach((reset) => {\r\n reset();\r\n });\r\n } else {\r\n this.connectionEstablishedOnce = true;\r\n }\r\n }\r\n public static addResetRequestingStateCallback(callback: Function) {\r\n WebsocketClient.resetRequestedStateCallbacks.push(callback);\r\n }\r\n\r\n private create(url: string) {\r\n // create new connection\r\n this.ws = new WebSocket(url + (this.supportsCache ? '?cache=true' : ''));\r\n this.ws.onerror = (err) => {\r\n this.ws.close();\r\n console.log(err);\r\n };\r\n this.ws.onopen = () => {\r\n this.Connected = true;\r\n };\r\n this.ws.onmessage = (e) => {\r\n this.messageReceived(JsonParser.parse(e.data.toString()));\r\n };\r\n this.ws.onclose = () => {\r\n if (!this.closed) {\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = false;\r\n setTimeout(() => {\r\n this.connect(url);\r\n }, 1000);\r\n }\r\n };\r\n }\r\n\r\n private messageId: number = 0;\r\n protected sendToSocket(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ) {\r\n const messageId = ++this.messageId;\r\n if (this.ws.readyState != this.ws.OPEN) {\r\n if (!dontEnsureTransmission)\r\n this.requestStack.push({ method, data, messageId });\r\n else return false;\r\n } else {\r\n this.ws.send(JsonParser.stringify({ method, value: data, messageId }));\r\n }\r\n return messageId;\r\n }\r\n\r\n async auth(token: string): Promise<any> {\r\n return this.sendToSocket('auth.token', token);\r\n }\r\n\r\n public send(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ): Promise<any> {\r\n const messageId = this.sendToSocket(\r\n method,\r\n data,\r\n dontEnsureTransmission || false\r\n );\r\n if (messageId) {\r\n return this.expectMethod(`m.${method}`, messageId);\r\n } else {\r\n return new Promise((resolve) => {\r\n resolve(false);\r\n });\r\n }\r\n }\r\n\r\n private expectedMethods: Map<string | number, Array<Function>> = new Map();\r\n private expectMethod(method: string, messageId?: number | null) {\r\n return new Promise((resolve) => {\r\n if (messageId) {\r\n this.expectedMethods.set(messageId, [resolve]);\r\n } else {\r\n if (this.expectedMethods.has(method)) {\r\n let arr = this.expectedMethods.get(method);\r\n (arr as Array<Function>).push(resolve);\r\n } else {\r\n this.expectedMethods.set(method, [resolve]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private messageReceived({\r\n method,\r\n value,\r\n messageId,\r\n globalHash,\r\n specificHash,\r\n }: {\r\n method: string;\r\n value: any;\r\n messageId: number | null;\r\n globalHash: number | null;\r\n specificHash: number | null;\r\n }) {\r\n if (method == '___cache') {\r\n this.handleOutboundCacheRequest(value);\r\n }\r\n if (messageId) {\r\n const callback = this.expectedMethods.get(messageId);\r\n if (callback) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n this.invokeSuccessHandlers(method);\r\n } else {\r\n const callback = this.expectedMethods.get(method);\r\n if (callback && callback.length > 0) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n } else {\r\n const out = WebsocketClient.outbounds.get(method);\r\n if (out) {\r\n out(value, globalHash, specificHash, this);\r\n } else {\r\n const handle = WebsocketClient.handles.get(method);\r\n if (handle) {\r\n (handle.Func as Function)(value);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n throw Error(\r\n 'No MessageId was provided, the connection is not supported.'\r\n );\r\n }\r\n }\r\n\r\n private handleOutboundCacheRequest(method: string) {\r\n if (this.dbService) {\r\n this.dbService.getByKey('outbound', method).subscribe((item: any) => {\r\n if (item) {\r\n this.send('___cache', {\r\n method,\r\n globalHash: item.globalHash || null,\r\n specificHash: item.specificHash || null,\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n }\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n\r\n private static outbounds: Map<\r\n string,\r\n (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n > = new Map();\r\n static expectOutbound(\r\n method: string,\r\n callback: (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n ) {\r\n WebsocketClient.outbounds.set(method, callback);\r\n }\r\n\r\n private static handles: Map<string, DecorableFunction> = new Map();\r\n static registerHandle(method: string, callback: DecorableFunction) {\r\n WebsocketClient.handles.set(method, callback);\r\n }\r\n\r\n public get isConnected(): boolean {\r\n if (this.ws) return this.ws.readyState == WebSocket.OPEN;\r\n return true;\r\n }\r\n\r\n private sendBrowserInfoToServer() {\r\n // send browser / os information\r\n const browser = this.getBrowser();\r\n const os = this.getOS();\r\n this.send('___browser', {\r\n browser: `${browser.name} ${browser.version} ${os}`,\r\n });\r\n }\r\n\r\n public getBrowser(): { name: string; version: string } {\r\n // https://www.gregoryvarghese.com/how-to-get-browser-name-and-version-via-javascript/\r\n var ua = navigator.userAgent,\r\n tem,\r\n M =\r\n ua.match(\r\n /(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i\r\n ) || [];\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE ', version: tem[1] || '' };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) {\r\n return { name: 'Opera', version: tem[1] };\r\n }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) {\r\n M.splice(1, 1, tem[1]);\r\n }\r\n return {\r\n name: M[0],\r\n version: M[1],\r\n };\r\n }\r\n\r\n public getOS(): string {\r\n var userAgent = window.navigator.userAgent,\r\n platform = window.navigator.platform,\r\n macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],\r\n windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],\r\n iosPlatforms = ['iPhone', 'iPad', 'iPod'],\r\n os = null;\r\n\r\n if (macosPlatforms.indexOf(platform) !== -1) {\r\n os = 'Mac OS';\r\n } else if (iosPlatforms.indexOf(platform) !== -1) {\r\n os = 'iOS';\r\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\r\n os = 'Windows';\r\n } else if (/Android/.test(userAgent)) {\r\n os = 'Android';\r\n } else if (!os && /Linux/.test(platform)) {\r\n os = 'Linux';\r\n }\r\n\r\n return os || '';\r\n }\r\n\r\n private static onSuccessHandlers: {\r\n callback: DecorableFunction;\r\n regexp: RegExp;\r\n }[] = [];\r\n public static onSuccess(callback: DecorableFunction, regexp: RegExp) {\r\n this.onSuccessHandlers.push({ callback, regexp });\r\n }\r\n\r\n private invokeSuccessHandlers(method: string) {\r\n WebsocketClient.onSuccessHandlers\r\n .filter((e) => e.regexp.test(method))\r\n .forEach((e) => {\r\n var res = (e.callback.Func as Function)();\r\n if (res && res.then) {\r\n res.then();\r\n }\r\n });\r\n }\r\n\r\n public closed = false;\r\n public disconnect(restart?: boolean) {\r\n if (!restart) this.closed = true;\r\n this.ws.close();\r\n }\r\n\r\n private initCache() {}\r\n}\r\n","/**\r\n * Represents the reference to an object method used for websocket routes and outbounds.\r\n */\r\nexport class DecorableFunction {\r\n /**\r\n * Creates an instance of DecorableFunction.\r\n * @param objConfig - The configuration object for the object method.\r\n * @param objConfig.target - The target object.\r\n * @param objConfig.propertyKey - The property key of the target object.\r\n */\r\n constructor(protected objConfig: { target: any; propertyKey: string }) {\r\n // singelton service - fetch from angular\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n if (!prototype.___constructorOverridden) {\r\n prototype.___constructorOverridden = true;\r\n }\r\n }\r\n\r\n /**\r\n * Returns the decorated function.\r\n * @returns - The decorated function.\r\n */\r\n public get Func(): ((...data: any[]) => Promise<any> | any) | null {\r\n if (\r\n this.objConfig?.target &&\r\n this.objConfig.target[this.objConfig.propertyKey]\r\n ) {\r\n return this.objConfig.target[this.objConfig.propertyKey].bind(\r\n this.getBindObject()\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the bind object.\r\n * @private\r\n * @returns - The bind object.\r\n */\r\n private getBindObject(): any {\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n console.log('bind obj:');\r\n console.log(this.objConfig.target.prototype);\r\n console.log(this.objConfig.target);\r\n return prototype.___data._obj;\r\n }\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function Handle(method: string) {\r\n return function _Handle(target: any, propertyKey: string): any {\r\n // method annotation\r\n WebsocketClient.registerHandle(\r\n method,\r\n new DecorableFunction({ target, propertyKey })\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function OnSuccess(regexp: RegExp) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n WebsocketClient.onSuccess(\r\n new DecorableFunction({ target, propertyKey }),\r\n regexp\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { JsonParser } from '../../json/json-parser';\r\n\r\nexport function Outbound(\r\n method: string,\r\n requestingRequired?: boolean,\r\n cached?: boolean\r\n) {\r\n return function _Outbound(target: any, propertyKey: string): any {\r\n target.loading = new Map<string, boolean>();\r\n // property annotation\r\n WebsocketClient.expectOutbound(\r\n method,\r\n function setOutbound(\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) {\r\n if (!target.___received) target.___received = {};\r\n if (!target.___data) target.___data = {};\r\n if (!target.___received) target.___received = {};\r\n if (!target.___requested) target.___requested = {};\r\n if (!cached) {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n }\r\n\r\n if (data == 'cache_restore') {\r\n if (_this.dbService) {\r\n const result: any = _this.dbService.getByKey('outbound', method);\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = result.data;\r\n target.loading.set(propertyKey, false);\r\n }\r\n } else if (data == 'cache_delete') {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n target.___received[propertyKey] = false;\r\n target.___data[propertyKey] = undefined;\r\n target.loading.set(propertyKey, false);\r\n } else {\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = data;\r\n target.loading.set(propertyKey, false);\r\n if (cached && globalHash && specificHash) {\r\n if (_this.dbService)\r\n _this.dbService.update('outbound', {\r\n method,\r\n data,\r\n globalHash,\r\n specificHash,\r\n });\r\n else\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n }\r\n );\r\n if (requestingRequired) {\r\n WebsocketClient.addResetRequestingStateCallback(function callback() {\r\n if (target.___requested) {\r\n target.___requested[propertyKey] = false;\r\n }\r\n });\r\n }\r\n return {\r\n configurable: true,\r\n writeable: true,\r\n get() {\r\n if (requestingRequired && !target.___requested[propertyKey]) {\r\n target.___requested[propertyKey] = true;\r\n this.send('request.' + method, null).then();\r\n }\r\n if (!target.___data) target.___data = {};\r\n if (!target.___data[propertyKey]) {\r\n target.loading.set(propertyKey, true);\r\n } else if (target.loading[propertyKey]) {\r\n target.loading.set(propertyKey, false);\r\n }\r\n return target.___data[propertyKey];\r\n },\r\n set(val: any) {\r\n if (!target.___data) target.___data = {};\r\n target.loading.set(propertyKey, false);\r\n return (target.___data[propertyKey] = val);\r\n },\r\n };\r\n };\r\n}\r\n","export function Route(\r\n method: string,\r\n loadingKey?: string,\r\n dontEnsureTransmission?: boolean\r\n) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n // method annotation\r\n const original = target[propertyKey];\r\n target[propertyKey] = async function execRoute(...data: any): Promise<any> {\r\n if (loadingKey) {\r\n if (!this.loadingElements[loadingKey]) {\r\n this.loadingElements[loadingKey] = 0;\r\n }\r\n this.loadingElements[loadingKey]++;\r\n }\r\n const promise = original.bind(this)(...data);\r\n let res = null;\r\n if (this.client) {\r\n res = await this.client.send(method, data[0], dontEnsureTransmission);\r\n }\r\n await promise;\r\n if (loadingKey) this.loadingElements[loadingKey]--;\r\n return res;\r\n };\r\n return target;\r\n };\r\n}\r\n","/**\r\n * @deprecated\r\n */\r\nexport function Shared<T>(defaultValue?: T) {\r\n if (defaultValue) {\r\n throw Error(\r\n \"Active-Connect/@Shared: defaultValue is no longer supported, please assign the value to the variable itself.\"\r\n );\r\n }\r\n return function _Shared(target: any, propertyKey: string) {};\r\n}\r\n","import { WebsocketClient } from '../client';\r\n\r\nexport class LoadingStatus extends WebsocketClient {\r\n private __proto__: any;\r\n static loading: Map<string, boolean>;\r\n get isLoading(): boolean {\r\n // return general loading\r\n let anyTrue = false;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n anyTrue ||= e;\r\n });\r\n if (!anyTrue) this.__proto__.loading.clear();\r\n return this.__proto__.loading.size > 0;\r\n }\r\n getLoadingMap(): Map<string, boolean> {\r\n return this.__proto__.loading;\r\n }\r\n\r\n get getCurrent(): number {\r\n let count = 0;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n if (e) count++;\r\n });\r\n if (count == 0) {\r\n this.__proto__.loading.clear();\r\n }\r\n return count;\r\n }\r\n get getTotal(): number {\r\n return this.__proto__.loading.size;\r\n }\r\n}\r\n","/*\n * Public API Surface of active-connect-ng2\n */\n\nexport * from './lib/active-connect-ng2.module';\nexport * from './lib/websocket';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"active-connect-ng2.mjs","sources":["../../../projects/active-connect-ng2/src/lib/active-connect-ng2.module.ts","../../../projects/active-connect-ng2/src/lib/websocket/json/json-parser.ts","../../../projects/active-connect-ng2/src/lib/websocket/client.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/function.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/handle.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/on-success.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/outbound.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/route.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/shared.ts","../../../projects/active-connect-ng2/src/lib/websocket/lifecycle/loading-status.ts","../../../projects/active-connect-ng2/src/public-api.ts","../../../projects/active-connect-ng2/src/active-connect-ng2.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { NgxIndexedDBModule, DBConfig } from 'ngx-indexed-db';\n\nconst dbConfig: DBConfig = {\n name: 'activeconnect_cache',\n version: 1,\n objectStoresMeta: [\n {\n store: 'outbound',\n storeConfig: { keyPath: 'method', autoIncrement: false },\n storeSchema: [\n { name: 'method', keypath: 'method', options: { unique: true } },\n { name: 'data', keypath: 'data', options: { unique: false } },\n {\n name: 'globalHash',\n keypath: 'globalHash',\n options: { unique: false },\n },\n {\n name: 'specificHash',\n keypath: 'specificHash',\n options: { unique: false },\n },\n ],\n },\n ],\n};\n\n@NgModule({\n declarations: [],\n imports: [NgxIndexedDBModule.forRoot(dbConfig)],\n})\nexport class ActiveConnectNg2Module {}\n","export class JsonParser {\r\n static stringify(obj: any) {\r\n return JSON.stringify(obj);\r\n }\r\n\r\n static parsingFunction(key: any, value: any) {\r\n var a;\r\n if (typeof value === \"string\") {\r\n a =\r\n /^[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}T[0-9]{2}\\:[0-9]{2}\\:[0-9]{2}\\.[0-9]{3}Z$/.exec(\r\n value\r\n );\r\n if (a) {\r\n return new Date(a as any);\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n static parse(str: string) {\r\n if (str && str != \"undefined\") {\r\n return JSON.parse(str, JsonParser.parsingFunction);\r\n }\r\n return str;\r\n }\r\n}\r\n","import { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { DecorableFunction } from './decorators/function';\r\nimport { JsonParser } from './json/json-parser';\r\n\r\nexport class WebsocketClient {\r\n ws!: WebSocket;\r\n pool!: { WssConnected: boolean } | null;\r\n\r\n constructor(\r\n private url?: string,\r\n private supportsCache?: boolean,\r\n public dbService?: NgxIndexedDBService\r\n ) {\r\n if (supportsCache) this.initCache();\r\n if (!url) {\r\n let protocol;\r\n let port;\r\n switch (document.location.protocol) {\r\n case 'https:': {\r\n protocol = 'wss:';\r\n port = ':443';\r\n break;\r\n }\r\n default: {\r\n protocol = 'ws:';\r\n port = ':80';\r\n break;\r\n }\r\n }\r\n this.url = protocol + '//' + document.location.hostname + port + '/wss';\r\n }\r\n this.connect(this.url as string);\r\n }\r\n\r\n subject: any;\r\n\r\n private connect(url: string) {\r\n if (!this.subject) {\r\n this.create(url);\r\n }\r\n return this.subject;\r\n }\r\n\r\n private requestStack: any[] = [];\r\n\r\n private _token = '';\r\n public get Token(): string {\r\n if (!this._token) {\r\n if (window.localStorage)\r\n this._token = window.localStorage.getItem('token') || '';\r\n }\r\n return this._token;\r\n }\r\n public set Token(val: string) {\r\n this._token = val;\r\n if (window.localStorage) window.localStorage.setItem('token', val);\r\n }\r\n\r\n private set Connected(value: boolean) {\r\n if (value) {\r\n this.sendBrowserInfoToServer();\r\n\r\n this.resetRequestedState();\r\n this.auth(this.Token).then(() => {\r\n this.requestStack.forEach((e) => {\r\n this.sendToSocket(e.method, e.data);\r\n this.requestStack = this.requestStack.filter((e1) => e1 != e);\r\n });\r\n });\r\n }\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = value;\r\n }\r\n private static resetRequestedStateCallbacks: Function[] = [];\r\n private connectionEstablishedOnce: boolean = false;\r\n private resetRequestedState() {\r\n if (this.connectionEstablishedOnce) {\r\n // reset requested state for outbounds\r\n WebsocketClient.resetRequestedStateCallbacks.forEach((reset) => {\r\n reset();\r\n });\r\n } else {\r\n this.connectionEstablishedOnce = true;\r\n }\r\n }\r\n public static addResetRequestingStateCallback(callback: Function) {\r\n WebsocketClient.resetRequestedStateCallbacks.push(callback);\r\n }\r\n\r\n private create(url: string) {\r\n // create new connection\r\n this.ws = new WebSocket(url + (this.supportsCache ? '?cache=true' : ''));\r\n this.ws.onerror = (err) => {\r\n this.ws.close();\r\n console.log(err);\r\n };\r\n this.ws.onopen = () => {\r\n this.Connected = true;\r\n };\r\n this.ws.onmessage = (e) => {\r\n this.messageReceived(JsonParser.parse(e.data.toString()));\r\n };\r\n this.ws.onclose = () => {\r\n if (!this.closed) {\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = false;\r\n setTimeout(() => {\r\n this.connect(url);\r\n }, 1000);\r\n }\r\n };\r\n }\r\n\r\n private messageId: number = 0;\r\n protected sendToSocket(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ) {\r\n const messageId = ++this.messageId;\r\n if (this.ws.readyState != this.ws.OPEN) {\r\n if (!dontEnsureTransmission)\r\n this.requestStack.push({ method, data, messageId });\r\n else return false;\r\n } else {\r\n this.ws.send(JsonParser.stringify({ method, value: data, messageId }));\r\n }\r\n return messageId;\r\n }\r\n\r\n async auth(token: string): Promise<any> {\r\n return this.sendToSocket('auth.token', token);\r\n }\r\n\r\n public send(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ): Promise<any> {\r\n const messageId = this.sendToSocket(\r\n method,\r\n data,\r\n dontEnsureTransmission || false\r\n );\r\n if (messageId) {\r\n return this.expectMethod(`m.${method}`, messageId);\r\n } else {\r\n return new Promise((resolve) => {\r\n resolve(false);\r\n });\r\n }\r\n }\r\n\r\n private expectedMethods: Map<string | number, Array<Function>> = new Map();\r\n private expectMethod(method: string, messageId?: number | null) {\r\n return new Promise((resolve) => {\r\n if (messageId) {\r\n this.expectedMethods.set(messageId, [resolve]);\r\n } else {\r\n if (this.expectedMethods.has(method)) {\r\n let arr = this.expectedMethods.get(method);\r\n (arr as Array<Function>).push(resolve);\r\n } else {\r\n this.expectedMethods.set(method, [resolve]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private messageReceived({\r\n method,\r\n value,\r\n messageId,\r\n globalHash,\r\n specificHash,\r\n }: {\r\n method: string;\r\n value: any;\r\n messageId: number | null;\r\n globalHash: number | null;\r\n specificHash: number | null;\r\n }) {\r\n if (method == '___cache') {\r\n this.handleOutboundCacheRequest(value);\r\n }\r\n if (messageId) {\r\n const callback = this.expectedMethods.get(messageId);\r\n if (callback) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n this.invokeSuccessHandlers(method);\r\n } else {\r\n const callback = this.expectedMethods.get(method);\r\n if (callback && callback.length > 0) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n } else {\r\n const out = WebsocketClient.outbounds.get(method);\r\n if (out) {\r\n out(value, globalHash, specificHash, this);\r\n } else {\r\n const handle = WebsocketClient.handles.get(method);\r\n if (handle) {\r\n (handle.Func as Function)(value);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n throw Error(\r\n 'No MessageId was provided, the connection is not supported.'\r\n );\r\n }\r\n }\r\n\r\n private handleOutboundCacheRequest(method: string) {\r\n if (this.dbService) {\r\n this.dbService.getByKey('outbound', method).subscribe((item: any) => {\r\n if (item) {\r\n this.send('___cache', {\r\n method,\r\n globalHash: item.globalHash || null,\r\n specificHash: item.specificHash || null,\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n }\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n\r\n private static outbounds: Map<\r\n string,\r\n (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n > = new Map();\r\n static expectOutbound(\r\n method: string,\r\n callback: (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n ) {\r\n WebsocketClient.outbounds.set(method, callback);\r\n }\r\n\r\n private static handles: Map<string, DecorableFunction> = new Map();\r\n static registerHandle(method: string, callback: DecorableFunction) {\r\n WebsocketClient.handles.set(method, callback);\r\n }\r\n\r\n public get isConnected(): boolean {\r\n if (this.ws) return this.ws.readyState == WebSocket.OPEN;\r\n return true;\r\n }\r\n\r\n private sendBrowserInfoToServer() {\r\n // send browser / os information\r\n const browser = this.getBrowser();\r\n const os = this.getOS();\r\n this.send('___browser', {\r\n browser: `${browser.name} ${browser.version} ${os}`,\r\n });\r\n }\r\n\r\n public getBrowser(): { name: string; version: string } {\r\n // https://www.gregoryvarghese.com/how-to-get-browser-name-and-version-via-javascript/\r\n var ua = navigator.userAgent,\r\n tem,\r\n M =\r\n ua.match(\r\n /(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i\r\n ) || [];\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE ', version: tem[1] || '' };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) {\r\n return { name: 'Opera', version: tem[1] };\r\n }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) {\r\n M.splice(1, 1, tem[1]);\r\n }\r\n return {\r\n name: M[0],\r\n version: M[1],\r\n };\r\n }\r\n\r\n public getOS(): string {\r\n var userAgent = window.navigator.userAgent,\r\n platform = window.navigator.platform,\r\n macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],\r\n windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],\r\n iosPlatforms = ['iPhone', 'iPad', 'iPod'],\r\n os = null;\r\n\r\n if (macosPlatforms.indexOf(platform) !== -1) {\r\n os = 'Mac OS';\r\n } else if (iosPlatforms.indexOf(platform) !== -1) {\r\n os = 'iOS';\r\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\r\n os = 'Windows';\r\n } else if (/Android/.test(userAgent)) {\r\n os = 'Android';\r\n } else if (!os && /Linux/.test(platform)) {\r\n os = 'Linux';\r\n }\r\n\r\n return os || '';\r\n }\r\n\r\n private static onSuccessHandlers: {\r\n callback: DecorableFunction;\r\n regexp: RegExp;\r\n }[] = [];\r\n public static onSuccess(callback: DecorableFunction, regexp: RegExp) {\r\n this.onSuccessHandlers.push({ callback, regexp });\r\n }\r\n\r\n private invokeSuccessHandlers(method: string) {\r\n WebsocketClient.onSuccessHandlers\r\n .filter((e) => e.regexp.test(method))\r\n .forEach((e) => {\r\n var res = (e.callback.Func as Function)();\r\n if (res && res.then) {\r\n res.then();\r\n }\r\n });\r\n }\r\n\r\n public closed = false;\r\n public disconnect(restart?: boolean) {\r\n if (!restart) this.closed = true;\r\n this.ws.close();\r\n }\r\n\r\n private initCache() {}\r\n}\r\n","/**\r\n * Represents the reference to an object method used for websocket routes and outbounds.\r\n */\r\nexport class DecorableFunction {\r\n /**\r\n * Creates an instance of DecorableFunction.\r\n * @param objConfig - The configuration object for the object method.\r\n * @param objConfig.target - The target object.\r\n * @param objConfig.propertyKey - The property key of the target object.\r\n */\r\n constructor(protected objConfig: { target: any; propertyKey: string }) {\r\n // singelton service - fetch from angular\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n if (!prototype.___constructorOverridden) {\r\n prototype.___constructorOverridden = true;\r\n }\r\n }\r\n\r\n /**\r\n * Returns the decorated function.\r\n * @returns - The decorated function.\r\n */\r\n public get Func(): ((...data: any[]) => Promise<any> | any) | null {\r\n if (\r\n this.objConfig?.target &&\r\n this.objConfig.target[this.objConfig.propertyKey]\r\n ) {\r\n return this.objConfig.target[this.objConfig.propertyKey].bind(\r\n this.getBindObject()\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the bind object.\r\n * @private\r\n * @returns - The bind object.\r\n */\r\n private getBindObject(): any {\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n console.log('bind obj:');\r\n console.log(this.objConfig.target.prototype);\r\n console.log(this.objConfig.target);\r\n return prototype.___data._obj;\r\n }\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function Handle(method: string) {\r\n return function _Handle(target: any, propertyKey: string): any {\r\n // method annotation\r\n WebsocketClient.registerHandle(\r\n method,\r\n new DecorableFunction({ target, propertyKey })\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function OnSuccess(regexp: RegExp) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n WebsocketClient.onSuccess(\r\n new DecorableFunction({ target, propertyKey }),\r\n regexp\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { JsonParser } from '../../json/json-parser';\r\n\r\nexport function Outbound(\r\n method: string,\r\n requestingRequired?: boolean,\r\n cached?: boolean\r\n) {\r\n return function _Outbound(target: any, propertyKey: string): any {\r\n target.loading = new Map<string, boolean>();\r\n // property annotation\r\n WebsocketClient.expectOutbound(\r\n method,\r\n function setOutbound(\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) {\r\n if (!target.___received) target.___received = {};\r\n if (!target.___data) target.___data = {};\r\n if (!target.___received) target.___received = {};\r\n if (!target.___requested) target.___requested = {};\r\n if (!cached) {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n }\r\n\r\n if (data == 'cache_restore') {\r\n if (_this.dbService) {\r\n const result: any = _this.dbService.getByKey('outbound', method);\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = result.data;\r\n target.loading.set(propertyKey, false);\r\n }\r\n } else if (data == 'cache_delete') {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n target.___received[propertyKey] = false;\r\n target.___data[propertyKey] = undefined;\r\n target.loading.set(propertyKey, false);\r\n } else {\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = data;\r\n target.loading.set(propertyKey, false);\r\n if (cached && globalHash && specificHash) {\r\n if (_this.dbService)\r\n _this.dbService.update('outbound', {\r\n method,\r\n data,\r\n globalHash,\r\n specificHash,\r\n });\r\n else\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n }\r\n );\r\n if (requestingRequired) {\r\n WebsocketClient.addResetRequestingStateCallback(function callback() {\r\n if (target.___requested) {\r\n target.___requested[propertyKey] = false;\r\n }\r\n });\r\n }\r\n return {\r\n configurable: true,\r\n writeable: true,\r\n get() {\r\n if (requestingRequired && !target.___requested[propertyKey]) {\r\n target.___requested[propertyKey] = true;\r\n this.send('request.' + method, null).then();\r\n }\r\n if (!target.___data) target.___data = {};\r\n if (!target.___data[propertyKey]) {\r\n target.loading.set(propertyKey, true);\r\n } else if (target.loading[propertyKey]) {\r\n target.loading.set(propertyKey, false);\r\n }\r\n return target.___data[propertyKey];\r\n },\r\n set(val: any) {\r\n if (!target.___data) target.___data = {};\r\n target.loading.set(propertyKey, false);\r\n return (target.___data[propertyKey] = val);\r\n },\r\n };\r\n };\r\n}\r\n","export function Route(\r\n method: string,\r\n loadingKey?: string,\r\n dontEnsureTransmission?: boolean\r\n) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n // method annotation\r\n const original = target[propertyKey];\r\n target[propertyKey] = async function execRoute(...data: any): Promise<any> {\r\n if (loadingKey) {\r\n if (!this.loadingElements[loadingKey]) {\r\n this.loadingElements[loadingKey] = 0;\r\n }\r\n this.loadingElements[loadingKey]++;\r\n }\r\n const promise = original.bind(this)(...data);\r\n let res = null;\r\n if (this.client) {\r\n res = await this.client.send(method, data[0], dontEnsureTransmission);\r\n }\r\n await promise;\r\n if (loadingKey) this.loadingElements[loadingKey]--;\r\n return res;\r\n };\r\n return target;\r\n };\r\n}\r\n","/**\r\n * @deprecated\r\n */\r\nexport function Shared<T>(defaultValue?: T) {\r\n if (defaultValue) {\r\n throw Error(\r\n \"Active-Connect/@Shared: defaultValue is no longer supported, please assign the value to the variable itself.\"\r\n );\r\n }\r\n return function _Shared(target: any, propertyKey: string) {};\r\n}\r\n","import { WebsocketClient } from '../client';\r\n\r\nexport class LoadingStatus extends WebsocketClient {\r\n private __proto__: any;\r\n static loading: Map<string, boolean>;\r\n get isLoading(): boolean {\r\n // return general loading\r\n let anyTrue = false;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n anyTrue ||= e;\r\n });\r\n if (!anyTrue) this.__proto__.loading.clear();\r\n return this.__proto__.loading.size > 0;\r\n }\r\n getLoadingMap(): Map<string, boolean> {\r\n return this.__proto__.loading;\r\n }\r\n\r\n get getCurrent(): number {\r\n let count = 0;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n if (e) count++;\r\n });\r\n if (count == 0) {\r\n this.__proto__.loading.clear();\r\n }\r\n return count;\r\n }\r\n get getTotal(): number {\r\n return this.__proto__.loading.size;\r\n }\r\n}\r\n","/*\n * Public API Surface of active-connect-ng2\n */\n\nexport * from './lib/active-connect-ng2.module';\nexport * from './lib/websocket';\nexport { NgxIndexedDBService } from 'ngx-indexed-db';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from 'ngx-indexed-db';
|
|
4
4
|
import { NgxIndexedDBModule } from 'ngx-indexed-db';
|
|
5
|
+
export { NgxIndexedDBService } from 'ngx-indexed-db';
|
|
5
6
|
|
|
6
7
|
const dbConfig = {
|
|
7
8
|
name: 'activeconnect_cache',
|
|
@@ -30,14 +31,13 @@ const dbConfig = {
|
|
|
30
31
|
class ActiveConnectNg2Module {
|
|
31
32
|
}
|
|
32
33
|
ActiveConnectNg2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
-
ActiveConnectNg2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [i1.NgxIndexedDBModule]
|
|
34
|
-
ActiveConnectNg2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [NgxIndexedDBModule.forRoot(dbConfig)
|
|
34
|
+
ActiveConnectNg2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [i1.NgxIndexedDBModule] });
|
|
35
|
+
ActiveConnectNg2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, imports: [NgxIndexedDBModule.forRoot(dbConfig)] });
|
|
35
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActiveConnectNg2Module, decorators: [{
|
|
36
37
|
type: NgModule,
|
|
37
38
|
args: [{
|
|
38
39
|
declarations: [],
|
|
39
40
|
imports: [NgxIndexedDBModule.forRoot(dbConfig)],
|
|
40
|
-
exports: [NgxIndexedDBModule],
|
|
41
41
|
}]
|
|
42
42
|
}] });
|
|
43
43
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-connect-ng2.mjs","sources":["../../../projects/active-connect-ng2/src/lib/active-connect-ng2.module.ts","../../../projects/active-connect-ng2/src/lib/websocket/json/json-parser.ts","../../../projects/active-connect-ng2/src/lib/websocket/client.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/function.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/handle.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/on-success.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/outbound.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/route.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/shared.ts","../../../projects/active-connect-ng2/src/lib/websocket/lifecycle/loading-status.ts","../../../projects/active-connect-ng2/src/public-api.ts","../../../projects/active-connect-ng2/src/active-connect-ng2.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { NgxIndexedDBModule, DBConfig } from 'ngx-indexed-db';\n\nconst dbConfig: DBConfig = {\n name: 'activeconnect_cache',\n version: 1,\n objectStoresMeta: [\n {\n store: 'outbound',\n storeConfig: { keyPath: 'method', autoIncrement: false },\n storeSchema: [\n { name: 'method', keypath: 'method', options: { unique: true } },\n { name: 'data', keypath: 'data', options: { unique: false } },\n {\n name: 'globalHash',\n keypath: 'globalHash',\n options: { unique: false },\n },\n {\n name: 'specificHash',\n keypath: 'specificHash',\n options: { unique: false },\n },\n ],\n },\n ],\n};\n\n@NgModule({\n declarations: [],\n imports: [NgxIndexedDBModule.forRoot(dbConfig)],\n exports: [NgxIndexedDBModule],\n})\nexport class ActiveConnectNg2Module {}\n","export class JsonParser {\r\n static stringify(obj: any) {\r\n return JSON.stringify(obj);\r\n }\r\n\r\n static parsingFunction(key: any, value: any) {\r\n var a;\r\n if (typeof value === \"string\") {\r\n a =\r\n /^[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}T[0-9]{2}\\:[0-9]{2}\\:[0-9]{2}\\.[0-9]{3}Z$/.exec(\r\n value\r\n );\r\n if (a) {\r\n return new Date(a as any);\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n static parse(str: string) {\r\n if (str && str != \"undefined\") {\r\n return JSON.parse(str, JsonParser.parsingFunction);\r\n }\r\n return str;\r\n }\r\n}\r\n","import { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { DecorableFunction } from './decorators/function';\r\nimport { JsonParser } from './json/json-parser';\r\n\r\nexport class WebsocketClient {\r\n ws!: WebSocket;\r\n pool!: { WssConnected: boolean } | null;\r\n\r\n constructor(\r\n private url?: string,\r\n private supportsCache?: boolean,\r\n public dbService?: NgxIndexedDBService\r\n ) {\r\n if (supportsCache) this.initCache();\r\n if (!url) {\r\n let protocol;\r\n let port;\r\n switch (document.location.protocol) {\r\n case 'https:': {\r\n protocol = 'wss:';\r\n port = ':443';\r\n break;\r\n }\r\n default: {\r\n protocol = 'ws:';\r\n port = ':80';\r\n break;\r\n }\r\n }\r\n this.url = protocol + '//' + document.location.hostname + port + '/wss';\r\n }\r\n this.connect(this.url as string);\r\n }\r\n\r\n subject: any;\r\n\r\n private connect(url: string) {\r\n if (!this.subject) {\r\n this.create(url);\r\n }\r\n return this.subject;\r\n }\r\n\r\n private requestStack: any[] = [];\r\n\r\n private _token = '';\r\n public get Token(): string {\r\n if (!this._token) {\r\n if (window.localStorage)\r\n this._token = window.localStorage.getItem('token') || '';\r\n }\r\n return this._token;\r\n }\r\n public set Token(val: string) {\r\n this._token = val;\r\n if (window.localStorage) window.localStorage.setItem('token', val);\r\n }\r\n\r\n private set Connected(value: boolean) {\r\n if (value) {\r\n this.sendBrowserInfoToServer();\r\n\r\n this.resetRequestedState();\r\n this.auth(this.Token).then(() => {\r\n this.requestStack.forEach((e) => {\r\n this.sendToSocket(e.method, e.data);\r\n this.requestStack = this.requestStack.filter((e1) => e1 != e);\r\n });\r\n });\r\n }\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = value;\r\n }\r\n private static resetRequestedStateCallbacks: Function[] = [];\r\n private connectionEstablishedOnce: boolean = false;\r\n private resetRequestedState() {\r\n if (this.connectionEstablishedOnce) {\r\n // reset requested state for outbounds\r\n WebsocketClient.resetRequestedStateCallbacks.forEach((reset) => {\r\n reset();\r\n });\r\n } else {\r\n this.connectionEstablishedOnce = true;\r\n }\r\n }\r\n public static addResetRequestingStateCallback(callback: Function) {\r\n WebsocketClient.resetRequestedStateCallbacks.push(callback);\r\n }\r\n\r\n private create(url: string) {\r\n // create new connection\r\n this.ws = new WebSocket(url + (this.supportsCache ? '?cache=true' : ''));\r\n this.ws.onerror = (err) => {\r\n this.ws.close();\r\n console.log(err);\r\n };\r\n this.ws.onopen = () => {\r\n this.Connected = true;\r\n };\r\n this.ws.onmessage = (e) => {\r\n this.messageReceived(JsonParser.parse(e.data.toString()));\r\n };\r\n this.ws.onclose = () => {\r\n if (!this.closed) {\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = false;\r\n setTimeout(() => {\r\n this.connect(url);\r\n }, 1000);\r\n }\r\n };\r\n }\r\n\r\n private messageId: number = 0;\r\n protected sendToSocket(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ) {\r\n const messageId = ++this.messageId;\r\n if (this.ws.readyState != this.ws.OPEN) {\r\n if (!dontEnsureTransmission)\r\n this.requestStack.push({ method, data, messageId });\r\n else return false;\r\n } else {\r\n this.ws.send(JsonParser.stringify({ method, value: data, messageId }));\r\n }\r\n return messageId;\r\n }\r\n\r\n async auth(token: string): Promise<any> {\r\n return this.sendToSocket('auth.token', token);\r\n }\r\n\r\n public send(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ): Promise<any> {\r\n const messageId = this.sendToSocket(\r\n method,\r\n data,\r\n dontEnsureTransmission || false\r\n );\r\n if (messageId) {\r\n return this.expectMethod(`m.${method}`, messageId);\r\n } else {\r\n return new Promise((resolve) => {\r\n resolve(false);\r\n });\r\n }\r\n }\r\n\r\n private expectedMethods: Map<string | number, Array<Function>> = new Map();\r\n private expectMethod(method: string, messageId?: number | null) {\r\n return new Promise((resolve) => {\r\n if (messageId) {\r\n this.expectedMethods.set(messageId, [resolve]);\r\n } else {\r\n if (this.expectedMethods.has(method)) {\r\n let arr = this.expectedMethods.get(method);\r\n (arr as Array<Function>).push(resolve);\r\n } else {\r\n this.expectedMethods.set(method, [resolve]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private messageReceived({\r\n method,\r\n value,\r\n messageId,\r\n globalHash,\r\n specificHash,\r\n }: {\r\n method: string;\r\n value: any;\r\n messageId: number | null;\r\n globalHash: number | null;\r\n specificHash: number | null;\r\n }) {\r\n if (method == '___cache') {\r\n this.handleOutboundCacheRequest(value);\r\n }\r\n if (messageId) {\r\n const callback = this.expectedMethods.get(messageId);\r\n if (callback) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n this.invokeSuccessHandlers(method);\r\n } else {\r\n const callback = this.expectedMethods.get(method);\r\n if (callback && callback.length > 0) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n } else {\r\n const out = WebsocketClient.outbounds.get(method);\r\n if (out) {\r\n out(value, globalHash, specificHash, this);\r\n } else {\r\n const handle = WebsocketClient.handles.get(method);\r\n if (handle) {\r\n (handle.Func as Function)(value);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n throw Error(\r\n 'No MessageId was provided, the connection is not supported.'\r\n );\r\n }\r\n }\r\n\r\n private handleOutboundCacheRequest(method: string) {\r\n if (this.dbService) {\r\n this.dbService.getByKey('outbound', method).subscribe((item: any) => {\r\n if (item) {\r\n this.send('___cache', {\r\n method,\r\n globalHash: item.globalHash || null,\r\n specificHash: item.specificHash || null,\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n }\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n\r\n private static outbounds: Map<\r\n string,\r\n (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n > = new Map();\r\n static expectOutbound(\r\n method: string,\r\n callback: (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n ) {\r\n WebsocketClient.outbounds.set(method, callback);\r\n }\r\n\r\n private static handles: Map<string, DecorableFunction> = new Map();\r\n static registerHandle(method: string, callback: DecorableFunction) {\r\n WebsocketClient.handles.set(method, callback);\r\n }\r\n\r\n public get isConnected(): boolean {\r\n if (this.ws) return this.ws.readyState == WebSocket.OPEN;\r\n return true;\r\n }\r\n\r\n private sendBrowserInfoToServer() {\r\n // send browser / os information\r\n const browser = this.getBrowser();\r\n const os = this.getOS();\r\n this.send('___browser', {\r\n browser: `${browser.name} ${browser.version} ${os}`,\r\n });\r\n }\r\n\r\n public getBrowser(): { name: string; version: string } {\r\n // https://www.gregoryvarghese.com/how-to-get-browser-name-and-version-via-javascript/\r\n var ua = navigator.userAgent,\r\n tem,\r\n M =\r\n ua.match(\r\n /(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i\r\n ) || [];\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE ', version: tem[1] || '' };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) {\r\n return { name: 'Opera', version: tem[1] };\r\n }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) {\r\n M.splice(1, 1, tem[1]);\r\n }\r\n return {\r\n name: M[0],\r\n version: M[1],\r\n };\r\n }\r\n\r\n public getOS(): string {\r\n var userAgent = window.navigator.userAgent,\r\n platform = window.navigator.platform,\r\n macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],\r\n windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],\r\n iosPlatforms = ['iPhone', 'iPad', 'iPod'],\r\n os = null;\r\n\r\n if (macosPlatforms.indexOf(platform) !== -1) {\r\n os = 'Mac OS';\r\n } else if (iosPlatforms.indexOf(platform) !== -1) {\r\n os = 'iOS';\r\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\r\n os = 'Windows';\r\n } else if (/Android/.test(userAgent)) {\r\n os = 'Android';\r\n } else if (!os && /Linux/.test(platform)) {\r\n os = 'Linux';\r\n }\r\n\r\n return os || '';\r\n }\r\n\r\n private static onSuccessHandlers: {\r\n callback: DecorableFunction;\r\n regexp: RegExp;\r\n }[] = [];\r\n public static onSuccess(callback: DecorableFunction, regexp: RegExp) {\r\n this.onSuccessHandlers.push({ callback, regexp });\r\n }\r\n\r\n private invokeSuccessHandlers(method: string) {\r\n WebsocketClient.onSuccessHandlers\r\n .filter((e) => e.regexp.test(method))\r\n .forEach((e) => {\r\n var res = (e.callback.Func as Function)();\r\n if (res && res.then) {\r\n res.then();\r\n }\r\n });\r\n }\r\n\r\n public closed = false;\r\n public disconnect(restart?: boolean) {\r\n if (!restart) this.closed = true;\r\n this.ws.close();\r\n }\r\n\r\n private initCache() {}\r\n}\r\n","/**\r\n * Represents the reference to an object method used for websocket routes and outbounds.\r\n */\r\nexport class DecorableFunction {\r\n /**\r\n * Creates an instance of DecorableFunction.\r\n * @param objConfig - The configuration object for the object method.\r\n * @param objConfig.target - The target object.\r\n * @param objConfig.propertyKey - The property key of the target object.\r\n */\r\n constructor(protected objConfig: { target: any; propertyKey: string }) {\r\n // singelton service - fetch from angular\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n if (!prototype.___constructorOverridden) {\r\n prototype.___constructorOverridden = true;\r\n }\r\n }\r\n\r\n /**\r\n * Returns the decorated function.\r\n * @returns - The decorated function.\r\n */\r\n public get Func(): ((...data: any[]) => Promise<any> | any) | null {\r\n if (\r\n this.objConfig?.target &&\r\n this.objConfig.target[this.objConfig.propertyKey]\r\n ) {\r\n return this.objConfig.target[this.objConfig.propertyKey].bind(\r\n this.getBindObject()\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the bind object.\r\n * @private\r\n * @returns - The bind object.\r\n */\r\n private getBindObject(): any {\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n console.log('bind obj:');\r\n console.log(this.objConfig.target.prototype);\r\n console.log(this.objConfig.target);\r\n return prototype.___data._obj;\r\n }\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function Handle(method: string) {\r\n return function _Handle(target: any, propertyKey: string): any {\r\n // method annotation\r\n WebsocketClient.registerHandle(\r\n method,\r\n new DecorableFunction({ target, propertyKey })\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function OnSuccess(regexp: RegExp) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n WebsocketClient.onSuccess(\r\n new DecorableFunction({ target, propertyKey }),\r\n regexp\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { JsonParser } from '../../json/json-parser';\r\n\r\nexport function Outbound(\r\n method: string,\r\n requestingRequired?: boolean,\r\n cached?: boolean\r\n) {\r\n return function _Outbound(target: any, propertyKey: string): any {\r\n target.loading = new Map<string, boolean>();\r\n // property annotation\r\n WebsocketClient.expectOutbound(\r\n method,\r\n function setOutbound(\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) {\r\n if (!target.___received) target.___received = {};\r\n if (!target.___data) target.___data = {};\r\n if (!target.___received) target.___received = {};\r\n if (!target.___requested) target.___requested = {};\r\n if (!cached) {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n }\r\n\r\n if (data == 'cache_restore') {\r\n if (_this.dbService) {\r\n const result: any = _this.dbService.getByKey('outbound', method);\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = result.data;\r\n target.loading.set(propertyKey, false);\r\n }\r\n } else if (data == 'cache_delete') {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n target.___received[propertyKey] = false;\r\n target.___data[propertyKey] = undefined;\r\n target.loading.set(propertyKey, false);\r\n } else {\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = data;\r\n target.loading.set(propertyKey, false);\r\n if (cached && globalHash && specificHash) {\r\n if (_this.dbService)\r\n _this.dbService.update('outbound', {\r\n method,\r\n data,\r\n globalHash,\r\n specificHash,\r\n });\r\n else\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n }\r\n );\r\n if (requestingRequired) {\r\n WebsocketClient.addResetRequestingStateCallback(function callback() {\r\n if (target.___requested) {\r\n target.___requested[propertyKey] = false;\r\n }\r\n });\r\n }\r\n return {\r\n configurable: true,\r\n writeable: true,\r\n get() {\r\n if (requestingRequired && !target.___requested[propertyKey]) {\r\n target.___requested[propertyKey] = true;\r\n this.send('request.' + method, null).then();\r\n }\r\n if (!target.___data) target.___data = {};\r\n if (!target.___data[propertyKey]) {\r\n target.loading.set(propertyKey, true);\r\n } else if (target.loading[propertyKey]) {\r\n target.loading.set(propertyKey, false);\r\n }\r\n return target.___data[propertyKey];\r\n },\r\n set(val: any) {\r\n if (!target.___data) target.___data = {};\r\n target.loading.set(propertyKey, false);\r\n return (target.___data[propertyKey] = val);\r\n },\r\n };\r\n };\r\n}\r\n","export function Route(\r\n method: string,\r\n loadingKey?: string,\r\n dontEnsureTransmission?: boolean\r\n) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n // method annotation\r\n const original = target[propertyKey];\r\n target[propertyKey] = async function execRoute(...data: any): Promise<any> {\r\n if (loadingKey) {\r\n if (!this.loadingElements[loadingKey]) {\r\n this.loadingElements[loadingKey] = 0;\r\n }\r\n this.loadingElements[loadingKey]++;\r\n }\r\n const promise = original.bind(this)(...data);\r\n let res = null;\r\n if (this.client) {\r\n res = await this.client.send(method, data[0], dontEnsureTransmission);\r\n }\r\n await promise;\r\n if (loadingKey) this.loadingElements[loadingKey]--;\r\n return res;\r\n };\r\n return target;\r\n };\r\n}\r\n","/**\r\n * @deprecated\r\n */\r\nexport function Shared<T>(defaultValue?: T) {\r\n if (defaultValue) {\r\n throw Error(\r\n \"Active-Connect/@Shared: defaultValue is no longer supported, please assign the value to the variable itself.\"\r\n );\r\n }\r\n return function _Shared(target: any, propertyKey: string) {};\r\n}\r\n","import { WebsocketClient } from '../client';\r\n\r\nexport class LoadingStatus extends WebsocketClient {\r\n private __proto__: any;\r\n static loading: Map<string, boolean>;\r\n get isLoading(): boolean {\r\n // return general loading\r\n let anyTrue = false;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n anyTrue ||= e;\r\n });\r\n if (!anyTrue) this.__proto__.loading.clear();\r\n return this.__proto__.loading.size > 0;\r\n }\r\n getLoadingMap(): Map<string, boolean> {\r\n return this.__proto__.loading;\r\n }\r\n\r\n get getCurrent(): number {\r\n let count = 0;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n if (e) count++;\r\n });\r\n if (count == 0) {\r\n this.__proto__.loading.clear();\r\n }\r\n return count;\r\n }\r\n get getTotal(): number {\r\n return this.__proto__.loading.size;\r\n }\r\n}\r\n","/*\n * Public API Surface of active-connect-ng2\n */\n\nexport * from './lib/active-connect-ng2.module';\nexport * from './lib/websocket';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"active-connect-ng2.mjs","sources":["../../../projects/active-connect-ng2/src/lib/active-connect-ng2.module.ts","../../../projects/active-connect-ng2/src/lib/websocket/json/json-parser.ts","../../../projects/active-connect-ng2/src/lib/websocket/client.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/function.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/handle.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/on-success.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/outbound.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/route.ts","../../../projects/active-connect-ng2/src/lib/websocket/decorators/websocket/shared.ts","../../../projects/active-connect-ng2/src/lib/websocket/lifecycle/loading-status.ts","../../../projects/active-connect-ng2/src/public-api.ts","../../../projects/active-connect-ng2/src/active-connect-ng2.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { NgxIndexedDBModule, DBConfig } from 'ngx-indexed-db';\n\nconst dbConfig: DBConfig = {\n name: 'activeconnect_cache',\n version: 1,\n objectStoresMeta: [\n {\n store: 'outbound',\n storeConfig: { keyPath: 'method', autoIncrement: false },\n storeSchema: [\n { name: 'method', keypath: 'method', options: { unique: true } },\n { name: 'data', keypath: 'data', options: { unique: false } },\n {\n name: 'globalHash',\n keypath: 'globalHash',\n options: { unique: false },\n },\n {\n name: 'specificHash',\n keypath: 'specificHash',\n options: { unique: false },\n },\n ],\n },\n ],\n};\n\n@NgModule({\n declarations: [],\n imports: [NgxIndexedDBModule.forRoot(dbConfig)],\n})\nexport class ActiveConnectNg2Module {}\n","export class JsonParser {\r\n static stringify(obj: any) {\r\n return JSON.stringify(obj);\r\n }\r\n\r\n static parsingFunction(key: any, value: any) {\r\n var a;\r\n if (typeof value === \"string\") {\r\n a =\r\n /^[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}T[0-9]{2}\\:[0-9]{2}\\:[0-9]{2}\\.[0-9]{3}Z$/.exec(\r\n value\r\n );\r\n if (a) {\r\n return new Date(a as any);\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n static parse(str: string) {\r\n if (str && str != \"undefined\") {\r\n return JSON.parse(str, JsonParser.parsingFunction);\r\n }\r\n return str;\r\n }\r\n}\r\n","import { NgxIndexedDBService } from 'ngx-indexed-db';\r\nimport { DecorableFunction } from './decorators/function';\r\nimport { JsonParser } from './json/json-parser';\r\n\r\nexport class WebsocketClient {\r\n ws!: WebSocket;\r\n pool!: { WssConnected: boolean } | null;\r\n\r\n constructor(\r\n private url?: string,\r\n private supportsCache?: boolean,\r\n public dbService?: NgxIndexedDBService\r\n ) {\r\n if (supportsCache) this.initCache();\r\n if (!url) {\r\n let protocol;\r\n let port;\r\n switch (document.location.protocol) {\r\n case 'https:': {\r\n protocol = 'wss:';\r\n port = ':443';\r\n break;\r\n }\r\n default: {\r\n protocol = 'ws:';\r\n port = ':80';\r\n break;\r\n }\r\n }\r\n this.url = protocol + '//' + document.location.hostname + port + '/wss';\r\n }\r\n this.connect(this.url as string);\r\n }\r\n\r\n subject: any;\r\n\r\n private connect(url: string) {\r\n if (!this.subject) {\r\n this.create(url);\r\n }\r\n return this.subject;\r\n }\r\n\r\n private requestStack: any[] = [];\r\n\r\n private _token = '';\r\n public get Token(): string {\r\n if (!this._token) {\r\n if (window.localStorage)\r\n this._token = window.localStorage.getItem('token') || '';\r\n }\r\n return this._token;\r\n }\r\n public set Token(val: string) {\r\n this._token = val;\r\n if (window.localStorage) window.localStorage.setItem('token', val);\r\n }\r\n\r\n private set Connected(value: boolean) {\r\n if (value) {\r\n this.sendBrowserInfoToServer();\r\n\r\n this.resetRequestedState();\r\n this.auth(this.Token).then(() => {\r\n this.requestStack.forEach((e) => {\r\n this.sendToSocket(e.method, e.data);\r\n this.requestStack = this.requestStack.filter((e1) => e1 != e);\r\n });\r\n });\r\n }\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = value;\r\n }\r\n private static resetRequestedStateCallbacks: Function[] = [];\r\n private connectionEstablishedOnce: boolean = false;\r\n private resetRequestedState() {\r\n if (this.connectionEstablishedOnce) {\r\n // reset requested state for outbounds\r\n WebsocketClient.resetRequestedStateCallbacks.forEach((reset) => {\r\n reset();\r\n });\r\n } else {\r\n this.connectionEstablishedOnce = true;\r\n }\r\n }\r\n public static addResetRequestingStateCallback(callback: Function) {\r\n WebsocketClient.resetRequestedStateCallbacks.push(callback);\r\n }\r\n\r\n private create(url: string) {\r\n // create new connection\r\n this.ws = new WebSocket(url + (this.supportsCache ? '?cache=true' : ''));\r\n this.ws.onerror = (err) => {\r\n this.ws.close();\r\n console.log(err);\r\n };\r\n this.ws.onopen = () => {\r\n this.Connected = true;\r\n };\r\n this.ws.onmessage = (e) => {\r\n this.messageReceived(JsonParser.parse(e.data.toString()));\r\n };\r\n this.ws.onclose = () => {\r\n if (!this.closed) {\r\n if (this.pool && this.pool.WssConnected) this.pool.WssConnected = false;\r\n setTimeout(() => {\r\n this.connect(url);\r\n }, 1000);\r\n }\r\n };\r\n }\r\n\r\n private messageId: number = 0;\r\n protected sendToSocket(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ) {\r\n const messageId = ++this.messageId;\r\n if (this.ws.readyState != this.ws.OPEN) {\r\n if (!dontEnsureTransmission)\r\n this.requestStack.push({ method, data, messageId });\r\n else return false;\r\n } else {\r\n this.ws.send(JsonParser.stringify({ method, value: data, messageId }));\r\n }\r\n return messageId;\r\n }\r\n\r\n async auth(token: string): Promise<any> {\r\n return this.sendToSocket('auth.token', token);\r\n }\r\n\r\n public send(\r\n method: string,\r\n data: any,\r\n dontEnsureTransmission?: boolean\r\n ): Promise<any> {\r\n const messageId = this.sendToSocket(\r\n method,\r\n data,\r\n dontEnsureTransmission || false\r\n );\r\n if (messageId) {\r\n return this.expectMethod(`m.${method}`, messageId);\r\n } else {\r\n return new Promise((resolve) => {\r\n resolve(false);\r\n });\r\n }\r\n }\r\n\r\n private expectedMethods: Map<string | number, Array<Function>> = new Map();\r\n private expectMethod(method: string, messageId?: number | null) {\r\n return new Promise((resolve) => {\r\n if (messageId) {\r\n this.expectedMethods.set(messageId, [resolve]);\r\n } else {\r\n if (this.expectedMethods.has(method)) {\r\n let arr = this.expectedMethods.get(method);\r\n (arr as Array<Function>).push(resolve);\r\n } else {\r\n this.expectedMethods.set(method, [resolve]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private messageReceived({\r\n method,\r\n value,\r\n messageId,\r\n globalHash,\r\n specificHash,\r\n }: {\r\n method: string;\r\n value: any;\r\n messageId: number | null;\r\n globalHash: number | null;\r\n specificHash: number | null;\r\n }) {\r\n if (method == '___cache') {\r\n this.handleOutboundCacheRequest(value);\r\n }\r\n if (messageId) {\r\n const callback = this.expectedMethods.get(messageId);\r\n if (callback) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n this.invokeSuccessHandlers(method);\r\n } else {\r\n const callback = this.expectedMethods.get(method);\r\n if (callback && callback.length > 0) {\r\n const func = callback.shift();\r\n if (func) func(value);\r\n } else {\r\n const out = WebsocketClient.outbounds.get(method);\r\n if (out) {\r\n out(value, globalHash, specificHash, this);\r\n } else {\r\n const handle = WebsocketClient.handles.get(method);\r\n if (handle) {\r\n (handle.Func as Function)(value);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n throw Error(\r\n 'No MessageId was provided, the connection is not supported.'\r\n );\r\n }\r\n }\r\n\r\n private handleOutboundCacheRequest(method: string) {\r\n if (this.dbService) {\r\n this.dbService.getByKey('outbound', method).subscribe((item: any) => {\r\n if (item) {\r\n this.send('___cache', {\r\n method,\r\n globalHash: item.globalHash || null,\r\n specificHash: item.specificHash || null,\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n }\r\n });\r\n } else {\r\n this.send('___cache', {\r\n method,\r\n globalHash: null,\r\n specificHash: null,\r\n });\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n\r\n private static outbounds: Map<\r\n string,\r\n (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n > = new Map();\r\n static expectOutbound(\r\n method: string,\r\n callback: (\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) => void\r\n ) {\r\n WebsocketClient.outbounds.set(method, callback);\r\n }\r\n\r\n private static handles: Map<string, DecorableFunction> = new Map();\r\n static registerHandle(method: string, callback: DecorableFunction) {\r\n WebsocketClient.handles.set(method, callback);\r\n }\r\n\r\n public get isConnected(): boolean {\r\n if (this.ws) return this.ws.readyState == WebSocket.OPEN;\r\n return true;\r\n }\r\n\r\n private sendBrowserInfoToServer() {\r\n // send browser / os information\r\n const browser = this.getBrowser();\r\n const os = this.getOS();\r\n this.send('___browser', {\r\n browser: `${browser.name} ${browser.version} ${os}`,\r\n });\r\n }\r\n\r\n public getBrowser(): { name: string; version: string } {\r\n // https://www.gregoryvarghese.com/how-to-get-browser-name-and-version-via-javascript/\r\n var ua = navigator.userAgent,\r\n tem,\r\n M =\r\n ua.match(\r\n /(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i\r\n ) || [];\r\n if (/trident/i.test(M[1])) {\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name: 'IE ', version: tem[1] || '' };\r\n }\r\n if (M[1] === 'Chrome') {\r\n tem = ua.match(/\\bOPR\\/(\\d+)/);\r\n if (tem != null) {\r\n return { name: 'Opera', version: tem[1] };\r\n }\r\n }\r\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null) {\r\n M.splice(1, 1, tem[1]);\r\n }\r\n return {\r\n name: M[0],\r\n version: M[1],\r\n };\r\n }\r\n\r\n public getOS(): string {\r\n var userAgent = window.navigator.userAgent,\r\n platform = window.navigator.platform,\r\n macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],\r\n windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],\r\n iosPlatforms = ['iPhone', 'iPad', 'iPod'],\r\n os = null;\r\n\r\n if (macosPlatforms.indexOf(platform) !== -1) {\r\n os = 'Mac OS';\r\n } else if (iosPlatforms.indexOf(platform) !== -1) {\r\n os = 'iOS';\r\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\r\n os = 'Windows';\r\n } else if (/Android/.test(userAgent)) {\r\n os = 'Android';\r\n } else if (!os && /Linux/.test(platform)) {\r\n os = 'Linux';\r\n }\r\n\r\n return os || '';\r\n }\r\n\r\n private static onSuccessHandlers: {\r\n callback: DecorableFunction;\r\n regexp: RegExp;\r\n }[] = [];\r\n public static onSuccess(callback: DecorableFunction, regexp: RegExp) {\r\n this.onSuccessHandlers.push({ callback, regexp });\r\n }\r\n\r\n private invokeSuccessHandlers(method: string) {\r\n WebsocketClient.onSuccessHandlers\r\n .filter((e) => e.regexp.test(method))\r\n .forEach((e) => {\r\n var res = (e.callback.Func as Function)();\r\n if (res && res.then) {\r\n res.then();\r\n }\r\n });\r\n }\r\n\r\n public closed = false;\r\n public disconnect(restart?: boolean) {\r\n if (!restart) this.closed = true;\r\n this.ws.close();\r\n }\r\n\r\n private initCache() {}\r\n}\r\n","/**\r\n * Represents the reference to an object method used for websocket routes and outbounds.\r\n */\r\nexport class DecorableFunction {\r\n /**\r\n * Creates an instance of DecorableFunction.\r\n * @param objConfig - The configuration object for the object method.\r\n * @param objConfig.target - The target object.\r\n * @param objConfig.propertyKey - The property key of the target object.\r\n */\r\n constructor(protected objConfig: { target: any; propertyKey: string }) {\r\n // singelton service - fetch from angular\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n if (!prototype.___constructorOverridden) {\r\n prototype.___constructorOverridden = true;\r\n }\r\n }\r\n\r\n /**\r\n * Returns the decorated function.\r\n * @returns - The decorated function.\r\n */\r\n public get Func(): ((...data: any[]) => Promise<any> | any) | null {\r\n if (\r\n this.objConfig?.target &&\r\n this.objConfig.target[this.objConfig.propertyKey]\r\n ) {\r\n return this.objConfig.target[this.objConfig.propertyKey].bind(\r\n this.getBindObject()\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the bind object.\r\n * @private\r\n * @returns - The bind object.\r\n */\r\n private getBindObject(): any {\r\n const prototype = this.objConfig.target.prototype || this.objConfig.target;\r\n console.log('bind obj:');\r\n console.log(this.objConfig.target.prototype);\r\n console.log(this.objConfig.target);\r\n return prototype.___data._obj;\r\n }\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function Handle(method: string) {\r\n return function _Handle(target: any, propertyKey: string): any {\r\n // method annotation\r\n WebsocketClient.registerHandle(\r\n method,\r\n new DecorableFunction({ target, propertyKey })\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { DecorableFunction } from '../function';\r\n\r\nexport function OnSuccess(regexp: RegExp) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n WebsocketClient.onSuccess(\r\n new DecorableFunction({ target, propertyKey }),\r\n regexp\r\n );\r\n };\r\n}\r\n","import { WebsocketClient } from '../../client';\r\nimport { JsonParser } from '../../json/json-parser';\r\n\r\nexport function Outbound(\r\n method: string,\r\n requestingRequired?: boolean,\r\n cached?: boolean\r\n) {\r\n return function _Outbound(target: any, propertyKey: string): any {\r\n target.loading = new Map<string, boolean>();\r\n // property annotation\r\n WebsocketClient.expectOutbound(\r\n method,\r\n function setOutbound(\r\n data: any,\r\n globalHash: number | null,\r\n specificHash: number | null,\r\n _this: WebsocketClient\r\n ) {\r\n if (!target.___received) target.___received = {};\r\n if (!target.___data) target.___data = {};\r\n if (!target.___received) target.___received = {};\r\n if (!target.___requested) target.___requested = {};\r\n if (!cached) {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n }\r\n\r\n if (data == 'cache_restore') {\r\n if (_this.dbService) {\r\n const result: any = _this.dbService.getByKey('outbound', method);\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = result.data;\r\n target.loading.set(propertyKey, false);\r\n }\r\n } else if (data == 'cache_delete') {\r\n if (_this.dbService) _this.dbService.deleteByKey('outbound', method);\r\n target.___received[propertyKey] = false;\r\n target.___data[propertyKey] = undefined;\r\n target.loading.set(propertyKey, false);\r\n } else {\r\n target.___received[propertyKey] = true;\r\n target.___data[propertyKey] = data;\r\n target.loading.set(propertyKey, false);\r\n if (cached && globalHash && specificHash) {\r\n if (_this.dbService)\r\n _this.dbService.update('outbound', {\r\n method,\r\n data,\r\n globalHash,\r\n specificHash,\r\n });\r\n else\r\n console.error(\r\n 'Active-Connect: Caching not possible as the indexedDB has not been initialized'\r\n );\r\n }\r\n }\r\n }\r\n );\r\n if (requestingRequired) {\r\n WebsocketClient.addResetRequestingStateCallback(function callback() {\r\n if (target.___requested) {\r\n target.___requested[propertyKey] = false;\r\n }\r\n });\r\n }\r\n return {\r\n configurable: true,\r\n writeable: true,\r\n get() {\r\n if (requestingRequired && !target.___requested[propertyKey]) {\r\n target.___requested[propertyKey] = true;\r\n this.send('request.' + method, null).then();\r\n }\r\n if (!target.___data) target.___data = {};\r\n if (!target.___data[propertyKey]) {\r\n target.loading.set(propertyKey, true);\r\n } else if (target.loading[propertyKey]) {\r\n target.loading.set(propertyKey, false);\r\n }\r\n return target.___data[propertyKey];\r\n },\r\n set(val: any) {\r\n if (!target.___data) target.___data = {};\r\n target.loading.set(propertyKey, false);\r\n return (target.___data[propertyKey] = val);\r\n },\r\n };\r\n };\r\n}\r\n","export function Route(\r\n method: string,\r\n loadingKey?: string,\r\n dontEnsureTransmission?: boolean\r\n) {\r\n return function _Route(target: any, propertyKey: string): any {\r\n // method annotation\r\n const original = target[propertyKey];\r\n target[propertyKey] = async function execRoute(...data: any): Promise<any> {\r\n if (loadingKey) {\r\n if (!this.loadingElements[loadingKey]) {\r\n this.loadingElements[loadingKey] = 0;\r\n }\r\n this.loadingElements[loadingKey]++;\r\n }\r\n const promise = original.bind(this)(...data);\r\n let res = null;\r\n if (this.client) {\r\n res = await this.client.send(method, data[0], dontEnsureTransmission);\r\n }\r\n await promise;\r\n if (loadingKey) this.loadingElements[loadingKey]--;\r\n return res;\r\n };\r\n return target;\r\n };\r\n}\r\n","/**\r\n * @deprecated\r\n */\r\nexport function Shared<T>(defaultValue?: T) {\r\n if (defaultValue) {\r\n throw Error(\r\n \"Active-Connect/@Shared: defaultValue is no longer supported, please assign the value to the variable itself.\"\r\n );\r\n }\r\n return function _Shared(target: any, propertyKey: string) {};\r\n}\r\n","import { WebsocketClient } from '../client';\r\n\r\nexport class LoadingStatus extends WebsocketClient {\r\n private __proto__: any;\r\n static loading: Map<string, boolean>;\r\n get isLoading(): boolean {\r\n // return general loading\r\n let anyTrue = false;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n anyTrue ||= e;\r\n });\r\n if (!anyTrue) this.__proto__.loading.clear();\r\n return this.__proto__.loading.size > 0;\r\n }\r\n getLoadingMap(): Map<string, boolean> {\r\n return this.__proto__.loading;\r\n }\r\n\r\n get getCurrent(): number {\r\n let count = 0;\r\n this.__proto__.loading.forEach((e: boolean) => {\r\n if (e) count++;\r\n });\r\n if (count == 0) {\r\n this.__proto__.loading.clear();\r\n }\r\n return count;\r\n }\r\n get getTotal(): number {\r\n return this.__proto__.loading.size;\r\n }\r\n}\r\n","/*\n * Public API Surface of active-connect-ng2\n */\n\nexport * from './lib/active-connect-ng2.module';\nexport * from './lib/websocket';\nexport { NgxIndexedDBService } from 'ngx-indexed-db';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "ngx-indexed-db";
|
|
3
3
|
export declare class ActiveConnectNg2Module {
|
|
4
4
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActiveConnectNg2Module, never>;
|
|
5
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ActiveConnectNg2Module, never, [typeof i1.NgxIndexedDBModule],
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ActiveConnectNg2Module, never, [typeof i1.NgxIndexedDBModule], never>;
|
|
6
6
|
static ɵinj: i0.ɵɵInjectorDeclaration<ActiveConnectNg2Module>;
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "active-connect-ng2",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^15.1.0",
|
|
6
|
-
"@angular/core": "^15.1.0"
|
|
6
|
+
"@angular/core": "^15.1.0",
|
|
7
|
+
"ngx-indexed-db": "^16.0.0"
|
|
7
8
|
},
|
|
8
9
|
"dependencies": {
|
|
9
10
|
"tslib": "^2.3.0"
|
package/public-api.d.ts
CHANGED