@camera.ui/common 0.0.42 → 0.0.44

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 (68) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +5 -1
  3. package/dist/camera/codec-hardware.js +2 -2
  4. package/dist/camera/codec-hardware.js.map +1 -1
  5. package/dist/camera/ffmpeg.d.ts +18 -1
  6. package/dist/camera/ffmpeg.js +0 -17
  7. package/dist/camera/ffmpeg.js.map +1 -1
  8. package/dist/camera/index.d.ts +0 -1
  9. package/dist/camera/index.js +0 -1
  10. package/dist/camera/index.js.map +1 -1
  11. package/dist/camera/rtp-splitter.js +2 -2
  12. package/dist/camera/rtp-splitter.js.map +1 -1
  13. package/dist/camera/utils.d.ts +8 -5
  14. package/dist/camera/utils.js +112 -144
  15. package/dist/camera/utils.js.map +1 -1
  16. package/dist/logger/index.d.ts +80 -33
  17. package/dist/logger/index.js +312 -106
  18. package/dist/logger/index.js.map +1 -1
  19. package/dist/logger/types.d.ts +82 -0
  20. package/dist/logger/types.js +2 -0
  21. package/dist/logger/types.js.map +1 -0
  22. package/dist/net/index.d.ts +2 -6
  23. package/dist/net/index.js +2 -71
  24. package/dist/net/index.js.map +1 -1
  25. package/dist/net/monitor.d.ts +34 -0
  26. package/dist/net/monitor.js +87 -0
  27. package/dist/net/monitor.js.map +1 -0
  28. package/dist/net/utils.d.ts +6 -0
  29. package/dist/net/utils.js +72 -0
  30. package/dist/net/utils.js.map +1 -0
  31. package/dist/network/index.d.ts +4 -0
  32. package/dist/network/index.js +72 -0
  33. package/dist/network/index.js.map +1 -1
  34. package/dist/node/index.d.ts +1 -0
  35. package/dist/node/index.js +1 -0
  36. package/dist/node/index.js.map +1 -1
  37. package/dist/node/transform.d.ts +8 -0
  38. package/dist/node/transform.js +19 -0
  39. package/dist/node/transform.js.map +1 -0
  40. package/dist/utils/env.js +5 -4
  41. package/dist/utils/env.js.map +1 -1
  42. package/dist/utils/index.d.ts +1 -0
  43. package/dist/utils/index.js +1 -0
  44. package/dist/utils/index.js.map +1 -1
  45. package/dist/utils/promise.d.ts +8 -0
  46. package/dist/utils/promise.js +19 -0
  47. package/dist/utils/promise.js.map +1 -0
  48. package/dist/utils/reactive.d.ts +2 -2
  49. package/dist/utils/reactive.js +1 -2
  50. package/dist/utils/reactive.js.map +1 -1
  51. package/dist/utils/signalHandler.d.ts +1 -1
  52. package/dist/utils/signalHandler.js +1 -1
  53. package/dist/utils/signalHandler.js.map +1 -1
  54. package/dist/utils/subscribed.d.ts +6 -6
  55. package/dist/utils/subscribed.js +4 -4
  56. package/dist/utils/subscribed.js.map +1 -1
  57. package/dist/utils/utils.d.ts +1 -2
  58. package/dist/utils/utils.js +0 -3
  59. package/dist/utils/utils.js.map +1 -1
  60. package/package.json +23 -21
  61. package/CHANGELOG.md +0 -8
  62. package/CONTRIBUTING.md +0 -1
  63. package/dist/camera/mp4.d.ts +0 -2
  64. package/dist/camera/mp4.js +0 -115
  65. package/dist/camera/mp4.js.map +0 -1
  66. package/dist/logger/test.d.ts +0 -1
  67. package/dist/logger/test.js +0 -103
  68. package/dist/logger/test.js.map +0 -1
