@camera.ui/common 0.0.33 → 0.0.34

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.
@@ -1,3 +1,7 @@
1
+ export interface BufferOptions {
2
+ checkSize: (buffer: Buffer) => number;
3
+ onData: (data: Buffer) => void;
4
+ }
1
5
  export interface FfmpegProcessOptions {
2
6
  ffmpegPath: string;
3
7
  ffmpegArgs: (string | number)[];
@@ -9,6 +13,7 @@ export interface FfmpegProcessOptions {
9
13
  exitCallback?: (code: number | null, signal: string | null) => unknown;
10
14
  stdoutCallback?: (data: any) => unknown;
11
15
  startedCallback?: () => unknown;
16
+ bufferOptions?: BufferOptions;
12
17
  }
13
18
  export declare class FfmpegProcess {
14
19
  readonly options: FfmpegProcessOptions;
@@ -17,7 +22,12 @@ export declare class FfmpegProcess {
17
22
  private started;
18
23
  private stopped;
19
24
  private exited;
25
+ private buffer;
26
+ private bufferStream?;
27
+ get pid(): number | undefined;
20
28
  constructor(options: FfmpegProcessOptions);
29
+ private handleBufferedData;
21
30
  stop(): void;
22
31
  writeStdin(input: string): void;
32
+ writeStdinBuffer(input: Buffer): void;
23
33
  }
@@ -1,9 +1,8 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { PassThrough } from 'node:stream';
2
3
  import { Subject } from 'rxjs';
3
4
  const noop = () => null;
4
5
  const onGlobalProcessStopped = new Subject();
5
- // register a single event listener, rather than listener per ffmpeg process
6
- // this helps avoid a warning for hitting too many listeners
7
6
  process.on('exit', () => onGlobalProcessStopped.next(null));
8
7
  export class FfmpegProcess {
9
8
  options;
@@ -12,6 +11,11 @@ export class FfmpegProcess {
12
11
  started = false;
13
12
  stopped = false;
14
13
  exited = false;
14
+ buffer = Buffer.alloc(0);
15
+ bufferStream;
16
+ get pid() {
17
+ return this.ff.pid;
18
+ }
15
19
  constructor(options) {
16
20
  this.options = options;
17
21
  const { logger, logLabel } = options;
@@ -21,7 +25,16 @@ export class FfmpegProcess {
21
25
  const ffmpegArgs = options.ffmpegArgs.map((x) => x.toString());
22
26
  logTrace(logPrefix + 'Starting FFmpeg process with args:', options.ffmpegPath, ffmpegArgs.join(' '));
23
27
  this.ff = spawn(options.ffmpegPath, ffmpegArgs);
24
- if (options.stdoutCallback) {
28
+ if (options.bufferOptions) {
29
+ this.bufferStream = new PassThrough();
30
+ this.bufferStream.on('data', (chunk) => {
31
+ this.handleBufferedData(chunk);
32
+ });
33
+ this.ff.stdout.on('data', (data) => {
34
+ this.bufferStream?.write(data);
35
+ });
36
+ }
37
+ else if (options.stdoutCallback) {
25
38
  const { stdoutCallback } = options;
26
39
  this.ff.stdout.on('data', (data) => {
27
40
  stdoutCallback(data);
@@ -50,6 +63,10 @@ export class FfmpegProcess {
50
63
  this.ff.on('exit', (code, signal) => {
51
64
  this.exited = true;
52
65
  this.options.exitCallback?.(code, signal);
66
+ if (this.buffer.length > 0 && this.options.bufferOptions) {
67
+ this.options.bufferOptions.onData(this.buffer);
68
+ this.buffer = Buffer.alloc(0);
69
+ }
53
70
  if (!code || code === 255) {
54
71
  logTrace(logPrefix + 'stopped gracefully');
55
72
  }
@@ -59,12 +76,26 @@ export class FfmpegProcess {
59
76
  this.stop();
60
77
  });
61
78
  }
79
+ handleBufferedData(chunk) {
80
+ if (!this.options.bufferOptions || this.stopped) {
81
+ return;
82
+ }
83
+ this.buffer = Buffer.concat([this.buffer, chunk]);
84
+ let size;
85
+ while ((size = this.options.bufferOptions.checkSize(this.buffer)) > 0) {
86
+ const data = this.buffer.subarray(0, size);
87
+ this.options.bufferOptions.onData(data);
88
+ this.buffer = this.buffer.subarray(size);
89
+ }
90
+ }
62
91
  stop() {
63
92
  if (this.stopped) {
64
93
  return;
65
94
  }
66
95
  this.stopped = true;
67
96
  this.processSubscription.unsubscribe();
97
+ this.bufferStream?.destroy();
98
+ this.buffer = Buffer.alloc(0);
68
99
  this.ff.stderr.pause();
69
100
  this.ff.stdout.pause();
70
101
  if (!this.exited) {
@@ -72,11 +103,15 @@ export class FfmpegProcess {
72
103
  }
73
104
  }
74
105
  writeStdin(input) {
75
- if (this.stopped) {
106
+ if (this.stopped)
76
107
  return;
77
- }
78
108
  this.ff.stdin.write(input);
79
109
  this.ff.stdin.end();
80
110
  }
111
+ writeStdinBuffer(input) {
112
+ if (this.stopped)
113
+ return;
114
+ this.ff.stdin.write(input);
115
+ }
81
116
  }
82
117
  //# sourceMappingURL=ffmpeg-process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ffmpeg-process.js","sourceRoot":"","sources":["../../src/camera/ffmpeg-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AACxB,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAE,CAAC;AAE7C,4EAA4E;AAC5E,4DAA4D;AAC5D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAe5D,MAAM,OAAO,aAAa;IAOI;IANpB,EAAE,CAAiC;IACnC,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAA4B,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/D,QAAQ,CAAC,SAAS,GAAG,oCAAoC,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAErG,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;gBACtC,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI;iBACD,QAAQ,EAAE;iBACV,KAAK,CAAC,IAAI,CAAC;iBACX,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;gBACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAE1C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC1B,QAAQ,CAAC,SAAS,GAAG,oBAAoB,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,SAAS,GAAG,oBAAoB,IAAI,eAAe,MAAM,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"ffmpeg-process.js","sourceRoot":"","sources":["../../src/camera/ffmpeg-process.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,2 @@
1
- export declare const NAL_TYPE_STAP_A = 24;
2
- export declare const NAL_TYPE_FU_A = 28;
3
- export declare const NAL_TYPE_NON_IDR = 1;
4
- export declare const NAL_TYPE_IDR = 5;
5
- export declare const NAL_TYPE_SEI = 6;
6
- export declare const NAL_TYPE_SPS = 7;
7
- export declare const NAL_TYPE_PPS = 8;
8
- export declare const NAL_TYPE_DELIMITER = 9;
9
- export declare const allowedNaluTypes: number[];
10
- export declare function checkMp4StartsWithKeyFrame(mp4: Buffer, ffmpegPath: string): Promise<boolean>;
1
+ import type { FragmentInfo } from '@camera.ui/types';
2
+ export declare function parseMp4Fragment(data: Buffer, isFFmpeg?: boolean): FragmentInfo;
@@ -1,59 +1,115 @@
1
- import { spawn } from 'node:child_process';
2
- // https://yumichan.net/video-processing/video-compression/introduction-to-h264-nal-unit/
3
- export const NAL_TYPE_STAP_A = 24;
4
- export const NAL_TYPE_FU_A = 28;
5
- export const NAL_TYPE_NON_IDR = 1;
6
- export const NAL_TYPE_IDR = 5;
7
- export const NAL_TYPE_SEI = 6;
8
- export const NAL_TYPE_SPS = 7;
9
- export const NAL_TYPE_PPS = 8;
10
- export const NAL_TYPE_DELIMITER = 9;
11
- export const allowedNaluTypes = [NAL_TYPE_STAP_A, NAL_TYPE_SPS, NAL_TYPE_PPS, NAL_TYPE_SEI, NAL_TYPE_DELIMITER];
12
- export async function checkMp4StartsWithKeyFrame(mp4, ffmpegPath) {
13
- return new Promise((resolve, reject) => {
14
- const cp = spawn(ffmpegPath, ['-hide_banner', '-f', 'mp4', '-i', 'pipe:3', '-vcodec', 'copy', '-f', 'h264', 'pipe:4'], {
15
- stdio: ['pipe', 'pipe', 'pipe', 'pipe', 'pipe'],
16
- });
17
- cp.on('error', reject);
18
- const input = cp.stdio[3];
19
- const output = cp.stdio[4];
20
- const buffers = [];
21
- input.write(mp4);
22
- input.end();
23
- output.on('data', (data) => buffers.push(data));
24
- cp.on('exit', async () => {
25
- try {
26
- const h264 = Buffer.concat(buffers);
27
- let offset = 0;
28
- while (offset < h264.length - 6) {
29
- if (h264.readInt32BE(offset) !== 1) {
30
- offset++;
31
- continue;
32
- }
1
+ export function parseMp4Fragment(data, isFFmpeg) {
2
+ const view = new DataView(data.buffer, data.byteOffset, data.length);
3
+ const result = {
4
+ isFtyp: false,
5
+ isMoov: false,
6
+ isKeyframe: false,
7
+ };
8
+ if (data.length < 8) {
9
+ return result;
10
+ }
11
+ const boxes = [];
12
+ let offset = 0;
13
+ while (offset < data.length - 8) {
14
+ const size = view.getUint32(offset);
15
+ if (size === 0 || size > data.length - offset)
16
+ break;
17
+ const boxType = String.fromCharCode(view.getUint8(offset + 4), view.getUint8(offset + 5), view.getUint8(offset + 6), view.getUint8(offset + 7));
18
+ boxes.push(boxType);
19
+ if (boxType === 'ftyp') {
20
+ result.isFtyp = true;
21
+ }
22
+ else if (boxType === 'moov') {
23
+ result.isMoov = true;
24
+ }
25
+ offset += size;
26
+ }
27
+ if (boxes.length === 1 && (result.isFtyp || result.isMoov)) {
28
+ return result;
29
+ }
30
+ const findBox = (start, end, targetType) => {
31
+ let pos = start;
32
+ while (pos < end - 8 && pos + 8 <= data.length) {
33
+ const size = view.getUint32(pos);
34
+ if (size === 0 || size > end - pos)
35
+ break;
36
+ const boxType = String.fromCharCode(view.getUint8(pos + 4), view.getUint8(pos + 5), view.getUint8(pos + 6), view.getUint8(pos + 7));
37
+ if (boxType === targetType)
38
+ return pos;
39
+ pos += size;
40
+ }
41
+ return -1;
42
+ };
43
+ const firstMoofPos = findBox(0, data.length, 'moof');
44
+ if (firstMoofPos === -1) {
45
+ return result;
46
+ }
47
+ if (!boxes.includes('mdat')) {
48
+ return result;
49
+ }
50
+ const moofSize = view.getUint32(firstMoofPos);
51
+ const trafOffset = findBox(firstMoofPos + 8, firstMoofPos + moofSize, 'traf');
52
+ if (trafOffset === -1 || trafOffset + 8 > data.length) {
53
+ return result;
54
+ }
55
+ const trafSize = view.getUint32(trafOffset);
56
+ const tfhdOffset = findBox(trafOffset + 8, trafOffset + trafSize, 'tfhd');
57
+ if (tfhdOffset === -1 || tfhdOffset + 16 > data.length) {
58
+ return result;
59
+ }
60
+ const trackId = view.getUint32(tfhdOffset + 12);
61
+ if (trackId !== 1) {
62
+ return result;
63
+ }
64
+ try {
65
+ if (isFFmpeg) {
66
+ const trunOffset = findBox(trafOffset + 8, trafOffset + trafSize, 'trun');
67
+ if (trunOffset !== -1 && trunOffset + 12 <= data.length) {
68
+ const trunFlags = view.getUint32(trunOffset + 8);
69
+ let offset = trunOffset + 16;
70
+ if (trunFlags & 0x1) {
71
+ // data-offset-present
72
+ if (offset + 4 > data.length)
73
+ return result;
33
74
  offset += 4;
34
- let naluType = h264.readUInt8(offset) & 0x1f;
35
- if (naluType === NAL_TYPE_FU_A) {
36
- offset++;
37
- naluType = h264.readUInt8(offset) & 0x1f;
38
- }
39
- if (naluType === NAL_TYPE_IDR) {
40
- resolve(true);
41
- return;
75
+ }
76
+ if (trunFlags & 0x4 && offset + 4 <= data.length) {
77
+ const firstSampleFlags = view.getUint32(offset);
78
+ result.isKeyframe = (firstSampleFlags & 0x10000) === 0;
79
+ return result;
80
+ }
81
+ if (trunFlags & 0x400 && offset + 4 <= data.length) {
82
+ const sampleFlags = view.getUint32(offset);
83
+ result.isKeyframe = (sampleFlags & 0x10000) === 0;
84
+ return result;
85
+ }
86
+ }
87
+ }
88
+ else {
89
+ const tfhdFlags = view.getUint32(tfhdOffset + 8);
90
+ if (tfhdFlags & 0x020000) {
91
+ // TfhdDefaultSampleFlags
92
+ result.isKeyframe = true;
93
+ }
94
+ else {
95
+ const trunOffset = findBox(trafOffset + 8, trafOffset + trafSize, 'trun');
96
+ if (trunOffset !== -1 && trunOffset + 20 <= data.length) {
97
+ const trunFlags = view.getUint32(trunOffset + 8);
98
+ let offset = trunOffset + 16;
99
+ if (trunFlags & 0x1) {
100
+ offset += 4;
42
101
  }
43
- if (allowedNaluTypes.includes(naluType)) {
44
- offset++;
45
- continue;
102
+ if (trunFlags & 0x4) {
103
+ const firstSampleFlags = view.getUint32(offset);
104
+ result.isKeyframe = (firstSampleFlags & 0x02000000) === 0x02000000;
46
105
  }
47
- resolve(false);
48
- return;
49
106
  }
50
- resolve(false);
51
- }
52
- catch (error) {
53
- reject(error);
54
107
  }
55
- });
56
- setTimeout(() => reject(new Error('Operation timed out')), 1000);
57
- });
108
+ }
109
+ }
110
+ catch {
111
+ return result;
112
+ }
113
+ return result;
58
114
  }
59
115
  //# sourceMappingURL=mp4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mp4.js","sourceRoot":"","sources":["../../src/camera/mp4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mp4.js","sourceRoot":"","sources":["../../src/camera/mp4.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface LoggerOptions {
12
12
  export type LoggerLevel = 'log' | 'warn' | 'error' | 'debug' | 'trace' | 'attention' | 'success';
13
13
  export declare class Logger implements LoggerService {
14
14
  static readonly LOGGER_ID_PREFIX = "##LOG_ID::";
15
- static readonly LOGGER_ID_SUFFIX = "##";
15
+ static readonly LOGGER_ID_SUFFIX = "::LOG_ID_END##";
16
16
  static readonly LOGGER_END = "##LOG_END##";
17
17
  private prefix;
18
18
  private suffix?;
@@ -1,7 +1,7 @@
1
1
  import { bgDarkGray, bgGreen, bgMagenta, bgRed, bgYellow, blue, cyan, darkGray, green, magenta, red, yellow } from 'ansicolor';
2
2
  export class Logger {
3
3
  static LOGGER_ID_PREFIX = '##LOG_ID::';
4
- static LOGGER_ID_SUFFIX = '##';
4
+ static LOGGER_ID_SUFFIX = '::LOG_ID_END##';
5
5
  static LOGGER_END = '##LOG_END##';
6
6
  prefix;
7
7
  suffix;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1 @@
1
- export declare function getNpmPath(): string[];
2
- export declare function getNpmGlobalModulesDirectory(): string;
3
- export declare function getInstallDir(currentDir: string, moduleName: string): string;
4
- export declare function getUserHomeDir(asUser?: string): string;
5
- export declare function isProcessRunning(pid: number): boolean;
1
+ export * from './utils.js';
@@ -1,137 +1,2 @@
1
- import fixPath from '@seydx/fix-path';
2
- import { execSync } from 'node:child_process';
3
- import { existsSync, readFileSync } from 'node:fs';
4
- import { homedir, platform as osPlatform } from 'node:os';
5
- import { basename, dirname, join, sep } from 'node:path';
6
- function isModuleRootDirectory(dir) {
7
- const packageJsonPath = join(dir, 'package.json');
8
- if (!existsSync(packageJsonPath)) {
9
- return false;
10
- }
11
- try {
12
- const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
13
- return isExpectedPackage(packageJson, dir);
14
- }
15
- catch {
16
- return false;
17
- }
18
- }
19
- function isExpectedPackage(packageJson, dir) {
20
- const dirName = basename(dir);
21
- const parentDirName = basename(dirname(dir));
22
- if (parentDirName.startsWith('@')) {
23
- return packageJson.name === `${parentDirName}/${dirName}`;
24
- }
25
- else {
26
- return packageJson.name === dirName;
27
- }
28
- }
29
- export function getNpmPath() {
30
- fixPath();
31
- if (osPlatform() === 'win32') {
32
- // if running on windows find the full path to npm
33
- const windowsNpmPath = [
34
- join(process.env.APPDATA, 'npm/npm.cmd'),
35
- join(process.env.ProgramFiles, 'nodejs/npm.cmd'),
36
- join(process.env.NVM_SYMLINK ?? process.env.ProgramFiles + '/nodejs', 'npm.cmd'),
37
- ].filter(existsSync);
38
- if (windowsNpmPath.length) {
39
- return [windowsNpmPath[0]];
40
- }
41
- }
42
- else {
43
- try {
44
- const npmPath = execSync('which npm').toString().trim();
45
- if (npmPath) {
46
- return [npmPath];
47
- }
48
- }
49
- catch {
50
- //
51
- }
52
- if (existsSync('/opt/homebridge/bin/npm')) {
53
- return ['/opt/homebridge/bin/npm'];
54
- }
55
- }
56
- return ['npm'];
57
- }
58
- export function getNpmGlobalModulesDirectory() {
59
- const npmPath = getNpmPath().join(' ');
60
- const isWindows = osPlatform() === 'win32';
61
- const isSudo = !isWindows && process.getuid?.() === 0;
62
- const npmEnv = Object.assign({
63
- npm_config_loglevel: 'silent',
64
- npm_update_notifier: 'false',
65
- }, process.env);
66
- if (isWindows) {
67
- const npmPrefix = execSync(`"${npmPath}" -g prefix`, {
68
- encoding: 'utf8',
69
- env: npmEnv,
70
- }).trim();
71
- return join(npmPrefix, 'node_modules');
72
- }
73
- else {
74
- const npmPrefix = execSync(`${isSudo ? 'sudo ' : ''}${npmPath} -g prefix`, {
75
- encoding: 'utf8',
76
- env: npmEnv,
77
- }).trim();
78
- return join(npmPrefix, 'lib', 'node_modules');
79
- }
80
- }
81
- export function getInstallDir(currentDir, moduleName) {
82
- const rootDir = dirname(currentDir) === currentDir ? currentDir : sep;
83
- while (currentDir !== rootDir) {
84
- if (isModuleRootDirectory(currentDir)) {
85
- return currentDir;
86
- }
87
- currentDir = dirname(currentDir);
88
- }
89
- const npmPrefix = getNpmGlobalModulesDirectory();
90
- return join(npmPrefix, moduleName);
91
- }
92
- export function getUserHomeDir(asUser) {
93
- const isWindows = osPlatform() === 'win32';
94
- const user = asUser ?? process.env.SUDO_USER ?? process.env.USER;
95
- if (isWindows) {
96
- return process.env.USERPROFILE ?? homedir();
97
- }
98
- try {
99
- if (process.getuid?.() === 0) {
100
- if (user) {
101
- const homeDir = execSync(`eval echo ~${user}`, { encoding: 'utf8' }).trim();
102
- if (homeDir.startsWith('~')) {
103
- throw new Error('Could not resolve user home directory');
104
- }
105
- return homeDir;
106
- }
107
- }
108
- else {
109
- return process.env.HOME ?? homedir();
110
- }
111
- }
112
- catch {
113
- // Fallback
114
- }
115
- // Fallback
116
- return homedir();
117
- }
118
- export function isProcessRunning(pid) {
119
- try {
120
- const platform = osPlatform();
121
- if (platform === 'win32') {
122
- const output = execSync(`tasklist /FI "PID eq ${pid}" /FO CSV /NH`).toString();
123
- return output.toLowerCase().includes(pid.toString());
124
- }
125
- else {
126
- process.kill(pid, 0);
127
- return true;
128
- }
129
- }
130
- catch (error) {
131
- if (error.code === 'EPERM') {
132
- return true;
133
- }
134
- return false;
135
- }
136
- }
1
+ export * from './utils.js';
137
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function getNpmPath(): string[];
2
+ export declare function getNpmGlobalModulesDirectory(): string;
3
+ export declare function getInstallDir(currentDir: string, moduleName: string): string;
4
+ export declare function getUserHomeDir(asUser?: string): string;
5
+ export declare function isProcessRunning(pid: number): boolean;
@@ -0,0 +1,137 @@
1
+ import fixPath from '@seydx/fix-path';
2
+ import { execSync } from 'node:child_process';
3
+ import { existsSync, readFileSync } from 'node:fs';
4
+ import { homedir, platform as osPlatform } from 'node:os';
5
+ import { basename, dirname, join, sep } from 'node:path';
6
+ function isModuleRootDirectory(dir) {
7
+ const packageJsonPath = join(dir, 'package.json');
8
+ if (!existsSync(packageJsonPath)) {
9
+ return false;
10
+ }
11
+ try {
12
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
13
+ return isExpectedPackage(packageJson, dir);
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ }
19
+ function isExpectedPackage(packageJson, dir) {
20
+ const dirName = basename(dir);
21
+ const parentDirName = basename(dirname(dir));
22
+ if (parentDirName.startsWith('@')) {
23
+ return packageJson.name === `${parentDirName}/${dirName}`;
24
+ }
25
+ else {
26
+ return packageJson.name === dirName;
27
+ }
28
+ }
29
+ export function getNpmPath() {
30
+ fixPath();
31
+ if (osPlatform() === 'win32') {
32
+ // if running on windows find the full path to npm
33
+ const windowsNpmPath = [
34
+ join(process.env.APPDATA, 'npm/npm.cmd'),
35
+ join(process.env.ProgramFiles, 'nodejs/npm.cmd'),
36
+ join(process.env.NVM_SYMLINK ?? process.env.ProgramFiles + '/nodejs', 'npm.cmd'),
37
+ ].filter(existsSync);
38
+ if (windowsNpmPath.length) {
39
+ return [windowsNpmPath[0]];
40
+ }
41
+ }
42
+ else {
43
+ try {
44
+ const npmPath = execSync('which npm').toString().trim();
45
+ if (npmPath) {
46
+ return [npmPath];
47
+ }
48
+ }
49
+ catch {
50
+ //
51
+ }
52
+ if (existsSync('/opt/homebridge/bin/npm')) {
53
+ return ['/opt/homebridge/bin/npm'];
54
+ }
55
+ }
56
+ return ['npm'];
57
+ }
58
+ export function getNpmGlobalModulesDirectory() {
59
+ const npmPath = getNpmPath().join(' ');
60
+ const isWindows = osPlatform() === 'win32';
61
+ const isSudo = !isWindows && process.getuid?.() === 0;
62
+ const npmEnv = Object.assign({
63
+ npm_config_loglevel: 'silent',
64
+ npm_update_notifier: 'false',
65
+ }, process.env);
66
+ if (isWindows) {
67
+ const npmPrefix = execSync(`"${npmPath}" -g prefix`, {
68
+ encoding: 'utf8',
69
+ env: npmEnv,
70
+ }).trim();
71
+ return join(npmPrefix, 'node_modules');
72
+ }
73
+ else {
74
+ const npmPrefix = execSync(`${isSudo ? 'sudo ' : ''}${npmPath} -g prefix`, {
75
+ encoding: 'utf8',
76
+ env: npmEnv,
77
+ }).trim();
78
+ return join(npmPrefix, 'lib', 'node_modules');
79
+ }
80
+ }
81
+ export function getInstallDir(currentDir, moduleName) {
82
+ const rootDir = dirname(currentDir) === currentDir ? currentDir : sep;
83
+ while (currentDir !== rootDir) {
84
+ if (isModuleRootDirectory(currentDir)) {
85
+ return currentDir;
86
+ }
87
+ currentDir = dirname(currentDir);
88
+ }
89
+ const npmPrefix = getNpmGlobalModulesDirectory();
90
+ return join(npmPrefix, moduleName);
91
+ }
92
+ export function getUserHomeDir(asUser) {
93
+ const isWindows = osPlatform() === 'win32';
94
+ const user = asUser ?? process.env.SUDO_USER ?? process.env.USER;
95
+ if (isWindows) {
96
+ return process.env.USERPROFILE ?? homedir();
97
+ }
98
+ try {
99
+ if (process.getuid?.() === 0) {
100
+ if (user) {
101
+ const homeDir = execSync(`eval echo ~${user}`, { encoding: 'utf8' }).trim();
102
+ if (homeDir.startsWith('~')) {
103
+ throw new Error('Could not resolve user home directory');
104
+ }
105
+ return homeDir;
106
+ }
107
+ }
108
+ else {
109
+ return process.env.HOME ?? homedir();
110
+ }
111
+ }
112
+ catch {
113
+ // Fallback
114
+ }
115
+ // Fallback
116
+ return homedir();
117
+ }
118
+ export function isProcessRunning(pid) {
119
+ try {
120
+ const platform = osPlatform();
121
+ if (platform === 'win32') {
122
+ const output = execSync(`tasklist /FI "PID eq ${pid}" /FO CSV /NH`).toString();
123
+ return output.toLowerCase().includes(pid.toString());
124
+ }
125
+ else {
126
+ process.kill(pid, 0);
127
+ return true;
128
+ }
129
+ }
130
+ catch (error) {
131
+ if (error.code === 'EPERM') {
132
+ return true;
133
+ }
134
+ return false;
135
+ }
136
+ }
137
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/node/utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { PromiseTimeout } from './utils.js';
1
2
  export class SignalHandler {
2
3
  displayName;
3
4
  isShuttingDown = false;
@@ -31,9 +32,7 @@ export class SignalHandler {
31
32
  this.logger.log(this.displayName, `Received ${signal}. Stopping...`);
32
33
  this.logError(signal, reason, error, promise);
33
34
  try {
34
- const closePromise = this.closeFunction();
35
- const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Graceful shutdown timed out')), this.timeoutDuration));
36
- await Promise.race([closePromise, timeoutPromise]);
35
+ await PromiseTimeout(this.closeFunction(), this.timeoutDuration, undefined, 'Graceful shutdown timed out');
37
36
  }
38
37
  catch (err) {
39
38
  this.logger.warn(this.displayName, `Failed to gracefully close: ${err.message}. Force quitting!`);
@@ -1 +1 @@
1
- {"version":3,"file":"signalHandler.js","sourceRoot":"","sources":["../../src/utils/signalHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signalHandler.js","sourceRoot":"","sources":["../../src/utils/signalHandler.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { AudioCodec } from '@camera.ui/types';
2
2
  export type Customizer<TSource, TTarget> = (objValue: any, srcValue: any, key: string | number | undefined, object: TSource, source: TTarget, stack: any[]) => any;
3
3
  export declare function mergeWith<TSource, TTarget>(sourceObject: TSource, targetObject?: TTarget, customizer?: Customizer<TSource, TTarget>, stack?: any[]): TSource & TTarget;
4
- export declare function timeoutPromise<T>(timeout: number, promise: Promise<T>): Promise<T>;
4
+ export declare function PromiseTimeout<T>(promise: Promise<T>, ms: number, cleanup?: () => void, errorMessage?: string): Promise<T>;
5
+ export declare function AsyncGeneratorTimeout<T>(generator: AsyncGenerator<T>, ms: number, cleanup?: () => void, errorMessage?: string): AsyncGenerator<T>;
5
6
  export declare function toQuery(data: any): string;
6
7
  export declare function toData(query: string): Record<string, any>;
7
8
  export declare function isJson(str: any): boolean;
@@ -32,19 +32,40 @@ export function mergeWith(sourceObject, targetObject, customizer, stack = []) {
32
32
  }
33
33
  return sourceObject;
34
34
  }
35
- export function timeoutPromise(timeout, promise) {
36
- return new Promise((resolve, reject) => {
37
- const t = setTimeout(() => reject(new Error('Operation timed out')), timeout);
38
- promise
39
- .then((v) => {
40
- clearTimeout(t);
41
- resolve(v);
42
- })
43
- .catch((e) => {
44
- clearTimeout(t);
45
- reject(e);
46
- });
35
+ export async function PromiseTimeout(promise, ms, cleanup, errorMessage) {
36
+ let timeoutId;
37
+ const timeoutPromise = new Promise((_, reject) => {
38
+ timeoutId = setTimeout(() => {
39
+ cleanup?.();
40
+ reject(new Error(errorMessage ?? `Operation timed out after ${ms}ms`));
41
+ }, ms);
47
42
  });
43
+ try {
44
+ return await Promise.race([promise, timeoutPromise]);
45
+ }
46
+ finally {
47
+ clearTimeout(timeoutId);
48
+ }
49
+ }
50
+ export async function* AsyncGeneratorTimeout(generator, ms, cleanup, errorMessage) {
51
+ let timeoutId;
52
+ try {
53
+ while (true) {
54
+ const timeoutPromise = new Promise((_, reject) => {
55
+ timeoutId = setTimeout(async () => {
56
+ cleanup?.();
57
+ reject(new Error(errorMessage ?? `Operation timed out after ${ms}ms`));
58
+ }, ms);
59
+ });
60
+ const nextValue = await Promise.race([generator.next(), timeoutPromise]);
61
+ if (nextValue.done)
62
+ break;
63
+ yield nextValue.value;
64
+ }
65
+ }
66
+ finally {
67
+ clearTimeout(timeoutId);
68
+ }
48
69
  }
49
70
  export function toQuery(data) {
50
71
  let query = '';
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,SAAS,CACvB,YAAqB,EACrB,YAAsB,EACtB,UAAyC,EACzC,QAAe,EAAE;IAEjB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAQ,CAAC;IACnD,CAAC;IAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,YAAiC,CAAC;IAC3C,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAI,YAAoB,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAI,YAAoB,CAAC,GAAG,CAAC,CAAC;YAE5C,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;YAEhD,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExH,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACjC,YAAoB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,YAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACjH,YAAoB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GAAI,QAAmB,EAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1G,CAAC;iBAAM,CAAC;gBACL,YAAoB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YACxC,CAAC;YAED,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,YAAiC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,OAAmB,EAAE,EAAU,EAAE,OAAoB,EAAE,YAAqB;IAClH,IAAI,SAAqC,CAAC;IAE1C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACtD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,OAAO,EAAE,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,6BAA6B,EAAE,IAAI,CAAC,CAAC,CAAC;QACzE,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACvD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAAI,SAA4B,EAAE,EAAU,EAAE,OAAoB,EAAE,YAAqB;IACnI,IAAI,SAAqC,CAAC;IAE1C,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtD,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;oBAChC,OAAO,EAAE,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,6BAA6B,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzE,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;YACzE,IAAI,SAAS,CAAC,IAAI;gBAAE,MAAM;YAC1B,MAAM,SAAS,CAAC,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAS;IAC/B,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,EAAE,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAQ;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAU,EAAE,MAAW,EAAE,WAAW,GAAG,KAAK;IAClE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;QAC5G,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC;IAC5C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,SAAS,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;gBAChG,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC/B,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;oBAC/C,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,SAAS,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;oBACvH,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBAChE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM;oBACR,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,KAAK,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,IAAc,EAAE,MAA0B;IAC9E,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,GAAM;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;IACrE,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAsB;IACjE,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAkB;IAC7D,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,YAAqB,EAAE,SAAmC,EAAE,MAAgB;IACnH,OAAO,GAAG;SACP,KAAK,CAAC,MAAM,CAAC;SACb,KAAK,CAAC,CAAC,CAAC;SACR,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC;SAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvB,IAAI,cAAc,EAAE,CAAC;4BACnB,OAAO,4BAA4B,CAAC,KAAmB,CAAC,CAAC;wBAC3D,CAAC;wBACD,IAAI,cAAc,EAAE,CAAC;4BACnB,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;wBAC7C,CAAC;oBACH,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,EAAE;IAC1D,MAAM,EAAE,GAAG,oCAAoC,CAAC;IAChD,MAAM,OAAO,GAAG;QACd,uHAAuH,EAAE,GAAG;QAC5H,0DAA0D;KAC3D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/common",
3
- "version": "0.0.33",
3
+ "version": "0.0.34",
4
4
  "description": "camera.ui utilities",
5
5
  "type": "module",
6
6
  "exports": {
@@ -55,7 +55,7 @@
55
55
  "prepublishOnly": "npm i --package-lock-only && npm run lint:fix && npm run format && npm run build"
56
56
  },
57
57
  "dependencies": {
58
- "@camera.ui/rtsp": "^0.0.44",
58
+ "@camera.ui/rtsp": "^0.0.45",
59
59
  "@seydx/fix-path": "^3.0.1",
60
60
  "ansicolor": "^2.0.3",
61
61
  "msgpackr": "^1.11.2",
@@ -65,17 +65,17 @@
65
65
  "systeminformation": "^5.23.5"
66
66
  },
67
67
  "devDependencies": {
68
- "@camera.ui/types": "^0.0.81",
69
- "@stylistic/eslint-plugin": "^2.10.1",
70
- "@types/node": "^22.9.0",
71
- "@typescript-eslint/parser": "^8.13.0",
72
- "eslint": "^9.14.0",
68
+ "@camera.ui/types": "^0.0.82",
69
+ "@stylistic/eslint-plugin": "^2.11.0",
70
+ "@types/node": "^22.9.1",
71
+ "@typescript-eslint/parser": "^8.15.0",
72
+ "eslint": "^9.15.0",
73
73
  "globals": "^15.12.0",
74
74
  "prettier": "^3.3.3",
75
75
  "rimraf": "^6.0.1",
76
76
  "tsyringe": "^4.8.0",
77
77
  "typescript": "^5.6.3",
78
- "typescript-eslint": "^8.13.0",
78
+ "typescript-eslint": "^8.15.0",
79
79
  "updates": "^16.4.0"
80
80
  },
81
81
  "author": "seydx (https://github.com/seydx/camera.ui)",