@playkit-js/playkit-js-providers 2.40.1 → 2.40.2-canary.0-c7a43ae
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/dist/index.d.ts +1624 -0
- package/dist/playkit-analytics-service.js +1 -1
- package/dist/playkit-analytics-service.js.map +1 -1
- package/dist/playkit-bookmark-service.js +1 -1
- package/dist/playkit-bookmark-service.js.map +1 -1
- package/dist/playkit-ott-provider.js +1 -1
- package/dist/playkit-ott-provider.js.map +1 -1
- package/dist/playkit-ovp-provider.js +1 -1
- package/dist/playkit-ovp-provider.js.map +1 -1
- package/dist/playkit-stats-service.js +1 -1
- package/dist/playkit-stats-service.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/flow-typed/types/media-config-sources.js +1 -1
- package/flow-typed/types/media-sources.js +1 -1
- package/package.json +49 -46
- package/playkit-analytics-service/package.json +5 -0
- package/playkit-bookmark-service/package.json +5 -0
- package/playkit-ott-provider/package.json +5 -0
- package/playkit-ovp-provider/package.json +5 -0
- package/playkit-stats-service/package.json +5 -0
- package/src/entities/bumper.ts +21 -0
- package/src/entities/drm.ts +47 -0
- package/src/entities/entry-list.ts +13 -0
- package/src/entities/image-source.ts +36 -0
- package/src/entities/media-entry.ts +104 -0
- package/src/entities/media-format.ts +47 -0
- package/src/entities/media-source.ts +70 -0
- package/src/entities/media-sources.ts +79 -0
- package/src/entities/playlist.ts +41 -0
- package/src/k-provider/common/base-provider-parser.ts +0 -0
- package/src/k-provider/common/base-provider.ts +112 -0
- package/src/k-provider/common/base-service-result.ts +56 -0
- package/src/k-provider/common/data-loader-manager.ts +115 -0
- package/src/k-provider/common/multi-request-builder.ts +111 -0
- package/src/k-provider/common/response-types/kaltura-access-control-message.ts +21 -0
- package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.ts +38 -0
- package/src/k-provider/ott/config.ts +22 -0
- package/src/k-provider/ott/index.ts +14 -0
- package/src/k-provider/ott/loaders/asset-list-loader.ts +68 -0
- package/src/k-provider/ott/loaders/asset-loader.ts +69 -0
- package/src/k-provider/ott/loaders/data-loader-manager.ts +15 -0
- package/src/k-provider/ott/loaders/session-loader.ts +62 -0
- package/src/k-provider/ott/provider-parser.ts +285 -0
- package/src/k-provider/ott/provider.ts +252 -0
- package/src/k-provider/ott/response-types/kaltura-asset.ts +105 -0
- package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.ts +27 -0
- package/src/k-provider/ott/response-types/kaltura-playback-context.ts +73 -0
- package/src/k-provider/ott/response-types/kaltura-playback-source.ts +62 -0
- package/src/k-provider/ott/response-types/kaltura-rule-action.ts +25 -0
- package/src/k-provider/ott/services/asset-service.ts +50 -0
- package/src/k-provider/ott/services/bookmark/bookmark-service.ts +48 -0
- package/src/k-provider/ott/services/bookmark/index.ts +11 -0
- package/src/k-provider/ott/services/ott-service.ts +33 -0
- package/src/k-provider/ott/services/user-service.ts +31 -0
- package/src/k-provider/ovp/config.ts +28 -0
- package/src/k-provider/ovp/external-captions-builder.ts +37 -0
- package/src/k-provider/ovp/index.ts +13 -0
- package/src/k-provider/ovp/loaders/data-loader-manager.ts +17 -0
- package/src/k-provider/ovp/loaders/entry-list-loader.ts +69 -0
- package/src/k-provider/ovp/loaders/media-entry-loader.ts +84 -0
- package/src/k-provider/ovp/loaders/playlist-loader.ts +69 -0
- package/src/k-provider/ovp/loaders/session-loader.ts +62 -0
- package/src/k-provider/ovp/loaders/ui-config-loader.ts +71 -0
- package/src/k-provider/ovp/play-source-url-builder.ts +59 -0
- package/src/k-provider/ovp/provider-parser.ts +461 -0
- package/src/k-provider/ovp/provider.ts +358 -0
- package/src/k-provider/ovp/regex-action-handler.ts +149 -0
- package/src/k-provider/ovp/request-params/base-entry-response-profile.ts +28 -0
- package/src/k-provider/ovp/response-types/index.ts +21 -0
- package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.ts +35 -0
- package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.ts +30 -0
- package/src/k-provider/ovp/response-types/kaltura-bumper.ts +25 -0
- package/src/k-provider/ovp/response-types/kaltura-flavor-asset.ts +108 -0
- package/src/k-provider/ovp/response-types/kaltura-media-entries.ts +28 -0
- package/src/k-provider/ovp/response-types/kaltura-media-entry.ts +189 -0
- package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.ts +22 -0
- package/src/k-provider/ovp/response-types/kaltura-metadata.ts +50 -0
- package/src/k-provider/ovp/response-types/kaltura-playback-context.ts +95 -0
- package/src/k-provider/ovp/response-types/kaltura-playback-source.ts +89 -0
- package/src/k-provider/ovp/response-types/kaltura-playlist.ts +33 -0
- package/src/k-provider/ovp/response-types/kaltura-rule-action.ts +27 -0
- package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.ts +89 -0
- package/src/k-provider/ovp/response-types/kaltura-user-entry-list-response.ts +30 -0
- package/src/k-provider/ovp/response-types/kaltura-user-entry.ts +57 -0
- package/src/k-provider/ovp/services/analytics/analytics-service.ts +58 -0
- package/src/k-provider/ovp/services/analytics/index.ts +11 -0
- package/src/k-provider/ovp/services/base-entry-service.ts +75 -0
- package/src/k-provider/ovp/services/meta-data-service.ts +29 -0
- package/src/k-provider/ovp/services/ovp-service.ts +32 -0
- package/src/k-provider/ovp/services/playlist-service.ts +95 -0
- package/src/k-provider/ovp/services/session-service.ts +27 -0
- package/src/k-provider/ovp/services/stats/index.ts +11 -0
- package/src/k-provider/ovp/services/stats/stats-service.ts +32 -0
- package/src/k-provider/ovp/services/ui-conf-service.ts +32 -0
- package/src/types/adapter-data-config.ts +1 -0
- package/src/types/caption-type.ts +1 -0
- package/src/types/drm-data.ts +5 -0
- package/src/types/entry-list.ts +6 -0
- package/src/types/env-config.ts +7 -0
- package/src/types/external-caption-object.ts +7 -0
- package/src/types/filter-options.ts +3 -0
- package/src/types/index.ts +34 -0
- package/src/types/loader.ts +7 -0
- package/src/types/media-config-metadata.ts +13 -0
- package/src/types/media-config-session.ts +6 -0
- package/src/types/media-config-sources.ts +20 -0
- package/src/types/media-config.ts +8 -0
- package/src/types/media-entry.ts +16 -0
- package/src/types/media-format.ts +5 -0
- package/src/types/media-info.ts +21 -0
- package/src/types/media-source.ts +12 -0
- package/src/types/media-sources.ts +11 -0
- package/src/types/network-retry-parameters.ts +5 -0
- package/src/types/playback-context.ts +10 -0
- package/src/types/playlist-info.ts +4 -0
- package/src/types/playlist-item.ts +5 -0
- package/src/types/playlist-metadata.ts +4 -0
- package/src/types/playlist.ts +10 -0
- package/src/types/poster.ts +5 -0
- package/src/types/provider-options.ts +17 -0
- package/src/types/request-loader.ts +6 -0
- package/src/util/clone.ts +23 -0
- package/src/util/error/category.ts +11 -0
- package/src/util/error/code.ts +77 -0
- package/src/util/error/error.ts +47 -0
- package/src/util/error/severity.ts +21 -0
- package/src/util/logger.ts +108 -0
- package/src/util/param.ts +45 -0
- package/src/util/request-builder.ts +187 -0
- package/src/util/xml-parser.ts +39 -0
- package/CHANGELOG.md +0 -959
- package/samples/ott/bookmark.html +0 -23
- package/samples/ott/provider.html +0 -28
- package/samples/ovp/provider.html +0 -30
- package/samples/ovp/stats.html +0 -17
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type ProviderMediaConfigMetadataObject = {
|
|
2
|
+
name: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
mediaType?: string;
|
|
5
|
+
contextType?: string;
|
|
6
|
+
metas?: any;
|
|
7
|
+
tags?: any;
|
|
8
|
+
epgId?: string;
|
|
9
|
+
recordingId?: string;
|
|
10
|
+
updatedAt?: number;
|
|
11
|
+
creatorId?: string;
|
|
12
|
+
views?: number;
|
|
13
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {ImageSource} from '../entities/image-source';
|
|
2
|
+
import {ProviderMediaConfigMetadataObject} from './media-config-metadata';
|
|
3
|
+
import {PKExternalCaptionObject} from './external-caption-object';
|
|
4
|
+
import {ProviderMediaSourceObject} from './media-source';
|
|
5
|
+
|
|
6
|
+
export type ProviderMediaConfigSourcesObject = {
|
|
7
|
+
dash: Array<ProviderMediaSourceObject>;
|
|
8
|
+
hls: Array<ProviderMediaSourceObject>;
|
|
9
|
+
progressive: Array<ProviderMediaSourceObject>;
|
|
10
|
+
image: Array<ImageSource>;
|
|
11
|
+
duration?: number;
|
|
12
|
+
type: string;
|
|
13
|
+
id?: string;
|
|
14
|
+
poster?: string | Array<any>;
|
|
15
|
+
dvr: boolean;
|
|
16
|
+
vr?: any;
|
|
17
|
+
metadata: ProviderMediaConfigMetadataObject;
|
|
18
|
+
captions?: Array<PKExternalCaptionObject>;
|
|
19
|
+
downloadUrl?: string;
|
|
20
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import {ProviderMediaConfigSessionObject} from './media-config-session';
|
|
2
|
+
import {ProviderMediaConfigSourcesObject} from './media-config-sources';
|
|
3
|
+
|
|
4
|
+
export type ProviderMediaConfigObject = {
|
|
5
|
+
session: ProviderMediaConfigSessionObject;
|
|
6
|
+
sources: ProviderMediaConfigSourcesObject;
|
|
7
|
+
plugins: {[plugin: string]: any};
|
|
8
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {ProviderMediaSourcesObject} from './media-sources';
|
|
2
|
+
import {Poster} from './poster';
|
|
3
|
+
|
|
4
|
+
export type ProviderMediaEntryObject = {
|
|
5
|
+
id?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
sources: ProviderMediaSourcesObject;
|
|
8
|
+
duration?: number;
|
|
9
|
+
dvrStatus?: number;
|
|
10
|
+
status?: number;
|
|
11
|
+
metadata: any;
|
|
12
|
+
type: string;
|
|
13
|
+
poster?: string | Poster[];
|
|
14
|
+
downloadUrl?: string;
|
|
15
|
+
assetReferenceType?: string;
|
|
16
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {AdapterDataConfig} from './adapter-data-config';
|
|
2
|
+
|
|
3
|
+
export type OVPProviderMediaInfoObject = {
|
|
4
|
+
entryId?: string;
|
|
5
|
+
referenceId?: string;
|
|
6
|
+
ks?: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type OTTProviderMediaInfoObject = OVPProviderMediaInfoObject & {
|
|
10
|
+
mediaType: string;
|
|
11
|
+
contextType: string;
|
|
12
|
+
protocol?: string;
|
|
13
|
+
fileIds?: string;
|
|
14
|
+
streamerType?: string;
|
|
15
|
+
urlType?: string;
|
|
16
|
+
adapterData?: AdapterDataConfig;
|
|
17
|
+
assetReferenceType?: string;
|
|
18
|
+
formats?: Array<string>;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type ProviderMediaInfoObject = OVPProviderMediaInfoObject | OTTProviderMediaInfoObject;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {ProviderDrmDataObject} from './drm-data';
|
|
2
|
+
|
|
3
|
+
export type ProviderMediaSourceObject = {
|
|
4
|
+
id: string;
|
|
5
|
+
url: string;
|
|
6
|
+
mimetype: string;
|
|
7
|
+
bandwidth?: number;
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
|
+
label?: string;
|
|
11
|
+
drmData?: Array<ProviderDrmDataObject>;
|
|
12
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {ImageSource} from '../entities/image-source';
|
|
2
|
+
import {ProviderMediaSourceObject} from './media-source';
|
|
3
|
+
import {PKExternalCaptionObject} from './external-caption-object';
|
|
4
|
+
|
|
5
|
+
export type ProviderMediaSourcesObject = {
|
|
6
|
+
progressive: Array<ProviderMediaSourceObject>;
|
|
7
|
+
dash: Array<ProviderMediaSourceObject>;
|
|
8
|
+
hls: Array<ProviderMediaSourceObject>;
|
|
9
|
+
image: Array<ImageSource>;
|
|
10
|
+
captions?: Array<PKExternalCaptionObject>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {AdapterDataConfig} from './adapter-data-config';
|
|
2
|
+
|
|
3
|
+
export type ProviderPlaybackContextOptions = {
|
|
4
|
+
mediaProtocol?: string;
|
|
5
|
+
assetFileIds?: string;
|
|
6
|
+
context?: string;
|
|
7
|
+
streamerType?: string;
|
|
8
|
+
urlType?: string;
|
|
9
|
+
adapterData?: AdapterDataConfig;
|
|
10
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {ProviderPlaylistMetadataObject} from './playlist-metadata';
|
|
2
|
+
import {ProviderPlaylistItemObject} from './playlist-item';
|
|
3
|
+
|
|
4
|
+
export type ProviderPlaylistObject = {
|
|
5
|
+
id: string;
|
|
6
|
+
metadata: ProviderPlaylistMetadataObject;
|
|
7
|
+
poster: string;
|
|
8
|
+
items: Array<ProviderPlaylistItemObject>;
|
|
9
|
+
playlistLastEntryId?: string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {LoggerType} from '../util/logger';
|
|
2
|
+
import {ProviderEnvConfigObject} from './env-config';
|
|
3
|
+
import {ProviderNetworkRetryParameters} from './network-retry-parameters';
|
|
4
|
+
import {ProviderFilterOptionsObject} from './filter-options';
|
|
5
|
+
|
|
6
|
+
export type ProviderOptionsObject = {
|
|
7
|
+
partnerId: number;
|
|
8
|
+
widgetId?: string;
|
|
9
|
+
logger?: LoggerType;
|
|
10
|
+
ks?: string;
|
|
11
|
+
uiConfId?: number;
|
|
12
|
+
env?: ProviderEnvConfigObject;
|
|
13
|
+
networkRetryParameters?: ProviderNetworkRetryParameters;
|
|
14
|
+
filterOptions?: ProviderFilterOptionsObject;
|
|
15
|
+
ignoreServerConfig?: boolean;
|
|
16
|
+
loadThumbnailWithKs?: boolean;
|
|
17
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const clone = (data): any => {
|
|
2
|
+
let node;
|
|
3
|
+
if (Array.isArray(data)) {
|
|
4
|
+
node = data.length > 0 ? data.slice(0) : [];
|
|
5
|
+
node.forEach((e, i) => {
|
|
6
|
+
if ((typeof e === 'object') || (Array.isArray(e) && e.length > 0)) {
|
|
7
|
+
node[i] = clone(e);
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
} else if (typeof data === 'object') {
|
|
11
|
+
node = Object.assign({}, data);
|
|
12
|
+
Object.keys(node).forEach(key => {
|
|
13
|
+
if ((typeof node[key] === 'object') || (Array.isArray(node[key]) && node[key].length > 0)) {
|
|
14
|
+
node[key] = clone(node[key]);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
} else {
|
|
18
|
+
node = data;
|
|
19
|
+
}
|
|
20
|
+
return node;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export {clone};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
type CodeType = {[code: string]: number};
|
|
2
|
+
|
|
3
|
+
const Code: CodeType = {
|
|
4
|
+
/**
|
|
5
|
+
* A network request was made using an unsupported URI scheme.
|
|
6
|
+
*/
|
|
7
|
+
UNSUPPORTED_SCHEME: 1000,
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* An HTTP network request returned an HTTP status that indicated a failure.
|
|
11
|
+
*/
|
|
12
|
+
BAD_HTTP_STATUS: 1001,
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* An HTTP network request failed with an error, but not from the server.
|
|
16
|
+
*/
|
|
17
|
+
HTTP_ERROR: 1002,
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* A network request timed out.
|
|
21
|
+
*/
|
|
22
|
+
TIMEOUT: 1003,
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A network request was made with a malformed data URI.
|
|
26
|
+
*/
|
|
27
|
+
MALFORMED_DATA_URI: 1004,
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The server responsded with 2xx response, but it couldn't be parsed
|
|
31
|
+
*/
|
|
32
|
+
BAD_SERVER_RESPONSE: 1005,
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The server response had a valid structure but contained an error from the API
|
|
36
|
+
*/
|
|
37
|
+
MULTIREQUEST_API_ERROR: 1006,
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The server response had a valid structure and valid API result, but it did not match the request
|
|
41
|
+
*/
|
|
42
|
+
API_RESPONSE_MISMATCH: 1007,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The server responded with an error
|
|
46
|
+
*/
|
|
47
|
+
ERROR: 2000,
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The server responded with a block action
|
|
51
|
+
*/
|
|
52
|
+
BLOCK_ACTION: 2001,
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The server responded with status import or pre convert
|
|
56
|
+
*/
|
|
57
|
+
MEDIA_STATUS_NOT_READY: 2002,
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The provider is missing mandatory parameter/s
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
MISSING_MANDATORY_PARAMS: 3000,
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The server responded with empty sources objects (for HLS, Dash and progressive)
|
|
67
|
+
*/
|
|
68
|
+
MISSING_PLAY_SOURCE: 3001,
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The provider doesn't implement the called api
|
|
72
|
+
*/
|
|
73
|
+
METHOD_NOT_IMPLEMENTED: 3002
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export {Code};
|
|
77
|
+
export type {CodeType};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import getLogger from '../logger';
|
|
2
|
+
import {Severity} from './severity';
|
|
3
|
+
import type {SeverityType} from './severity';
|
|
4
|
+
import {Code} from './code';
|
|
5
|
+
import type {CodeType} from './code';
|
|
6
|
+
import {Category} from './category';
|
|
7
|
+
import type {CategoryType} from './category';
|
|
8
|
+
|
|
9
|
+
const CLASS_NAME: string = 'Error';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @classdesc This is a description of the error class.
|
|
13
|
+
*/
|
|
14
|
+
export default class Error {
|
|
15
|
+
public severity: number;
|
|
16
|
+
public category: number;
|
|
17
|
+
public code: number;
|
|
18
|
+
public data: any;
|
|
19
|
+
/**
|
|
20
|
+
* @enum {number}
|
|
21
|
+
*/
|
|
22
|
+
public static Severity: SeverityType = Severity;
|
|
23
|
+
/**
|
|
24
|
+
* @enum {number}
|
|
25
|
+
*/
|
|
26
|
+
public static Category: CategoryType = Category;
|
|
27
|
+
/**
|
|
28
|
+
* @enum {number}
|
|
29
|
+
*/
|
|
30
|
+
public static Code: CodeType = Code;
|
|
31
|
+
private static _logger: any = getLogger(CLASS_NAME);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @constructor
|
|
35
|
+
* @param {number} severity - error's severity
|
|
36
|
+
* @param {number} category - error's category.
|
|
37
|
+
* @param {number} code - error's code.
|
|
38
|
+
* @param {any} data - additional data for the error.
|
|
39
|
+
*/
|
|
40
|
+
constructor(severity: number, category: number, code: number, data: any = {}) {
|
|
41
|
+
this.severity = severity;
|
|
42
|
+
this.category = category;
|
|
43
|
+
this.code = code;
|
|
44
|
+
this.data = data;
|
|
45
|
+
Error._logger.error(`Category:${category} | Code:${code} |`, data);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type SeverityType = {[severity: string]: number};
|
|
2
|
+
|
|
3
|
+
const Severity: SeverityType = {
|
|
4
|
+
/**
|
|
5
|
+
* An error occurred, but the Player is attempting to recover from the error.
|
|
6
|
+
*
|
|
7
|
+
* If the Player cannot ultimately recover, it still may not throw a CRITICAL
|
|
8
|
+
* error. For example, retrying for a media segment will never result in
|
|
9
|
+
* a CRITICAL error (the Player will just retry forever).
|
|
10
|
+
*/
|
|
11
|
+
RECOVERABLE: 1,
|
|
12
|
+
/**
|
|
13
|
+
* A critical error that the library cannot recover from. These usually cause
|
|
14
|
+
* the Player to stop loading or updating. A new manifest must be loaded
|
|
15
|
+
* to reset the library.
|
|
16
|
+
*/
|
|
17
|
+
CRITICAL: 2
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export {Severity};
|
|
21
|
+
export type {SeverityType};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export type LogLevelObject = {value: number, name: string};
|
|
2
|
+
export type LogLevelType = {[level: string]: LogLevelObject};
|
|
3
|
+
export type loggerFunctionType = {
|
|
4
|
+
VERSION: string,
|
|
5
|
+
DEBUG: LogLevelObject,
|
|
6
|
+
ERROR: LogLevelObject,
|
|
7
|
+
INFO: LogLevelObject,
|
|
8
|
+
OFF: LogLevelObject,
|
|
9
|
+
TIME: LogLevelObject,
|
|
10
|
+
TRACE: LogLevelObject,
|
|
11
|
+
WARN: LogLevelObject,
|
|
12
|
+
createDefaultHandler: () => any
|
|
13
|
+
debug: () => any
|
|
14
|
+
enabledFor: () => any
|
|
15
|
+
error: () => any
|
|
16
|
+
get: () => any
|
|
17
|
+
getLevel: () => any
|
|
18
|
+
info: () => any
|
|
19
|
+
log: () => any
|
|
20
|
+
setHandler: () => any
|
|
21
|
+
setLevel: () => any
|
|
22
|
+
time: () => any
|
|
23
|
+
timeEnd: () => any
|
|
24
|
+
trace: () => any
|
|
25
|
+
useDefaults: () => any
|
|
26
|
+
warn: () => any
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
type LoggerType = {
|
|
30
|
+
getLogger: loggerFunctionType,
|
|
31
|
+
LogLevel: LogLevelType
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const JsLogger = {
|
|
35
|
+
get: (): any => ({
|
|
36
|
+
VERSION: '',
|
|
37
|
+
DEBUG: {value: '', name: ''},
|
|
38
|
+
ERROR: {value: '', name: ''},
|
|
39
|
+
INFO: {value: '', name: ''},
|
|
40
|
+
OFF: {value: '', name: ''},
|
|
41
|
+
TIME: {value: '', name: ''},
|
|
42
|
+
TRACE: {value: '', name: ''},
|
|
43
|
+
WARN: {value: '', name: ''},
|
|
44
|
+
createDefaultHandler: (): any => {},
|
|
45
|
+
debug: (): any => {},
|
|
46
|
+
enabledFor: (): any => {},
|
|
47
|
+
error: (): any => {},
|
|
48
|
+
get: (): any => {},
|
|
49
|
+
getLevel: (): any => {},
|
|
50
|
+
info: (): any => {},
|
|
51
|
+
log: (): any => {},
|
|
52
|
+
setHandler: (): any => {},
|
|
53
|
+
setLevel: (): any => {},
|
|
54
|
+
time: (): any => {},
|
|
55
|
+
timeEnd: (): any => {},
|
|
56
|
+
trace: (): any => {},
|
|
57
|
+
useDefaults: (): any => {},
|
|
58
|
+
warn: (): any => {}
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
let LogLevel: LogLevelType = {};
|
|
63
|
+
/**
|
|
64
|
+
* set logger
|
|
65
|
+
* @param {LoggerType} logger - the logger
|
|
66
|
+
* @returns {void}
|
|
67
|
+
*/
|
|
68
|
+
function setLogger(logger?: LoggerType): void {
|
|
69
|
+
if (logger && typeof logger.getLogger === 'function') {
|
|
70
|
+
JsLogger.get = logger.getLogger;
|
|
71
|
+
}
|
|
72
|
+
if (logger && logger.LogLevel) {
|
|
73
|
+
LogLevel = logger.LogLevel;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* get a logger
|
|
79
|
+
* @param {?string} name - the logger name
|
|
80
|
+
* @returns {Object} - the logger class
|
|
81
|
+
*/
|
|
82
|
+
function getLogger(name?: string): any {
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
84
|
+
//@ts-ignore
|
|
85
|
+
return JsLogger.get(name);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* get the log level
|
|
90
|
+
* @param {?string} name - the logger name
|
|
91
|
+
* @returns {LogLevelObject} - the log level
|
|
92
|
+
*/
|
|
93
|
+
function getLogLevel(name?: string): LogLevelObject {
|
|
94
|
+
return getLogger(name).getLevel();
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* sets the logger level
|
|
99
|
+
* @param {LogLevelObject} level - the log level
|
|
100
|
+
* @param {?string} name - the logger name
|
|
101
|
+
* @returns {void}
|
|
102
|
+
*/
|
|
103
|
+
function setLogLevel(level: LogLevelObject, name?: string): void {
|
|
104
|
+
getLogger(name).setLevel(level);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export default getLogger;
|
|
108
|
+
export {getLogLevel, setLogLevel, setLogger, LogLevel, LoggerType};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const param = (a): any => {
|
|
2
|
+
const s: string[] = [],
|
|
3
|
+
rbracket = /\[\]$/,
|
|
4
|
+
isArray = function (obj): boolean {
|
|
5
|
+
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
6
|
+
},
|
|
7
|
+
add = function (k, v): any {
|
|
8
|
+
v = typeof v === 'function' ? v() : v === null ? '' : v === undefined ? '' : v;
|
|
9
|
+
s[s.length] = encodeURIComponent(k) + '=' + encodeURIComponent(v);
|
|
10
|
+
},
|
|
11
|
+
buildParams = function (prefix, obj): any {
|
|
12
|
+
let i, len, key;
|
|
13
|
+
|
|
14
|
+
if (prefix) {
|
|
15
|
+
if (isArray(obj)) {
|
|
16
|
+
for (i = 0, len = obj.length; i < len; i++) {
|
|
17
|
+
if (rbracket.test(prefix)) {
|
|
18
|
+
add(prefix, obj[i]);
|
|
19
|
+
} else {
|
|
20
|
+
buildParams(prefix + ':' + (typeof obj[i] === 'object' ? i : ''), obj[i]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
} else if (obj && String(obj) === '[object Object]') {
|
|
24
|
+
for (key in obj) {
|
|
25
|
+
buildParams(prefix + ':' + key, obj[key]);
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
add(prefix, obj);
|
|
29
|
+
}
|
|
30
|
+
} else if (isArray(obj)) {
|
|
31
|
+
for (i = 0, len = obj.length; i < len; i++) {
|
|
32
|
+
add(obj[i].name, obj[i].value);
|
|
33
|
+
}
|
|
34
|
+
} else {
|
|
35
|
+
for (key in obj) {
|
|
36
|
+
buildParams(key, obj[key]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return s;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return buildParams('', a).join('&').replace(/%20/g, '+');
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export {param};
|