package/dist/net/index.js CHANGED
@@ -1,72 +1,3 @@
1
- import { createConnection } from 'node:net';
2
- export class StreamEndError extends Error {
3
- constructor() {
4
- super('stream ended');
5
- }
6
- }
7
- export async function readLength(readable, length) {
8
- if (readable.readableEnded || readable.destroyed)
9
- throw new StreamEndError();
10
- if (!length) {
11
- return Buffer.allocUnsafe(0);
12
- }
13
- {
14
- const ret = readable.read(length);
15
- if (ret) {
16
- return ret;
17
- }
18
- }
19
- return new Promise((resolve, reject) => {
20
- const r = () => {
21
- const ret = readable.read(length);
22
- if (ret) {
23
- cleanup();
24
- resolve(ret);
25
- return;
26
- }
27
- if (readable.readableEnded || readable.destroyed)
28
- reject(new Error('stream ended during read'));
29
- };
30
- const e = () => {
31
- cleanup();
32
- reject(new StreamEndError());
33
- };
34
- const cleanup = () => {
35
- readable.removeListener('readable', r);
36
- readable.removeListener('end', e);
37
- };
38
- readable.on('readable', r);
39
- readable.on('end', e);
40
- });
41
- }
42
- export function isPortInUse(port) {
43
- return new Promise((resolve) => {
44
- const tester = createConnection({ port: port, host: 'localhost' });
45
- const cleanup = () => {
46
- try {
47
- tester.removeAllListeners();
48
- tester.destroy();
49
- tester.unref();
50
- }
51
- catch {
52
- //
53
- }
54
- };
55
- const onConnect = () => {
56
- cleanup();
57
- resolve(true);
58
- };
59
- const onError = (err) => {
60
- cleanup();
61
- if (err.code === 'ECONNREFUSED') {
62
- resolve(false);
63
- }
64
- else {
65
- resolve(true);
66
- }
67
- };
68
- tester.on('connect', onConnect);
69
- tester.on('error', onError);
70
- });
71
- }
1
+ export * from './monitor.js';
2
+ export * from './utils.js';
72
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/net/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/net/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { EventEmitter } from 'node:events';
2
+ export interface MonitoringOptions {
3
+ host: string;
4
+ port: number;
5
+ interval?: number;
6
+ timeout?: number;
7
+ }
8
+ export interface MonitoringResult {
9
+ host: string;
10
+ port: number;
11
+ alive: boolean;
12
+ error?: string;
13
+ }
14
+ export declare interface Monitor {
15
+ on(event: 'status', listener: (info: MonitoringResult) => void): this;
16
+ }
17
+ export declare class Monitor extends EventEmitter {
18
+ private host;
19
+ private port;
20
+ private interval;
21
+ private timeout;
22
+ private isAlive;
23
+ private intervalId?;
24
+ constructor(options: MonitoringOptions);
25
+ start(): Promise<void>;
26
+ stop(): void;
27
+ getStatus(): boolean;
28
+ getDestination(): {
29
+ host: string;
30
+ port: number;
31
+ };
32
+ private check;
33
+ private performCheck;
34
+ }
@@ -0,0 +1,87 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import { Socket } from 'node:net';
3
+ export class Monitor extends EventEmitter {
4
+ host;
5
+ port;
6
+ interval;
7
+ timeout;
8
+ isAlive = true;
9
+ intervalId;
10
+ constructor(options) {
11
+ super();
12
+ this.host = options.host;
13
+ this.port = options.port;
14
+ this.interval = options.interval ?? 5000;
15
+ this.timeout = options.timeout ?? 3000;
16
+ }
17
+ async start() {
18
+ await this.performCheck();
19
+ this.intervalId = setInterval(() => {
20
+ this.performCheck();
21
+ }, this.interval);
22
+ }
23
+ stop() {
24
+ if (this.intervalId) {
25
+ clearInterval(this.intervalId);
26
+ this.intervalId = undefined;
27
+ }
28
+ }
29
+ getStatus() {
30
+ return this.isAlive;
31
+ }
32
+ getDestination() {
33
+ return {
34
+ host: this.host,
35
+ port: this.port,
36
+ };
37
+ }
38
+ async check() {
39
+ return new Promise((resolve) => {
40
+ const socket = new Socket();
41
+ let resolved = false;
42
+ const cleanup = () => {
43
+ if (!resolved) {
44
+ resolved = true;
45
+ socket.destroy();
46
+ }
47
+ };
48
+ const timer = setTimeout(() => {
49
+ cleanup();
50
+ resolve({
51
+ host: this.host,
52
+ port: this.port,
53
+ alive: false,
54
+ });
55
+ }, this.timeout);
56
+ socket.on('connect', () => {
57
+ clearTimeout(timer);
58
+ cleanup();
59
+ resolve({
60
+ host: this.host,
61
+ port: this.port,
62
+ alive: true,
63
+ });
64
+ });
65
+ socket.on('error', () => {
66
+ clearTimeout(timer);
67
+ cleanup();
68
+ resolve({
69
+ host: this.host,
70
+ port: this.port,
71
+ alive: false,
72
+ });
73
+ });
74
+ socket.connect(this.port, this.host);
75
+ });
76
+ }
77
+ async performCheck() {
78
+ const result = await this.check();
79
+ const wasAlive = this.isAlive;
80
+ // Status hat sich geändert
81
+ if (result.alive !== wasAlive) {
82
+ this.isAlive = result.alive;
83
+ this.emit('status', result);
84
+ }
85
+ }
86
+ }
87
+ //# sourceMappingURL=monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/net/monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Readable } from 'node:stream';
2
+ export declare class StreamEndError extends Error {
3
+ constructor();
4
+ }
5
+ export declare function readLength(readable: Readable, length: number): Promise<Buffer>;
6
+ export declare function isPortInUse(port: number): Promise<boolean>;
@@ -0,0 +1,72 @@
1
+ import { createConnection } from 'node:net';
2
+ export class StreamEndError extends Error {
3
+ constructor() {
4
+ super('stream ended');
5
+ }
6
+ }
7
+ export async function readLength(readable, length) {
8
+ if (readable.readableEnded || readable.destroyed)
9
+ throw new StreamEndError();
10
+ if (!length) {
11
+ return Buffer.allocUnsafe(0);
12
+ }
13
+ {
14
+ const ret = readable.read(length);
15
+ if (ret) {
16
+ return ret;
17
+ }
18
+ }
19
+ return new Promise((resolve, reject) => {
20
+ const r = () => {
21
+ const ret = readable.read(length);
22
+ if (ret) {
23
+ cleanup();
24
+ resolve(ret);
25
+ return;
26
+ }
27
+ if (readable.readableEnded || readable.destroyed)
28
+ reject(new Error('stream ended during read'));
29
+ };
30
+ const e = () => {
31
+ cleanup();
32
+ reject(new StreamEndError());
33
+ };
34
+ const cleanup = () => {
35
+ readable.removeListener('readable', r);
36
+ readable.removeListener('end', e);
37
+ };
38
+ readable.on('readable', r);
39
+ readable.on('end', e);
40
+ });
41
+ }
42
+ export function isPortInUse(port) {
43
+ return new Promise((resolve) => {
44
+ const tester = createConnection({ port: port, host: 'localhost' });
45
+ const cleanup = () => {
46
+ try {
47
+ tester.removeAllListeners();
48
+ tester.destroy();
49
+ tester.unref();
50
+ }
51
+ catch {
52
+ //
53
+ }
54
+ };
55
+ const onConnect = () => {
56
+ cleanup();
57
+ resolve(true);
58
+ };
59
+ const onError = (err) => {
60
+ cleanup();
61
+ if (err.code === 'ECONNREFUSED') {
62
+ resolve(false);
63
+ }
64
+ else {
65
+ resolve(true);
66
+ }
67
+ };
68
+ tester.on('connect', onConnect);
69
+ tester.on('error', onError);
70
+ });
71
+ }
72
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/net/utils.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,11 @@ export interface UsableNetworkAddress {
6
6
  }
