@camera.ui/common 0.0.32 → 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.
- package/dist/camera/ffmpeg-process.d.ts +10 -0
- package/dist/camera/ffmpeg-process.js +40 -5
- package/dist/camera/ffmpeg-process.js.map +1 -1
- package/dist/camera/mp4.d.ts +2 -10
- package/dist/camera/mp4.js +108 -52
- package/dist/camera/mp4.js.map +1 -1
- package/dist/logger/index.d.ts +1 -1
- package/dist/logger/index.js +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/node/index.d.ts +1 -5
- package/dist/node/index.js +1 -136
- package/dist/node/index.js.map +1 -1
- package/dist/node/utils.d.ts +5 -0
- package/dist/node/utils.js +137 -0
- package/dist/node/utils.js.map +1 -0
- package/dist/utils/signalHandler.js +2 -3
- package/dist/utils/signalHandler.js.map +1 -1
- package/dist/utils/utils.d.ts +2 -1
- package/dist/utils/utils.js +33 -12
- package/dist/utils/utils.js.map +1 -1
- package/package.json +8 -9
|
@@ -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.
|
|
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,
|
|
1
|
+
{"version":3,"file":"ffmpeg-process.js","sourceRoot":"","sources":["../../src/camera/ffmpeg-process.ts"],"names":[],"mappings":"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"}
|
package/dist/camera/mp4.d.ts
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
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;
|
package/dist/camera/mp4.js
CHANGED
|
@@ -1,59 +1,115 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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 (
|
|
44
|
-
offset
|
|
45
|
-
|
|
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
|
-
|
|
57
|
-
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
58
114
|
}
|
|
59
115
|
//# sourceMappingURL=mp4.js.map
|
package/dist/camera/mp4.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mp4.js","sourceRoot":"","sources":["../../src/camera/mp4.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mp4.js","sourceRoot":"","sources":["../../src/camera/mp4.ts"],"names":[],"mappings":"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"}
|
package/dist/logger/index.d.ts
CHANGED
|
@@ -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?;
|
package/dist/logger/index.js
CHANGED
|
@@ -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;
|
package/dist/logger/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAiB/H,MAAM,OAAO,MAAM;IACV,MAAM,CAAU,gBAAgB,GAAG,YAAY,CAAC;IAChD,MAAM,CAAU,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"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"}
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
export
|
|
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';
|
package/dist/node/index.js
CHANGED
|
@@ -1,137 +1,2 @@
|
|
|
1
|
-
|
|
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
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"signalHandler.js","sourceRoot":"","sources":["../../src/utils/signalHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/utils.d.ts
CHANGED
|
@@ -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
|
|
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;
|
package/dist/utils/utils.js
CHANGED
|
@@ -32,19 +32,40 @@ export function mergeWith(sourceObject, targetObject, customizer, stack = []) {
|
|
|
32
32
|
}
|
|
33
33
|
return sourceObject;
|
|
34
34
|
}
|
|
35
|
-
export function
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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 = '';
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,UAAU,cAAc,CAAI,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camera.ui/common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.34",
|
|
4
4
|
"description": "camera.ui utilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -55,9 +55,8 @@
|
|
|
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.
|
|
58
|
+
"@camera.ui/rtsp": "^0.0.45",
|
|
59
59
|
"@seydx/fix-path": "^3.0.1",
|
|
60
|
-
"@types/sdp-transform": "^2.4.9",
|
|
61
60
|
"ansicolor": "^2.0.3",
|
|
62
61
|
"msgpackr": "^1.11.2",
|
|
63
62
|
"nats": "^2.28.2",
|
|
@@ -66,17 +65,17 @@
|
|
|
66
65
|
"systeminformation": "^5.23.5"
|
|
67
66
|
},
|
|
68
67
|
"devDependencies": {
|
|
69
|
-
"@camera.ui/types": "^0.0.
|
|
70
|
-
"@stylistic/eslint-plugin": "^2.
|
|
71
|
-
"@types/node": "^22.9.
|
|
72
|
-
"@typescript-eslint/parser": "^8.
|
|
73
|
-
"eslint": "^9.
|
|
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",
|
|
74
73
|
"globals": "^15.12.0",
|
|
75
74
|
"prettier": "^3.3.3",
|
|
76
75
|
"rimraf": "^6.0.1",
|
|
77
76
|
"tsyringe": "^4.8.0",
|
|
78
77
|
"typescript": "^5.6.3",
|
|
79
|
-
"typescript-eslint": "^8.
|
|
78
|
+
"typescript-eslint": "^8.15.0",
|
|
80
79
|
"updates": "^16.4.0"
|
|
81
80
|
},
|
|
82
81
|
"author": "seydx (https://github.com/seydx/camera.ui)",
|