@techsee/techsee-media-service 0.5.9 → 0.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@techsee/techsee-media-service",
3
- "version": "0.5.9",
3
+ "version": "0.6.0-alpha.1",
4
4
  "description": "Techsee Media Service Client",
5
5
  "author": "TechSee - Alex Danilov",
6
6
  "main": "lib/index.js",
7
7
  "scripts": {
8
- "preinstall": "npm update @techsee/techsee-common",
9
8
  "prepublishOnly": "npm run build && npm run tag",
10
9
  "postpublish": "npm run clean",
11
10
  "build": "npm run lint-fix && gulp --gulpfile ./.tools/build.js",
package/lib/tracer.d.ts DELETED
@@ -1,35 +0,0 @@
1
- export declare enum TsTracerType {
2
- WebRtcSessionTrace = "WebRtcSessionTrace",
3
- TSMediaServiceHelper = "TSMediaServiceHelper"
4
- }
5
- export interface ITsTracerEvent {
6
- readonly Type: TsTracerType;
7
- readonly Message: string;
8
- readonly Extra: any[];
9
- }
10
- export interface ITsTraceEvent {
11
- (event: ITsTracerEvent): any;
12
- }
13
- export declare class TsTracer {
14
- private _enabled;
15
- private readonly _type;
16
- private readonly _callback;
17
- consoleOutputEnabled: boolean;
18
- constructor(tracerType: TsTracerType, enabled: boolean, callback: ITsTraceEvent);
19
- Enabled: boolean;
20
- readonly TracerType: TsTracerType;
21
- trace(message: string, ...rest: any[]): void;
22
- }
23
- export declare class TsTracers {
24
- private _tracers;
25
- private _callbacks;
26
- constructor();
27
- register(callback: ITsTraceEvent): void;
28
- unregister(callback: ITsTraceEvent): void;
29
- private _add;
30
- enableTracers(value: boolean): void;
31
- enableConsoleOutput(): void;
32
- getTracer(tracerType: TsTracerType): TsTracer | undefined;
33
- }
34
- export declare function getTracers(): TsTracers;
35
- export declare function getTracer(tracerType?: TsTracerType): TsTracer | undefined;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tracer.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACpB,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;CAChD;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,CAAC,KAAK,EAAE,cAAc,GAAG,GAAG,CAAA;CAC/B;AA0BD,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiD;IACvE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IACnC,oBAAoB,EAAE,OAAO,CAAS;gBAEjC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa;IAM3E,OAAO,EAIU,OAAO;aAIxB,UAAU;IAId,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAaxC;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAA4B;;IAY9C,QAAQ,CAAC,QAAQ,EAAE,aAAa;IAMhC,UAAU,CAAC,QAAQ,EAAE,aAAa;IAQlC,OAAO,CAAC,IAAI;IASZ,aAAa,CAAC,KAAK,EAAE,OAAO;IAQ5B,mBAAmB;IAQnB,SAAS,CAAC,UAAU,EAAE,YAAY;CAIrC;AAID,wBAAgB,UAAU,IAAI,SAAS,CAEtC;AAED,wBAAgB,SAAS,CAAC,UAAU,GAAE,YAA8C,wBAGnF","file":"tracer.d.ts","sourcesContent":["export enum TsTracerType {\n WebRtcSessionTrace = 'WebRtcSessionTrace',\n TSMediaServiceHelper = 'TSMediaServiceHelper'\n}\n\nexport interface ITsTracerEvent {\n readonly Type: TsTracerType;\n readonly Message: string;\n readonly Extra: any[];\n}\n\nexport interface ITsTraceEvent {\n (event: ITsTracerEvent): any\n}\n\nclass TsTracerEvent implements ITsTracerEvent {\n private _type: TsTracerType = TsTracerType.WebRtcSessionTrace;\n private _message: string = '';\n private _extra: any[];\n\n constructor(type: TsTracerType, message: string, extra: any[]) {\n this._type = type;\n this._message = message;\n this._extra = extra;\n }\n\n get Type(): TsTracerType {\n return this._type;\n }\n\n get Message(): string {\n return this._message;\n }\n\n get Extra(): any[] {\n return this._extra;\n }\n}\n\nexport class TsTracer {\n private _enabled: boolean = false;\n private readonly _type: TsTracerType = TsTracerType.WebRtcSessionTrace;\n private readonly _callback: ITsTraceEvent;\n public consoleOutputEnabled: boolean = false;\n\n constructor(tracerType: TsTracerType, enabled: boolean, callback: ITsTraceEvent) {\n this._type = tracerType;\n this._enabled = enabled;\n this._callback = callback;\n }\n\n get Enabled() {\n return this._enabled;\n }\n\n set Enabled(enabled: boolean) {\n this._enabled = enabled;\n }\n\n get TracerType() {\n return this._type;\n }\n\n trace(message: string, ...rest: any[]) {\n if (this.consoleOutputEnabled) {\n console.log(`${this._type}:${message}`, ...rest);\n }\n\n if (!this.Enabled) {\n return;\n }\n\n if (this._callback) {\n this._callback(new TsTracerEvent(this._type, message, rest));\n }\n }\n}\n\nexport class TsTracers {\n private _tracers: Array<TsTracer> = [];\n private _callbacks: Array<ITsTraceEvent> = [];\n\n constructor() {\n\n // @ts-ignore\n _.keys(TsTracerType).forEach((tracerType: string) => {\n\n // @ts-ignore\n this._add(TsTracerType[tracerType]);\n });\n }\n\n register(callback: ITsTraceEvent) {\n if (this._callbacks.indexOf(callback) < 0) {\n this._callbacks.push(callback);\n }\n }\n\n unregister(callback: ITsTraceEvent) {\n let index = this._callbacks.indexOf(callback);\n\n if (index >= 0) {\n this._callbacks.splice(index, 1);\n }\n }\n\n private _add(tracerType: TsTracerType) {\n const tracer = new TsTracer(tracerType, false, (event: ITsTracerEvent) => {\n // @ts-ignore\n _.forEach(this._callbacks, (callback) => callback(event));\n });\n\n this._tracers.push(tracer);\n }\n\n enableTracers(value: boolean) {\n // @ts-ignore\n _.forEach(this._tracers, (tracer) => {\n tracer.Enabled = value;\n\n });\n }\n\n enableConsoleOutput() {\n // @ts-ignore\n _.forEach(this._tracers, (tracer) => {\n tracer.consoleOutputEnabled = true;\n\n });\n }\n\n getTracer(tracerType: TsTracerType) {\n // @ts-ignore\n return _.find(this._tracers, (tracer) => tracer.TracerType === tracerType);\n }\n}\n\nconst tracers = new TsTracers();\n\nexport function getTracers(): TsTracers {\n return tracers;\n}\n\nexport function getTracer(tracerType: TsTracerType = TsTracerType.WebRtcSessionTrace) {\n\n return getTracers().getTracer(tracerType);\n}\n"]}
@@ -1 +0,0 @@
1
- export declare function fixDataUrl(dataUrl: string, useHighQuality: boolean): Promise<string>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/ImageFixer.ts"],"names":[],"mappings":"AAOA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpF","file":"ImageFixer.d.ts","sourcesContent":["const FIX_SETTINGS = {\n imageSizeThreshold: 640000, // 0.64 MP images and larger get resized\n highQualityImageSizeThreshold: 16000000, // 4000x4000 MP images and larger get resized\n defaultMime: 'image/jpeg',\n imageQuality: 0.8\n};\n\nexport function fixDataUrl(dataUrl: string, useHighQuality: boolean): Promise<string> {\n return _dataUrlToImage(dataUrl)\n .then((image: any) => {\n const resizeRequirement = _isResizeRequired(image, useHighQuality);\n\n if (resizeRequirement.resized) {\n return _resizeCanvas(image, resizeRequirement);\n }\n\n return dataUrl;\n });\n}\n\nfunction _dataUrlToImage(dataUrl: string) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n\n img.onload = () => resolve(img);\n img.onerror = (err) => reject(err);\n img.src = dataUrl;\n });\n}\n\nfunction _isResizeRequired(image: any, useHighQuality?: boolean) {\n const maxImageSize = useHighQuality\n ? FIX_SETTINGS.highQualityImageSizeThreshold\n : FIX_SETTINGS.imageSizeThreshold;\n\n if (image.naturalWidth * image.naturalHeight > maxImageSize) {\n const ratio = image.naturalWidth / image.naturalHeight,\n newWidth = Math.sqrt(maxImageSize * ratio),\n newHeight = newWidth / ratio;\n\n return {resized: true, width: newWidth, height: newHeight};\n }\n\n return {width: image.naturalWidth, height: image.naturalHeight};\n}\n\nfunction _resizeCanvas(image: any, size: any) {\n const canvas = document.createElement('canvas') as HTMLCanvasElement;\n const ctx = canvas.getContext('2d');\n\n if (!ctx) {\n throw new Error('RESIZE_CANVAS_FAILED');\n }\n\n const {width, height} = size || _isResizeRequired(image);\n\n canvas.width = width;\n canvas.height = height;\n\n ctx.drawImage(image, 0, 0, canvas.width, canvas.height);\n\n return canvas.toDataURL(FIX_SETTINGS.defaultMime, FIX_SETTINGS.imageQuality);\n}\n"]}
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- var FIX_SETTINGS = {
5
- imageSizeThreshold: 640000,
6
- highQualityImageSizeThreshold: 16000000,
7
- defaultMime: 'image/jpeg',
8
- imageQuality: 0.8
9
- };
10
- function fixDataUrl(dataUrl, useHighQuality) {
11
- return _dataUrlToImage(dataUrl).then(function (image) {
12
- var resizeRequirement = _isResizeRequired(image, useHighQuality);
13
- if (resizeRequirement.resized) {
14
- return _resizeCanvas(image, resizeRequirement);
15
- }
16
- return dataUrl;
17
- });
18
- }
19
- exports.fixDataUrl = fixDataUrl;
20
- function _dataUrlToImage(dataUrl) {
21
- return new Promise(function (resolve, reject) {
22
- var img = new Image();
23
- img.onload = function () {
24
- return resolve(img);
25
- };
26
- img.onerror = function (err) {
27
- return reject(err);
28
- };
29
- img.src = dataUrl;
30
- });
31
- }
32
- function _isResizeRequired(image, useHighQuality) {
33
- var maxImageSize = useHighQuality ? FIX_SETTINGS.highQualityImageSizeThreshold : FIX_SETTINGS.imageSizeThreshold;
34
- if (image.naturalWidth * image.naturalHeight > maxImageSize) {
35
- var ratio = image.naturalWidth / image.naturalHeight,
36
- newWidth = Math.sqrt(maxImageSize * ratio),
37
- newHeight = newWidth / ratio;
38
- return { resized: true, width: newWidth, height: newHeight };
39
- }
40
- return { width: image.naturalWidth, height: image.naturalHeight };
41
- }
42
- function _resizeCanvas(image, size) {
43
- var canvas = document.createElement('canvas');
44
- var ctx = canvas.getContext('2d');
45
- if (!ctx) {
46
- throw new Error('RESIZE_CANVAS_FAILED');
47
- }
48
- var _a = size || _isResizeRequired(image),
49
- width = _a.width,
50
- height = _a.height;
51
- canvas.width = width;
52
- canvas.height = height;
53
- ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
54
- return canvas.toDataURL(FIX_SETTINGS.defaultMime, FIX_SETTINGS.imageQuality);
55
- }
56
-
57
- //# sourceMappingURL=ImageFixer.js.map
58
- //# sourceMappingURL=ImageFixer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["utils/ImageFixer.js"],"names":["Object","defineProperty","exports","value","FIX_SETTINGS","imageSizeThreshold","highQualityImageSizeThreshold","defaultMime","imageQuality","fixDataUrl","dataUrl","useHighQuality","_dataUrlToImage","then","image","resizeRequirement","_isResizeRequired","resized","_resizeCanvas","Promise","resolve","reject","img","Image","onload","onerror","err","src","maxImageSize","naturalWidth","naturalHeight","ratio","newWidth","Math","sqrt","newHeight","width","height","size","canvas","document","createElement","ctx","getContext","Error","_a","drawImage","toDataURL"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACA,IAAIC,eAAe;AACfC,wBAAoB,MADL;AAEfC,mCAA+B,QAFhB;AAGfC,iBAAa,YAHE;AAIfC,kBAAc;AAJC,CAAnB;AAMA,SAASC,UAAT,CAAoBC,OAApB,EAA6BC,cAA7B,EAA6C;AACzC,WAAOC,gBAAgBF,OAAhB,EACFG,IADE,CACG,UAAUC,KAAV,EAAiB;AACvB,YAAIC,oBAAoBC,kBAAkBF,KAAlB,EAAyBH,cAAzB,CAAxB;AACA,YAAII,kBAAkBE,OAAtB,EAA+B;AAC3B,mBAAOC,cAAcJ,KAAd,EAAqBC,iBAArB,CAAP;AACH;AACD,eAAOL,OAAP;AACH,KAPM,CAAP;AAQH;AACDR,QAAQO,UAAR,GAAqBA,UAArB;AACA,SAASG,eAAT,CAAyBF,OAAzB,EAAkC;AAC9B,WAAO,IAAIS,OAAJ,CAAY,UAAUC,OAAV,EAAmBC,MAAnB,EAA2B;AAC1C,YAAIC,MAAM,IAAIC,KAAJ,EAAV;AACAD,YAAIE,MAAJ,GAAa,YAAY;AAAE,mBAAOJ,QAAQE,GAAR,CAAP;AAAsB,SAAjD;AACAA,YAAIG,OAAJ,GAAc,UAAUC,GAAV,EAAe;AAAE,mBAAOL,OAAOK,GAAP,CAAP;AAAqB,SAApD;AACAJ,YAAIK,GAAJ,GAAUjB,OAAV;AACH,KALM,CAAP;AAMH;AACD,SAASM,iBAAT,CAA2BF,KAA3B,EAAkCH,cAAlC,EAAkD;AAC9C,QAAIiB,eAAejB,iBACbP,aAAaE,6BADA,GAEbF,aAAaC,kBAFnB;AAGA,QAAIS,MAAMe,YAAN,GAAqBf,MAAMgB,aAA3B,GAA2CF,YAA/C,EAA6D;AACzD,YAAIG,QAAQjB,MAAMe,YAAN,GAAqBf,MAAMgB,aAAvC;AAAA,YAAsDE,WAAWC,KAAKC,IAAL,CAAUN,eAAeG,KAAzB,CAAjE;AAAA,YAAkGI,YAAYH,WAAWD,KAAzH;AACA,eAAO,EAAEd,SAAS,IAAX,EAAiBmB,OAAOJ,QAAxB,EAAkCK,QAAQF,SAA1C,EAAP;AACH;AACD,WAAO,EAAEC,OAAOtB,MAAMe,YAAf,EAA6BQ,QAAQvB,MAAMgB,aAA3C,EAAP;AACH;AACD,SAASZ,aAAT,CAAuBJ,KAAvB,EAA8BwB,IAA9B,EAAoC;AAChC,QAAIC,SAASC,SAASC,aAAT,CAAuB,QAAvB,CAAb;AACA,QAAIC,MAAMH,OAAOI,UAAP,CAAkB,IAAlB,CAAV;AACA,QAAI,CAACD,GAAL,EAAU;AACN,cAAM,IAAIE,KAAJ,CAAU,sBAAV,CAAN;AACH;AACD,QAAIC,KAAKP,QAAQtB,kBAAkBF,KAAlB,CAAjB;AAAA,QAA2CsB,QAAQS,GAAGT,KAAtD;AAAA,QAA6DC,SAASQ,GAAGR,MAAzE;AACAE,WAAOH,KAAP,GAAeA,KAAf;AACAG,WAAOF,MAAP,GAAgBA,MAAhB;AACAK,QAAII,SAAJ,CAAchC,KAAd,EAAqB,CAArB,EAAwB,CAAxB,EAA2ByB,OAAOH,KAAlC,EAAyCG,OAAOF,MAAhD;AACA,WAAOE,OAAOQ,SAAP,CAAiB3C,aAAaG,WAA9B,EAA2CH,aAAaI,YAAxD,CAAP;AACH;;AAED","file":"ImageFixer.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar FIX_SETTINGS = {\n imageSizeThreshold: 640000,\n highQualityImageSizeThreshold: 16000000,\n defaultMime: 'image/jpeg',\n imageQuality: 0.8\n};\nfunction fixDataUrl(dataUrl, useHighQuality) {\n return _dataUrlToImage(dataUrl)\n .then(function (image) {\n var resizeRequirement = _isResizeRequired(image, useHighQuality);\n if (resizeRequirement.resized) {\n return _resizeCanvas(image, resizeRequirement);\n }\n return dataUrl;\n });\n}\nexports.fixDataUrl = fixDataUrl;\nfunction _dataUrlToImage(dataUrl) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = function (err) { return reject(err); };\n img.src = dataUrl;\n });\n}\nfunction _isResizeRequired(image, useHighQuality) {\n var maxImageSize = useHighQuality\n ? FIX_SETTINGS.highQualityImageSizeThreshold\n : FIX_SETTINGS.imageSizeThreshold;\n if (image.naturalWidth * image.naturalHeight > maxImageSize) {\n var ratio = image.naturalWidth / image.naturalHeight, newWidth = Math.sqrt(maxImageSize * ratio), newHeight = newWidth / ratio;\n return { resized: true, width: newWidth, height: newHeight };\n }\n return { width: image.naturalWidth, height: image.naturalHeight };\n}\nfunction _resizeCanvas(image, size) {\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n throw new Error('RESIZE_CANVAS_FAILED');\n }\n var _a = size || _isResizeRequired(image), width = _a.width, height = _a.height;\n canvas.width = width;\n canvas.height = height;\n ctx.drawImage(image, 0, 0, canvas.width, canvas.height);\n return canvas.toDataURL(FIX_SETTINGS.defaultMime, FIX_SETTINGS.imageQuality);\n}\n\n//# sourceMappingURL=ImageFixer.js.map\n"]}