7
7
  export declare const isIPv4EmbeddedIPv6: (ip: string) => boolean;
8
8
  export declare const extractPureIPAddress: (address: string) => string;
9
+ export declare function buildHttpsUrl(address: string, port: number): string;
9
10
  export declare const isValidNetworkAddress: (ip: string) => boolean;
10
11
  export declare const isInternalNetworkAddress: (ip: string) => boolean;
12
+ export declare function isLoopbackAddress(ip: string): boolean;
13
+ export declare function isLoopbackHost(host: string): boolean;
14
+ export declare function isLanClientAddress(remoteIp: string | undefined, localIp: string | undefined): boolean;
11
15
  export declare const fetchViableNetworkAddresses: () => UsableNetworkAddress[];
12
16
  export declare const getSystemNetworkInterfaces: () => Promise<Systeminformation.NetworkInterfacesData[]>;
@@ -1,3 +1,4 @@
1
+ import net from 'node:net';
1
2
  import { networkInterfaces } from 'os';
2
3
  import { networkInterfaces as ni } from 'systeminformation';
3
4
  class IPRange {
@@ -39,6 +40,7 @@ class IPRange {
39
40
  const unusableRanges = new IPRange([
40
41
  ['127.0.0.0', 8],
41
42
  ['169.254.0.0', 16],
43
+ ['100.64.0.0', 10], // CG-NAT (also Tailscale's overlay range) — never routable from outside that overlay
42
44
  ['0.0.0.0', 8],
43
45
  ['240.0.0.0', 4],
44
46
  ['::1', 128, 'ipv6'],
@@ -52,6 +54,11 @@ const privateRanges = new IPRange([
52
54
  ]);
53
55
  export const isIPv4EmbeddedIPv6 = (ip) => ip.includes(':') && ip.startsWith('::ffff:');
54
56
  export const extractPureIPAddress = (address) => (isIPv4EmbeddedIPv6(address) ? address.slice(7) : address);
57
+ export function buildHttpsUrl(address, port) {
58
+ const clean = extractPureIPAddress(address);
59
+ const hostPart = clean.includes(':') ? `[${clean}]` : clean;
60
+ return `https://${hostPart}:${port}`;
61
+ }
55
62
  export const isValidNetworkAddress = (ip) => {
56
63
  if (!ip)
57
64
  return false;
@@ -69,6 +76,71 @@ export const isInternalNetworkAddress = (ip) => {
69
76
  const version = cleanedIp.includes(':') ? 'ipv6' : 'ipv4';
70
77
  return privateRanges.check(cleanedIp, version);
71
78
  };
79
+ export function isLoopbackAddress(ip) {
80
+ if (!ip)
81
+ return false;
82
+ if (ip === '127.0.0.1' || ip === '::1')
83
+ return true;
84
+ if (ip.startsWith('::ffff:127.'))
85
+ return true;
86
+ return false;
87
+ }
88
+ export function isLoopbackHost(host) {
89
+ if (!host)
90
+ return false;
91
+ let hostname = host;
92
+ if (hostname.startsWith('[')) {
93
+ const close = hostname.indexOf(']');
94
+ if (close === -1)
95
+ return false;
96
+ hostname = hostname.slice(1, close);
97
+ }
98
+ else {
99
+ const colon = hostname.lastIndexOf(':');
100
+ if (colon !== -1 && !hostname.includes('::'))
101
+ hostname = hostname.slice(0, colon);
102
+ }
103
+ if (hostname === 'localhost')
104
+ return true;
105
+ return isLoopbackAddress(hostname);
106
+ }
107
+ export function isLanClientAddress(remoteIp, localIp) {
108
+ if (!remoteIp || !localIp)
109
+ return false;
110
+ if (isLoopbackAddress(localIp))
111
+ return false;
112
+ const remote = extractPureIPAddress(remoteIp);
113
+ const local = extractPureIPAddress(localIp);
114
+ if (net.isIPv4(remote)) {
115
+ if (remote === '127.0.0.1')
116
+ return true;
117
+ if (remote.startsWith('10.') || remote.startsWith('192.168.'))
118
+ return true;
119
+ if (/^172\.(1[6-9]|2\d|3[01])\./.test(remote))
120
+ return true;
121
+ return false;
122
+ }
123
+ if (net.isIPv6(remote)) {
124
+ const r = remote.toLowerCase();
125
+ if (r === '::1')
126
+ return true;
127
+ if (r.startsWith('fc') || r.startsWith('fd'))
128
+ return true;
129
+ if (r.startsWith('fe80:'))
130
+ return true;
131
+ if (net.isIPv6(local)) {
132
+ try {
133
+ const block = new net.BlockList();
134
+ block.addSubnet(local, 64, 'ipv6');
135
+ return block.check(remote, 'ipv6');
136
+ }
137
+ catch {
138
+ return false;
139
+ }
140
+ }
141
+ }
142
+ return false;
143
+ }
72
144
  export const fetchViableNetworkAddresses = () => {
73
145
  const interfaces = Object.values(networkInterfaces())
74
146
  .flat()
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
+ export * from './transform.js';
1
2
  export * from './utils.js';
@@ -1,2 +1,3 @@
1
+ export * from './transform.js';
1
2
  export * from './utils.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Transform } from 'node:stream';
2
+ import type { TransformOptions } from 'node:stream';
3
+ export declare class ChunkParser extends Transform {
4
+ private buffer;
5
+ private readonly chunkSize;
6
+ constructor(chunkSize: number, opts?: TransformOptions);
7
+ _transform(chunk: Buffer, _encoding: string, callback: Function): void;
8
+ }
@@ -0,0 +1,19 @@
1
+ import { Transform } from 'node:stream';
2
+ export class ChunkParser extends Transform {
3
+ buffer = Buffer.alloc(0);
4
+ chunkSize;
5
+ constructor(chunkSize, opts) {
6
+ super(opts);
7
+ this.chunkSize = chunkSize;
8
+ }
9
+ _transform(chunk, _encoding, callback) {
10
+ this.buffer = Buffer.concat([this.buffer, chunk]);
11
+ while (this.buffer.length >= this.chunkSize) {
12
+ const data = this.buffer.subarray(0, this.chunkSize);
13
+ this.buffer = this.buffer.subarray(this.chunkSize);
14
+ this.push(data);
15
+ }
16
+ callback();
17
+ }
18
+ }
19
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/node/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,MAAM,OAAO,WAAY,SAAQ,SAAS;IAChC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,SAAS,CAAS;IAEnC,YAAY,SAAiB,EAAE,IAAuB;QACpD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,SAAiB,EAAE,QAAkB;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,QAAQ,EAAE,CAAC;IACb,CAAC;CACF"}
package/dist/utils/env.js CHANGED
@@ -1,7 +1,8 @@
1
- export const IS_DEV = process.env.NODE_ENV === 'development';
2
- export const IS_DOCKER = process.env.CAMERA_UI_RUNMODE === 'docker';
3
- export const IS_ELECTRON = process.env.CAMERA_UI_RUNMODE === 'electron';
4
- export const IS_HA = process.env.CAMERA_UI_RUNMODE === 'homeassistant';
1
+ const env = typeof process !== 'undefined' && process.env ? process.env : {};
2
+ export const IS_DEV = env.NODE_ENV === 'development';
3
+ export const IS_DOCKER = env.CAMERA_UI_RUNMODE === 'docker';
4
+ export const IS_ELECTRON = env.CAMERA_UI_RUNMODE === 'electron';
5
+ export const IS_HA = env.CAMERA_UI_RUNMODE === 'homeassistant';
5
6
  // Todo: change after release
6
7
  export const APP_CLI_NAME = 'camera.ui3';
7
8
  export const APP_SERVER_NAME = '@camera.ui/server';
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,QAAQ,CAAC;AACpE,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,UAAU,CAAC;AACxE,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,eAAe,CAAC;AAEvE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAAuC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAEjH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AACrD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,iBAAiB,KAAK,QAAQ,CAAC;AAC5D,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,iBAAiB,KAAK,UAAU,CAAC;AAChE,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,KAAK,eAAe,CAAC;AAE/D,6BAA6B;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './env.js';
2
+ export * from './promise.js';
2
3
  export * from './reactive.js';
3
4
  export * from './signalHandler.js';
4
5
  export * from './subscribed.js';
@@ -1,4 +1,5 @@
1
1
  export * from './env.js';
2
+ export * from './promise.js';
2
3
  export * from './reactive.js';
3
4
  export * from './signalHandler.js';
4
5
  export * from './subscribed.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare class Deferred<T> {
2
+ private resolvers;
3
+ get promise(): Promise<T>;
4
+ constructor();
5
+ resolve(value: T): void;
6
+ reject(reason?: any): void;
7
+ cancel(reason?: string): void;
8
+ }
@@ -0,0 +1,19 @@
1
+ export class Deferred {
2
+ resolvers;
3
+ get promise() {
4
+ return this.resolvers.promise;
5
+ }
6
+ constructor() {
7
+ this.resolvers = Promise.withResolvers();
8
+ }
9
+ resolve(value) {
10
+ this.resolvers.resolve(value);
11
+ }
12
+ reject(reason) {
13
+ this.resolvers.reject(reason);
14
+ }
15
+ cancel(reason = 'Cancelled') {
16
+ this.reject(new Error(reason));
17
+ }
18
+ }
19
+ //# sourceMappingURL=promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/utils/promise.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAQ;IACX,SAAS,CAA0B;IAE3C,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAChC,CAAC;IAED;QACE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,EAAK,CAAC;IAC9C,CAAC;IAEM,OAAO,CAAC,KAAQ;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,MAAY;QACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,MAAM,GAAG,WAAW;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import type { Observable } from 'rxjs';
1
+ import { BehaviorSubject } from '@camera.ui/sdk';
2
+ import type { Observable } from '@camera.ui/sdk';
3
3
  export declare class ReactiveProperty<T> {
4
4
  #private;
5
5
  private _subject;
@@ -1,5 +1,4 @@
1
- import { BehaviorSubject, ReplaySubject } from 'rxjs';
2
- import { distinctUntilChanged, share } from 'rxjs/operators';
1
+ import { BehaviorSubject, ReplaySubject, distinctUntilChanged, share } from '@camera.ui/sdk';
3
2
  export class ReactiveProperty {
4
3
  _subject;
5
4
  observable;
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../src/utils/reactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAI7D,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAqB;IAE9B,UAAU,CAAgB;IAEjC,YAAY,YAAoC,EAAE,SAAyB;QACzE,IAAI,YAAY,YAAY,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,KAAK;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAErC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,IAAI,CAAC,KAAQ;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,sBAAsB,CAAI,YAAgC;QACxD,OAAO,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;CACF"}
1
+ {"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../src/utils/reactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAI7F,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAqB;IAE9B,UAAU,CAAgB;IAEjC,YAAY,YAAoC,EAAE,SAAyB;QACzE,IAAI,YAAY,YAAY,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,KAAK;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAErC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,IAAI,CAAC,KAAQ;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,sBAAsB,CAAI,YAAgC;QACxD,OAAO,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { LoggerService } from '@camera.ui/types';
1
+ import type { LoggerService } from '@camera.ui/sdk';
2
2
  export interface SignalHandlerOptions {
3
3
  displayName: string;
4
4
  logger: LoggerService;
@@ -16,7 +16,7 @@ export class SignalHandler {
16
16
  }
17
17
  setupHandlers() {
18
18
  process.on('uncaughtException', (error) => this.gracefullyClose('uncaughtException', undefined, error));
19
- process.on('unhandledRejection', (reason, promise) => this.gracefullyClose('unhandledRejection', reason, undefined, promise));
19
+ process.on('unhandledRejection', (reason, promise) => this.logError('unhandledRejection', reason, undefined, promise));
20
20
  process.on('SIGTERM', () => this.gracefullyClose('SIGTERM'));
21
21
  process.on('SIGINT', () => this.gracefullyClose('SIGINT'));
22
22
  process.on('SIGUSR2', () => this.gracefullyClose('SIGUSR2'));
@@ -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,18 +1,18 @@
1
- import type { Subscribed as SubscribedInterface } from '@camera.ui/types';
2
- import type { Subscription } from 'rxjs';
1
+ import type { Disposable } from '@camera.ui/sdk';
2
+ import type { Subscribed as SubscribedInterface } from '@camera.ui/sdk/internal';
3
3
  export declare class Subscribed {
4
4
  private readonly subscriptions;
5
5
  private readonly additionalSubscriptions;
6
- protected addSubscriptions(...subscriptions: Subscription[]): void;
7
- protected addAdditionalSubscriptions(...subscriptions: Subscription[]): void;
6
+ protected addSubscriptions(...subscriptions: Disposable[]): void;
7
+ protected addAdditionalSubscriptions(...subscriptions: Disposable[]): void;
8
8
  protected unsubscribe(): void;
9
9
  protected unsubscribeAdditional(): void;
10
10
  }
11
11
  export declare class SubscribedPublic implements SubscribedInterface {
12
12
  private readonly subscriptions;
13
13
  private readonly additionalSubscriptions;
14
- addSubscriptions(...subscriptions: Subscription[]): void;
15
- addAdditionalSubscriptions(...subscriptions: Subscription[]): void;
14
+ addSubscriptions(...subscriptions: Disposable[]): void;
15
+ addAdditionalSubscriptions(...subscriptions: Disposable[]): void;
16
16
  unsubscribe(): void;
17
17
  unsubscribeAdditional(): void;
18
18
  }