hls-streamer 4.0.2 → 4.5.0

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.
Files changed (54) hide show
  1. package/README.md +218 -17
  2. package/dist/Interfaces/HlsStreamer.d.ts +12 -2
  3. package/dist/Interfaces/HlsStreamer.d.ts.map +1 -1
  4. package/dist/Interfaces/IStorageProvider.d.ts +9 -0
  5. package/dist/Interfaces/IStorageProvider.d.ts.map +1 -0
  6. package/dist/Interfaces/IStorageProvider.js +2 -0
  7. package/dist/Interfaces/IStorageProvider.js.map +1 -0
  8. package/dist/Providers/LocalFileProvider.d.ts +12 -0
  9. package/dist/Providers/LocalFileProvider.d.ts.map +1 -0
  10. package/dist/Providers/LocalFileProvider.js +53 -0
  11. package/dist/Providers/LocalFileProvider.js.map +1 -0
  12. package/dist/Providers/S3Provider.d.ts +26 -0
  13. package/dist/Providers/S3Provider.d.ts.map +1 -0
  14. package/dist/Providers/S3Provider.js +117 -0
  15. package/dist/Providers/S3Provider.js.map +1 -0
  16. package/dist/Providers/index.d.ts +4 -0
  17. package/dist/Providers/index.d.ts.map +1 -0
  18. package/dist/Providers/index.js +3 -0
  19. package/dist/Providers/index.js.map +1 -0
  20. package/dist/cjs/Interfaces/HlsStreamer.d.ts +12 -2
  21. package/dist/cjs/Interfaces/HlsStreamer.d.ts.map +1 -1
  22. package/dist/cjs/Interfaces/IStorageProvider.d.ts +9 -0
  23. package/dist/cjs/Interfaces/IStorageProvider.d.ts.map +1 -0
  24. package/dist/cjs/Interfaces/IStorageProvider.js +3 -0
  25. package/dist/cjs/Interfaces/IStorageProvider.js.map +1 -0
  26. package/dist/cjs/Providers/LocalFileProvider.d.ts +12 -0
  27. package/dist/cjs/Providers/LocalFileProvider.d.ts.map +1 -0
  28. package/dist/cjs/Providers/LocalFileProvider.js +60 -0
  29. package/dist/cjs/Providers/LocalFileProvider.js.map +1 -0
  30. package/dist/cjs/Providers/S3Provider.d.ts +26 -0
  31. package/dist/cjs/Providers/S3Provider.d.ts.map +1 -0
  32. package/dist/cjs/Providers/S3Provider.js +121 -0
  33. package/dist/cjs/Providers/S3Provider.js.map +1 -0
  34. package/dist/cjs/Providers/index.d.ts +4 -0
  35. package/dist/cjs/Providers/index.d.ts.map +1 -0
  36. package/dist/cjs/Providers/index.js +8 -0
  37. package/dist/cjs/Providers/index.js.map +1 -0
  38. package/dist/cjs/errors/HlsStreamerErrors.d.ts +4 -0
  39. package/dist/cjs/errors/HlsStreamerErrors.d.ts.map +1 -1
  40. package/dist/cjs/errors/HlsStreamerErrors.js +14 -1
  41. package/dist/cjs/errors/HlsStreamerErrors.js.map +1 -1
  42. package/dist/cjs/index.d.ts +5 -2
  43. package/dist/cjs/index.d.ts.map +1 -1
  44. package/dist/cjs/index.js +52 -48
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/errors/HlsStreamerErrors.d.ts +4 -0
  47. package/dist/errors/HlsStreamerErrors.d.ts.map +1 -1
  48. package/dist/errors/HlsStreamerErrors.js +12 -0
  49. package/dist/errors/HlsStreamerErrors.js.map +1 -1
  50. package/dist/index.d.ts +5 -2
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +50 -45
  53. package/dist/index.js.map +1 -1
  54. package/package.json +9 -1
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IStorageProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStorageProvider.js","sourceRoot":"","sources":["../../../src/Interfaces/IStorageProvider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { IStorageProvider } from '../Interfaces/IStorageProvider';
2
+ export declare class LocalFileProvider implements IStorageProvider {
3
+ private readonly filePath;
4
+ readonly resourceId: string;
5
+ constructor(filePath: string);
6
+ validateSync(): void;
7
+ getSize(): Promise<number>;
8
+ getRange(start: number, end: number): Promise<Buffer>;
9
+ getHeader(): Promise<Buffer>;
10
+ getBuffer(): Promise<Buffer>;
11
+ }
12
+ //# sourceMappingURL=LocalFileProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalFileProvider.d.ts","sourceRoot":"","sources":["../../../src/Providers/LocalFileProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,qBAAa,iBAAkB,YAAW,gBAAgB;IAG5C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEC,QAAQ,EAAE,MAAM;IAI7C,YAAY,IAAI,IAAI;IAUd,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAarD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;CAGnC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LocalFileProvider = void 0;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const HlsStreamerErrors_1 = require("../errors/HlsStreamerErrors");
9
+ class LocalFileProvider {
10
+ constructor(filePath) {
11
+ Object.defineProperty(this, "filePath", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: filePath
16
+ });
17
+ Object.defineProperty(this, "resourceId", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ this.resourceId = filePath;
24
+ }
25
+ validateSync() {
26
+ if (!node_fs_1.default.existsSync(this.filePath)) {
27
+ throw new HlsStreamerErrors_1.FileNotFoundError(this.filePath);
28
+ }
29
+ const stat = node_fs_1.default.statSync(this.filePath);
30
+ if (!stat.isFile()) {
31
+ throw new HlsStreamerErrors_1.InvalidFileError('Path is not a file');
32
+ }
33
+ }
34
+ async getSize() {
35
+ const stat = await node_fs_1.default.promises.stat(this.filePath);
36
+ return stat.size;
37
+ }
38
+ async getRange(start, end) {
39
+ const length = end - start;
40
+ if (length === 0)
41
+ return Buffer.alloc(0);
42
+ const fd = node_fs_1.default.openSync(this.filePath, 'r');
43
+ try {
44
+ const buffer = Buffer.alloc(length);
45
+ const bytesRead = node_fs_1.default.readSync(fd, buffer, 0, length, start);
46
+ return buffer.subarray(0, bytesRead);
47
+ }
48
+ finally {
49
+ node_fs_1.default.closeSync(fd);
50
+ }
51
+ }
52
+ async getHeader() {
53
+ return this.getRange(0, 64);
54
+ }
55
+ async getBuffer() {
56
+ return node_fs_1.default.promises.readFile(this.filePath);
57
+ }
58
+ }
59
+ exports.LocalFileProvider = LocalFileProvider;
60
+ //# sourceMappingURL=LocalFileProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalFileProvider.js","sourceRoot":"","sources":["../../../src/Providers/LocalFileProvider.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AAEzB,mEAAkF;AAElF,MAAa,iBAAiB;IAG5B,YAA6B,QAAgB;QAAjC;;;;mBAAiB,QAAQ;WAAQ;QAFpC;;;;;WAAmB;QAG1B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,GAAG,iBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,oCAAgB,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,MAAM,iBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,GAAW;QACvC,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;QAC3B,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,iBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,iBAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAa,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,iBAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,iBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF;AA1CD,8CA0CC"}
@@ -0,0 +1,26 @@
1
+ import { IStorageProvider } from '../Interfaces/IStorageProvider';
2
+ export interface S3ProviderOptions {
3
+ bucket: string;
4
+ key: string;
5
+ client?: any;
6
+ clientConfig?: Record<string, any>;
7
+ _commands?: {
8
+ HeadObjectCommand: new (input: any) => any;
9
+ GetObjectCommand: new (input: any) => any;
10
+ };
11
+ }
12
+ export declare class S3Provider implements IStorageProvider {
13
+ readonly resourceId: string;
14
+ private readonly bucket;
15
+ private readonly key;
16
+ private readonly client;
17
+ private readonly HeadObjectCommand;
18
+ private readonly GetObjectCommand;
19
+ constructor(options: S3ProviderOptions);
20
+ getSize(): Promise<number>;
21
+ getRange(start: number, end: number): Promise<Buffer>;
22
+ getHeader(): Promise<Buffer>;
23
+ getBuffer(): Promise<Buffer>;
24
+ private streamToBuffer;
25
+ }
26
+ //# sourceMappingURL=S3Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S3Provider.d.ts","sourceRoot":"","sources":["../../../src/Providers/S3Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnC,SAAS,CAAC,EAAE;QACV,iBAAiB,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;QAC3C,gBAAgB,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;KAC3C,CAAC;CACH;AAED,qBAAa,UAAW,YAAW,gBAAgB;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;gBAE/C,OAAO,EAAE,iBAAiB;IA8BhC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAe1B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBrD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAYpB,cAAc;CAO7B"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.S3Provider = void 0;
4
+ const HlsStreamerErrors_1 = require("../errors/HlsStreamerErrors");
5
+ class S3Provider {
6
+ constructor(options) {
7
+ Object.defineProperty(this, "resourceId", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: void 0
12
+ });
13
+ Object.defineProperty(this, "bucket", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ Object.defineProperty(this, "key", {
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: void 0
24
+ });
25
+ Object.defineProperty(this, "client", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(this, "HeadObjectCommand", {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: void 0
36
+ });
37
+ Object.defineProperty(this, "GetObjectCommand", {
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true,
41
+ value: void 0
42
+ });
43
+ this.bucket = options.bucket;
44
+ this.key = options.key;
45
+ this.resourceId = `s3://${options.bucket}/${options.key}`;
46
+ let sdk;
47
+ if (options._commands) {
48
+ sdk = options._commands;
49
+ }
50
+ else {
51
+ try {
52
+ sdk = require('@aws-sdk/client-s3');
53
+ }
54
+ catch {
55
+ throw new HlsStreamerErrors_1.StorageProviderError('@aws-sdk/client-s3 is not installed. Run: npm install @aws-sdk/client-s3', this.resourceId);
56
+ }
57
+ }
58
+ this.HeadObjectCommand = sdk.HeadObjectCommand;
59
+ this.GetObjectCommand = sdk.GetObjectCommand;
60
+ if (options.client) {
61
+ this.client = options.client;
62
+ }
63
+ else {
64
+ this.client = new sdk.S3Client(options.clientConfig ?? {});
65
+ }
66
+ }
67
+ async getSize() {
68
+ try {
69
+ const res = await this.client.send(new this.HeadObjectCommand({ Bucket: this.bucket, Key: this.key }));
70
+ if (res.ContentLength === undefined) {
71
+ throw new HlsStreamerErrors_1.StorageProviderError('Could not determine object size', this.resourceId);
72
+ }
73
+ return res.ContentLength;
74
+ }
75
+ catch (err) {
76
+ if (err instanceof HlsStreamerErrors_1.StorageProviderError)
77
+ throw err;
78
+ throw new HlsStreamerErrors_1.StorageProviderError(err.message, this.resourceId);
79
+ }
80
+ }
81
+ async getRange(start, end) {
82
+ if (start === end)
83
+ return Buffer.alloc(0);
84
+ try {
85
+ const res = await this.client.send(new this.GetObjectCommand({
86
+ Bucket: this.bucket,
87
+ Key: this.key,
88
+ Range: `bytes=${start}-${end - 1}`,
89
+ }));
90
+ return this.streamToBuffer(res.Body);
91
+ }
92
+ catch (err) {
93
+ if (err instanceof HlsStreamerErrors_1.StorageProviderError)
94
+ throw err;
95
+ throw new HlsStreamerErrors_1.StorageProviderError(err.message, this.resourceId);
96
+ }
97
+ }
98
+ async getHeader() {
99
+ return this.getRange(0, 64);
100
+ }
101
+ async getBuffer() {
102
+ try {
103
+ const res = await this.client.send(new this.GetObjectCommand({ Bucket: this.bucket, Key: this.key }));
104
+ return this.streamToBuffer(res.Body);
105
+ }
106
+ catch (err) {
107
+ if (err instanceof HlsStreamerErrors_1.StorageProviderError)
108
+ throw err;
109
+ throw new HlsStreamerErrors_1.StorageProviderError(err.message, this.resourceId);
110
+ }
111
+ }
112
+ async streamToBuffer(stream) {
113
+ const chunks = [];
114
+ for await (const chunk of stream) {
115
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
116
+ }
117
+ return Buffer.concat(chunks);
118
+ }
119
+ }
120
+ exports.S3Provider = S3Provider;
121
+ //# sourceMappingURL=S3Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S3Provider.js","sourceRoot":"","sources":["../../../src/Providers/S3Provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { LocalFileProvider } from './LocalFileProvider';
2
+ export { S3Provider } from './S3Provider';
3
+ export type { S3ProviderOptions } from './S3Provider';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.S3Provider = exports.LocalFileProvider = void 0;
4
+ var LocalFileProvider_1 = require("./LocalFileProvider");
5
+ Object.defineProperty(exports, "LocalFileProvider", { enumerable: true, get: function () { return LocalFileProvider_1.LocalFileProvider; } });
6
+ var S3Provider_1 = require("./S3Provider");
7
+ Object.defineProperty(exports, "S3Provider", { enumerable: true, get: function () { return S3Provider_1.S3Provider; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Providers/index.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
@@ -16,4 +16,8 @@ export declare class InvalidParameterError extends HlsStreamerError {
16
16
  export declare class UnsupportedFormatError extends HlsStreamerError {
17
17
  constructor(format: string);
18
18
  }
19
+ export declare class StorageProviderError extends HlsStreamerError {
20
+ readonly resourceId?: string | undefined;
21
+ constructor(message: string, resourceId?: string | undefined);
22
+ }
19
23
  //# sourceMappingURL=HlsStreamerErrors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HlsStreamerErrors.d.ts","sourceRoot":"","sources":["../../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,QAAQ,EAAE,MAAM;CAI7B;AAKD,qBAAa,gBAAiB,SAAQ,gBAAgB;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI/C;AAKD,qBAAa,qBAAsB,SAAQ,gBAAgB;gBAC7C,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAI1C;AAKD,qBAAa,sBAAuB,SAAQ,gBAAgB;gBAC9C,MAAM,EAAE,MAAM;CAI3B"}
1
+ {"version":3,"file":"HlsStreamerErrors.d.ts","sourceRoot":"","sources":["../../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,QAAQ,EAAE,MAAM;CAI7B;AAKD,qBAAa,gBAAiB,SAAQ,gBAAgB;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI/C;AAKD,qBAAa,qBAAsB,SAAQ,gBAAgB;gBAC7C,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAI1C;AAKD,qBAAa,sBAAuB,SAAQ,gBAAgB;gBAC9C,MAAM,EAAE,MAAM;CAI3B;AAKD,qBAAa,oBAAqB,SAAQ,gBAAgB;aACX,UAAU,CAAC,EAAE,MAAM;gBAApD,OAAO,EAAE,MAAM,EAAkB,UAAU,CAAC,EAAE,MAAM,YAAA;CAIjE"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnsupportedFormatError = exports.InvalidParameterError = exports.InvalidRangeError = exports.InvalidFileError = exports.FileNotFoundError = exports.HlsStreamerError = void 0;
3
+ exports.StorageProviderError = exports.UnsupportedFormatError = exports.InvalidParameterError = exports.InvalidRangeError = exports.InvalidFileError = exports.FileNotFoundError = exports.HlsStreamerError = void 0;
4
4
  class HlsStreamerError extends Error {
5
5
  constructor(message) {
6
6
  super(message);
@@ -43,4 +43,17 @@ class UnsupportedFormatError extends HlsStreamerError {
43
43
  }
44
44
  }
45
45
  exports.UnsupportedFormatError = UnsupportedFormatError;
46
+ class StorageProviderError extends HlsStreamerError {
47
+ constructor(message, resourceId) {
48
+ super(`Storage provider error${resourceId ? ` for ${resourceId}` : ''}: ${message}`);
49
+ Object.defineProperty(this, "resourceId", {
50
+ enumerable: true,
51
+ configurable: true,
52
+ writable: true,
53
+ value: resourceId
54
+ });
55
+ this.name = 'StorageProviderError';
56
+ }
57
+ }
58
+ exports.StorageProviderError = StorageProviderError;
46
59
  //# sourceMappingURL=HlsStreamerErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HlsStreamerErrors.js","sourceRoot":"","sources":["../../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAKD,MAAa,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,QAAgB;QAC1B,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAKD,MAAa,gBAAiB,SAAQ,gBAAgB;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAKD,MAAa,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,SAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,wBAAwB,SAAS,SAAS,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAKD,MAAa,qBAAsB,SAAQ,gBAAgB;IACzD,YAAY,SAAiB,EAAE,KAAU;QACvC,KAAK,CAAC,sBAAsB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC;AAKD,MAAa,sBAAuB,SAAQ,gBAAgB;IAC1D,YAAY,MAAc;QACxB,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AALD,wDAKC"}
1
+ {"version":3,"file":"HlsStreamerErrors.js","sourceRoot":"","sources":["../../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAKD,MAAa,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,QAAgB;QAC1B,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAKD,MAAa,gBAAiB,SAAQ,gBAAgB;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAKD,MAAa,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,SAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,wBAAwB,SAAS,SAAS,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAKD,MAAa,qBAAsB,SAAQ,gBAAgB;IACzD,YAAY,SAAiB,EAAE,KAAU;QACvC,KAAK,CAAC,sBAAsB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC;AAKD,MAAa,sBAAuB,SAAQ,gBAAgB;IAC1D,YAAY,MAAc;QACxB,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AALD,wDAKC;AAKD,MAAa,oBAAqB,SAAQ,gBAAgB;IACxD,YAAY,OAAe,EAAkB,UAAmB;QAC9D,KAAK,CAAC,yBAAyB,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAD1D;;;;mBAAgB,UAAU;WAAS;QAE9D,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC"}
@@ -1,6 +1,6 @@
1
1
  import { HlsStreamerOptions } from "./Interfaces/HlsStreamer";
2
2
  export declare class HlsStreamer {
3
- private readonly filePath;
3
+ private readonly provider;
4
4
  private readonly segmentSize;
5
5
  private readonly fileName;
6
6
  private readonly baseUrl;
@@ -10,7 +10,7 @@ export declare class HlsStreamer {
10
10
  private segments;
11
11
  constructor(options: HlsStreamerOptions);
12
12
  private validateOptions;
13
- private validateFile;
13
+ private validateFormat;
14
14
  private getFileInfo;
15
15
  getFileBuffer(startByte: number, endByte: number): Promise<Buffer>;
16
16
  createM3U8(): Promise<string>;
@@ -27,4 +27,7 @@ export declare class HlsStreamer {
27
27
  }
28
28
  export * from './Interfaces/HlsStreamer';
29
29
  export * from './errors/HlsStreamerErrors';
30
+ export { LocalFileProvider } from './Providers/LocalFileProvider';
31
+ export { S3Provider } from './Providers/S3Provider';
32
+ export type { S3ProviderOptions } from './Providers/S3Provider';
30
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,0BAA0B,CAAC;AAe1F,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAA4B;gBAKhC,OAAO,EAAE,kBAAkB;IAYvC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;YAoCN,WAAW;IAkBnB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BlE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;YAsCrB,WAAW;IAsFzB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,8BAA8B;IA0BtC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,SAAS;IAQX,YAAY,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAS1C,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAchE;AAGD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,0BAA0B,CAAC;AAgB1F,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,OAAO,EAAE,kBAAkB;IAoBvC,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,cAAc;YAyBR,WAAW;IA+BnB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;YAsCrB,WAAW;IAsFzB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,8BAA8B;IA0BtC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,SAAS;IAOX,YAAY,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAS1C,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAchE;AAGD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -13,19 +13,15 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
16
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.HlsStreamer = void 0;
21
- const node_fs_1 = __importDefault(require("node:fs"));
22
- const node_path_1 = __importDefault(require("node:path"));
17
+ exports.S3Provider = exports.LocalFileProvider = exports.HlsStreamer = void 0;
18
+ const LocalFileProvider_1 = require("./Providers/LocalFileProvider");
23
19
  const FileLib_1 = require("./Libs/FileLib");
24
20
  const FormatDetector_1 = require("./Libs/FormatDetector");
25
21
  const HlsStreamerErrors_1 = require("./errors/HlsStreamerErrors");
26
22
  class HlsStreamer {
27
23
  constructor(options) {
28
- Object.defineProperty(this, "filePath", {
24
+ Object.defineProperty(this, "provider", {
29
25
  enumerable: true,
30
26
  configurable: true,
31
27
  writable: true,
@@ -74,8 +70,16 @@ class HlsStreamer {
74
70
  value: void 0
75
71
  });
76
72
  this.validateOptions(options);
77
- this.validateFile(options.filePath, options.format);
78
- this.filePath = options.filePath;
73
+ if (options.storageProvider) {
74
+ this.provider = options.storageProvider;
75
+ this.provider.validateSync?.();
76
+ }
77
+ else {
78
+ const local = new LocalFileProvider_1.LocalFileProvider(options.filePath);
79
+ local.validateSync();
80
+ this.validateFormat(options.filePath, options.format);
81
+ this.provider = local;
82
+ }
79
83
  this.segmentSize = (options.segmentSizeKB ?? 512) * 1024;
80
84
  this.fileName = options.fileName ?? "file";
81
85
  this.baseUrl = options.baseUrl ?? "";
@@ -83,8 +87,10 @@ class HlsStreamer {
83
87
  this.formatOverride = options.format || undefined;
84
88
  }
85
89
  validateOptions(options) {
86
- if (!options.filePath || typeof options.filePath !== 'string') {
87
- throw new HlsStreamerErrors_1.InvalidParameterError('filePath', options.filePath);
90
+ const hasFilePath = 'filePath' in options && !!options.filePath && typeof options.filePath === 'string';
91
+ const hasProvider = 'storageProvider' in options && !!options.storageProvider;
92
+ if (!hasFilePath && !hasProvider) {
93
+ throw new HlsStreamerErrors_1.InvalidParameterError('filePath or storageProvider', options.filePath ?? undefined);
88
94
  }
89
95
  if (options.segmentSizeKB !== undefined &&
90
96
  (typeof options.segmentSizeKB !== 'number' || options.segmentSizeKB <= 0)) {
@@ -94,41 +100,47 @@ class HlsStreamer {
94
100
  throw new HlsStreamerErrors_1.InvalidParameterError('fileName', options.fileName);
95
101
  }
96
102
  }
97
- validateFile(filePath, format) {
98
- if (!node_fs_1.default.existsSync(filePath)) {
99
- throw new HlsStreamerErrors_1.FileNotFoundError(filePath);
100
- }
101
- const stat = node_fs_1.default.statSync(filePath);
102
- if (!stat.isFile()) {
103
- throw new HlsStreamerErrors_1.InvalidFileError('Path is not a file');
104
- }
103
+ validateFormat(filePath, format) {
105
104
  if (format) {
106
105
  const supportedFormats = ['mp3', 'aac', 'm4a', 'ogg', 'flac', 'wav', 'mp4', 'mov', 'm4v'];
107
106
  if (!supportedFormats.includes(format.toLowerCase())) {
108
107
  throw new HlsStreamerErrors_1.UnsupportedFormatError(format);
109
108
  }
110
109
  }
111
- else {
112
- if (!FormatDetector_1.FormatDetector.isSupportedExtension(filePath)) {
113
- const fd = node_fs_1.default.openSync(filePath, 'r');
114
- try {
115
- const header = new Uint8Array(64);
116
- const bytesRead = node_fs_1.default.readSync(fd, header, 0, header.length, 0);
117
- const detectedFormat = FormatDetector_1.FormatDetector.detectFormat(Buffer.from(header.subarray(0, bytesRead)));
118
- if (!detectedFormat) {
119
- const ext = node_path_1.default.extname(filePath);
120
- throw new HlsStreamerErrors_1.UnsupportedFormatError(ext || 'unknown');
121
- }
122
- }
123
- finally {
124
- node_fs_1.default.closeSync(fd);
110
+ else if (!FormatDetector_1.FormatDetector.isSupportedExtension(filePath)) {
111
+ const fs = require('node:fs');
112
+ const path = require('node:path');
113
+ const fd = fs.openSync(filePath, 'r');
114
+ try {
115
+ const header = new Uint8Array(64);
116
+ const bytesRead = fs.readSync(fd, header, 0, header.length, 0);
117
+ const detectedFormat = FormatDetector_1.FormatDetector.detectFormat(Buffer.from(header.subarray(0, bytesRead)));
118
+ if (!detectedFormat) {
119
+ const ext = path.extname(filePath);
120
+ throw new HlsStreamerErrors_1.UnsupportedFormatError(ext || 'unknown');
125
121
  }
126
122
  }
123
+ finally {
124
+ fs.closeSync(fd);
125
+ }
127
126
  }
128
127
  }
129
128
  async getFileInfo() {
130
129
  if (!this.fileInfo) {
131
- const analysis = await FileLib_1.FileLib.analyzeMediaFile(this.filePath, this.formatOverride);
130
+ const [buffer, size] = await Promise.all([
131
+ this.provider.getBuffer(),
132
+ this.provider.getSize(),
133
+ ]);
134
+ let analysis;
135
+ try {
136
+ analysis = FileLib_1.FileLib.analyzeMediaBuffer(buffer, {
137
+ fileSize: size,
138
+ format: this.formatOverride,
139
+ });
140
+ }
141
+ catch {
142
+ throw new HlsStreamerErrors_1.InvalidFileError('File is empty or format could not be detected');
143
+ }
132
144
  if (analysis.size <= 0) {
133
145
  throw new HlsStreamerErrors_1.InvalidFileError('File is empty');
134
146
  }
@@ -145,19 +157,7 @@ class HlsStreamer {
145
157
  if (endByte > fileInfo.size) {
146
158
  throw new HlsStreamerErrors_1.InvalidRangeError(startByte, endByte);
147
159
  }
148
- const length = endByte - startByte;
149
- const fd = node_fs_1.default.openSync(this.filePath, "r");
150
- try {
151
- if (length === 0) {
152
- return Buffer.alloc(0);
153
- }
154
- const buffer = Buffer.alloc(length);
155
- const bytesRead = node_fs_1.default.readSync(fd, buffer, 0, length, startByte);
156
- return buffer.subarray(0, bytesRead);
157
- }
158
- finally {
159
- node_fs_1.default.closeSync(fd);
160
- }
160
+ return this.provider.getRange(startByte, endByte);
161
161
  }
162
162
  async createM3U8() {
163
163
  const [fileInfo, segments] = await Promise.all([
@@ -307,7 +307,7 @@ class HlsStreamer {
307
307
  }
308
308
  buildSegmentUrl(start, end, index, nameSuffix) {
309
309
  const baseUrlPrefix = this.baseUrl ? `/${this.baseUrl}` : '';
310
- const ext = this.fileInfo?.format || node_path_1.default.extname(this.filePath).toLowerCase().slice(1) || 'mp3';
310
+ const ext = this.fileInfo?.format ?? this.formatOverride ?? 'mp3';
311
311
  const name = nameSuffix !== undefined ? `${this.fileName}${nameSuffix}` : `${this.fileName}${this.padNumber(index, 3)}`;
312
312
  return `${baseUrlPrefix}/${start}/${end}/${name}.${ext}`;
313
313
  }
@@ -347,4 +347,8 @@ class HlsStreamer {
347
347
  exports.HlsStreamer = HlsStreamer;
348
348
  __exportStar(require("./Interfaces/HlsStreamer"), exports);
349
349
  __exportStar(require("./errors/HlsStreamerErrors"), exports);
350
+ var LocalFileProvider_2 = require("./Providers/LocalFileProvider");
351
+ Object.defineProperty(exports, "LocalFileProvider", { enumerable: true, get: function () { return LocalFileProvider_2.LocalFileProvider; } });
352
+ var S3Provider_1 = require("./Providers/S3Provider");
353
+ Object.defineProperty(exports, "S3Provider", { enumerable: true, get: function () { return S3Provider_1.S3Provider; } });
350
354
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,qEAAkE;AAClE,4CAAyC;AACzC,0DAAuD;AACvD,kEAKoC;AAMpC,MAAa,WAAW;IAUtB,YAAY,OAA2B;QATtB;;;;;WAA2B;QAC3B;;;;;WAAoB;QACpB;;;;;WAAiB;QACjB;;;;;WAAgB;QAChB;;;;;WAAyB;QACzB;;;;;WAAmC;QAC5C;;;;;WAAyB;QACzB;;;;;WAAoC;QAG1C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,qCAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtD,KAAK,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IACpD,CAAC;IAEO,eAAe,CAAC,OAA2B;QACjD,MAAM,WAAW,GAAG,UAAU,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACxG,MAAM,WAAW,GAAG,iBAAiB,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAE9E,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,yCAAqB,CAAC,6BAA6B,EAAG,OAAe,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YACnC,CAAC,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,yCAAqB,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,IAAI,yCAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,QAAgB,EAAE,MAAe;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1F,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,0CAAsB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,+BAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE1D,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YAClC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,cAAc,GAAG,+BAAc,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/F,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM,IAAI,0CAAsB,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;aACxB,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,iBAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE;oBAC5C,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI,CAAC,cAAqB;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,oCAAgB,CAAC,+CAA+C,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,oCAAgB,CAAC,eAAe,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,OAAe;QACpD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YAC/E,MAAM,IAAI,qCAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,qCAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAKD,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,oCAAgB,CAAC,0CAA0C,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnG,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvC,MAAM,IAAI,GAAG;YACX,SAAS;YACT,kBAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACnC,0BAA0B;YAC1B,yBAAyB,qBAAqB,EAAE;YAChD,yBAAyB;SAC1B,CAAC;QAEF,IAAI,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,mBAAmB,OAAO,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3E,IAAI,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAE,EAAE;YAC5C,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,WAAW,CAAC;YACpC,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,OAAO,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;gBAG/C,IAAI,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,aAAa,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;oBACvF,MAAM;gBACR,CAAC;gBAED,IAAI,aAAa,GAAG,CAAC,IAAI,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC5E,MAAM;gBACR,CAAC;gBAED,aAAa,GAAG,SAAS,CAAC;gBAC1B,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;gBAC3B,WAAW,EAAE,CAAC;gBAEd,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;oBACjC,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,WAAW,KAAK,eAAe,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAE,CAAC;gBACnC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC9B,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;gBAC3B,WAAW,EAAE,CAAC;YAChB,CAAC;YAED,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAE,CAAC,MAAM,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAEhD,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,GAAG;gBACH,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEnC,OAAO,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,kBAAkB,CAAC,QAAuB;QAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC;QAC3D,OAAO,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAEO,2BAA2B,CAAC,UAAkB;QACpD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,SAAS,GAAG,UAAU,CAAC;QAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,SAAS,IAAI,UAAU,CAAC;YACxB,KAAK,EAAE,CAAC;QACV,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAEO,8BAA8B,CAAC,QAAuB;QAC5D,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEnE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxC,KAAK,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,uBAAuB,CAAC,WAAmB,EAAE,QAAuB;QAC1E,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC,IAAI,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAClE,OAAO,WAAW,GAAG,cAAc,CAAC;QACtC,CAAC;QAED,MAAM,uBAAuB,GAAG,QAAQ,CAAC,cAAc;YACrD,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC;YACtC,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO,WAAW,GAAG,uBAAuB,CAAC;IAC/C,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa,EAAE,UAAmB;QACpF,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;QAClE,MAAM,IAAI,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QACxH,OAAO,GAAG,aAAa,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;IAC3D,CAAC;IAEO,oBAAoB,CAAC,YAAoB;QAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,CAAC;gBACJ,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YAC9B,KAAK,CAAC;gBACJ,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YAC9B;gBACE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAa,EAAE,OAAe;QAC9C,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACpE,CAAC;IAKD,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,yCAAqB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,yCAAqB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;CACF;AAvWD,kCAuWC;AAGD,2DAAyC;AACzC,6DAA2C;AAC3C,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAC1B,qDAAoD;AAA3C,wGAAA,UAAU,OAAA"}
@@ -16,4 +16,8 @@ export declare class InvalidParameterError extends HlsStreamerError {
16
16
  export declare class UnsupportedFormatError extends HlsStreamerError {
17
17
  constructor(format: string);
18
18
  }
19
+ export declare class StorageProviderError extends HlsStreamerError {
20
+ readonly resourceId?: string | undefined;
21
+ constructor(message: string, resourceId?: string | undefined);
22
+ }
19
23
  //# sourceMappingURL=HlsStreamerErrors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HlsStreamerErrors.d.ts","sourceRoot":"","sources":["../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,QAAQ,EAAE,MAAM;CAI7B;AAKD,qBAAa,gBAAiB,SAAQ,gBAAgB;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI/C;AAKD,qBAAa,qBAAsB,SAAQ,gBAAgB;gBAC7C,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAI1C;AAKD,qBAAa,sBAAuB,SAAQ,gBAAgB;gBAC9C,MAAM,EAAE,MAAM;CAI3B"}
1
+ {"version":3,"file":"HlsStreamerErrors.d.ts","sourceRoot":"","sources":["../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,QAAQ,EAAE,MAAM;CAI7B;AAKD,qBAAa,gBAAiB,SAAQ,gBAAgB;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAKD,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI/C;AAKD,qBAAa,qBAAsB,SAAQ,gBAAgB;gBAC7C,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAI1C;AAKD,qBAAa,sBAAuB,SAAQ,gBAAgB;gBAC9C,MAAM,EAAE,MAAM;CAI3B;AAKD,qBAAa,oBAAqB,SAAQ,gBAAgB;aACX,UAAU,CAAC,EAAE,MAAM;gBAApD,OAAO,EAAE,MAAM,EAAkB,UAAU,CAAC,EAAE,MAAM,YAAA;CAIjE"}
@@ -34,4 +34,16 @@ export class UnsupportedFormatError extends HlsStreamerError {
34
34
  this.name = 'UnsupportedFormatError';
35
35
  }
36
36
  }
37
+ export class StorageProviderError extends HlsStreamerError {
38
+ constructor(message, resourceId) {
39
+ super(`Storage provider error${resourceId ? ` for ${resourceId}` : ''}: ${message}`);
40
+ Object.defineProperty(this, "resourceId", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: resourceId
45
+ });
46
+ this.name = 'StorageProviderError';
47
+ }
48
+ }
37
49
  //# sourceMappingURL=HlsStreamerErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HlsStreamerErrors.js","sourceRoot":"","sources":["../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAKD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,QAAgB;QAC1B,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAKD,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAKD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,SAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,wBAAwB,SAAS,SAAS,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAKD,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IACzD,YAAY,SAAiB,EAAE,KAAU;QACvC,KAAK,CAAC,sBAAsB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAKD,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAC1D,YAAY,MAAc;QACxB,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"HlsStreamerErrors.js","sourceRoot":"","sources":["../../src/errors/HlsStreamerErrors.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAKD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,QAAgB;QAC1B,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAKD,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAKD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,SAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,wBAAwB,SAAS,SAAS,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAKD,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IACzD,YAAY,SAAiB,EAAE,KAAU;QACvC,KAAK,CAAC,sBAAsB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAKD,MAAM,OAAO,sBAAuB,SAAQ,gBAAgB;IAC1D,YAAY,MAAc;QACxB,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAKD,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IACxD,YAAY,OAAe,EAAkB,UAAmB;QAC9D,KAAK,CAAC,yBAAyB,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAD1D;;;;mBAAgB,UAAU;WAAS;QAE9D,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}