node-switchbot 2.4.0 → 2.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/.github/npm-version-script.cjs +81 -0
  2. package/CHANGELOG.md +1 -1
  3. package/dist/advertising.d.ts +14 -148
  4. package/dist/advertising.d.ts.map +1 -1
  5. package/dist/advertising.js +36 -92
  6. package/dist/advertising.js.map +1 -1
  7. package/dist/device/woblindtilt.d.ts +98 -13
  8. package/dist/device/woblindtilt.d.ts.map +1 -1
  9. package/dist/device/woblindtilt.js +192 -86
  10. package/dist/device/woblindtilt.js.map +1 -1
  11. package/dist/device/woblindtilt.test.d.ts +2 -0
  12. package/dist/device/woblindtilt.test.d.ts.map +1 -0
  13. package/dist/device/woblindtilt.test.js +26 -0
  14. package/dist/device/woblindtilt.test.js.map +1 -0
  15. package/dist/device/wobulb.d.ts +17 -34
  16. package/dist/device/wobulb.d.ts.map +1 -1
  17. package/dist/device/wobulb.js +53 -61
  18. package/dist/device/wobulb.js.map +1 -1
  19. package/dist/device/wobulb.test.d.ts +2 -0
  20. package/dist/device/wobulb.test.d.ts.map +1 -0
  21. package/dist/device/wobulb.test.js +52 -0
  22. package/dist/device/wobulb.test.js.map +1 -0
  23. package/dist/device/woceilinglight.d.ts +21 -51
  24. package/dist/device/woceilinglight.d.ts.map +1 -1
  25. package/dist/device/woceilinglight.js +53 -64
  26. package/dist/device/woceilinglight.js.map +1 -1
  27. package/dist/device/woceilinglight.test.d.ts +2 -0
  28. package/dist/device/woceilinglight.test.d.ts.map +1 -0
  29. package/dist/device/woceilinglight.test.js +63 -0
  30. package/dist/device/woceilinglight.test.js.map +1 -0
  31. package/dist/device/wocontact.d.ts +1 -14
  32. package/dist/device/wocontact.d.ts.map +1 -1
  33. package/dist/device/wocontact.js +13 -13
  34. package/dist/device/wocontact.js.map +1 -1
  35. package/dist/device/wocontact.test.d.ts +2 -0
  36. package/dist/device/wocontact.test.d.ts.map +1 -0
  37. package/dist/device/wocontact.test.js +34 -0
  38. package/dist/device/wocontact.test.js.map +1 -0
  39. package/dist/device/wocurtain.d.ts +5 -16
  40. package/dist/device/wocurtain.d.ts.map +1 -1
  41. package/dist/device/wocurtain.js +58 -47
  42. package/dist/device/wocurtain.js.map +1 -1
  43. package/dist/device/wocurtain.test.d.ts +2 -0
  44. package/dist/device/wocurtain.test.d.ts.map +1 -0
  45. package/dist/device/wocurtain.test.js +33 -0
  46. package/dist/device/wocurtain.test.js.map +1 -0
  47. package/dist/device/wohand.d.ts +2 -10
  48. package/dist/device/wohand.d.ts.map +1 -1
  49. package/dist/device/wohand.js +31 -33
  50. package/dist/device/wohand.js.map +1 -1
  51. package/dist/device/wohand.test.d.ts +2 -0
  52. package/dist/device/wohand.test.d.ts.map +1 -0
  53. package/dist/device/wohand.test.js +62 -0
  54. package/dist/device/wohand.test.js.map +1 -0
  55. package/dist/device/wohand2.test.d.ts +2 -0
  56. package/dist/device/wohand2.test.d.ts.map +1 -0
  57. package/dist/device/wohand2.test.js +50 -0
  58. package/dist/device/wohand2.test.js.map +1 -0
  59. package/dist/device/wohub2.d.ts +1 -19
  60. package/dist/device/wohub2.d.ts.map +1 -1
  61. package/dist/device/wohub2.js +6 -2
  62. package/dist/device/wohub2.js.map +1 -1
  63. package/dist/device/wohumi.d.ts +2 -11
  64. package/dist/device/wohumi.d.ts.map +1 -1
  65. package/dist/device/wohumi.js +31 -33
  66. package/dist/device/wohumi.js.map +1 -1
  67. package/dist/device/wohumi.test.d.ts +2 -0
  68. package/dist/device/wohumi.test.d.ts.map +1 -0
  69. package/dist/device/wohumi.test.js +61 -0
  70. package/dist/device/wohumi.test.js.map +1 -0
  71. package/dist/device/woiosensorth.d.ts +1 -19
  72. package/dist/device/woiosensorth.d.ts.map +1 -1
  73. package/dist/device/woiosensorth.js +14 -10
  74. package/dist/device/woiosensorth.js.map +1 -1
  75. package/dist/device/woiosensorth.test.d.ts +2 -0
  76. package/dist/device/woiosensorth.test.d.ts.map +1 -0
  77. package/dist/device/woiosensorth.test.js +39 -0
  78. package/dist/device/woiosensorth.test.js.map +1 -0
  79. package/dist/device/woplugmini.d.ts +12 -38
  80. package/dist/device/woplugmini.d.ts.map +1 -1
  81. package/dist/device/woplugmini.js +35 -40
  82. package/dist/device/woplugmini.js.map +1 -1
  83. package/dist/device/woplugmini.test.d.ts +2 -0
  84. package/dist/device/woplugmini.test.d.ts.map +1 -0
  85. package/dist/device/woplugmini.test.js +91 -0
  86. package/dist/device/woplugmini.test.js.map +1 -0
  87. package/dist/device/wopresence.d.ts +2 -14
  88. package/dist/device/wopresence.d.ts.map +1 -1
  89. package/dist/device/wopresence.js +11 -7
  90. package/dist/device/wopresence.js.map +1 -1
  91. package/dist/device/wopresence.test.d.ts +2 -0
  92. package/dist/device/wopresence.test.d.ts.map +1 -0
  93. package/dist/device/wopresence.test.js +42 -0
  94. package/dist/device/wopresence.test.js.map +1 -0
  95. package/dist/device/wosensorth.d.ts +3 -37
  96. package/dist/device/wosensorth.d.ts.map +1 -1
  97. package/dist/device/wosensorth.js +24 -20
  98. package/dist/device/wosensorth.js.map +1 -1
  99. package/dist/device/wosensorth.test.d.ts +2 -0
  100. package/dist/device/wosensorth.test.d.ts.map +1 -0
  101. package/dist/device/wosensorth.test.js +59 -0
  102. package/dist/device/wosensorth.test.js.map +1 -0
  103. package/dist/device/wosmartlock.d.ts +19 -33
  104. package/dist/device/wosmartlock.d.ts.map +1 -1
  105. package/dist/device/wosmartlock.js +104 -83
  106. package/dist/device/wosmartlock.js.map +1 -1
  107. package/dist/device/wosmartlock.test.d.ts +2 -0
  108. package/dist/device/wosmartlock.test.d.ts.map +1 -0
  109. package/dist/device/wosmartlock.test.js +84 -0
  110. package/dist/device/wosmartlock.test.js.map +1 -0
  111. package/dist/device/wosmartlockpro.d.ts +13 -27
  112. package/dist/device/wosmartlockpro.d.ts.map +1 -1
  113. package/dist/device/wosmartlockpro.js +90 -70
  114. package/dist/device/wosmartlockpro.js.map +1 -1
  115. package/dist/device/wosmartlockpro.test.d.ts +2 -0
  116. package/dist/device/wosmartlockpro.test.d.ts.map +1 -0
  117. package/dist/device/wosmartlockpro.test.js +124 -0
  118. package/dist/device/wosmartlockpro.test.js.map +1 -0
  119. package/dist/device/wostrip.d.ts +18 -32
  120. package/dist/device/wostrip.d.ts.map +1 -1
  121. package/dist/device/wostrip.js +58 -70
  122. package/dist/device/wostrip.js.map +1 -1
  123. package/dist/device/wostrip.test.d.ts +2 -0
  124. package/dist/device/wostrip.test.d.ts.map +1 -0
  125. package/dist/device/wostrip.test.js +115 -0
  126. package/dist/device/wostrip.test.js.map +1 -0
  127. package/dist/device.d.ts +237 -39
  128. package/dist/device.d.ts.map +1 -1
  129. package/dist/device.js +478 -366
  130. package/dist/device.js.map +1 -1
  131. package/dist/index.d.ts +1 -1
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +1 -1
  134. package/dist/index.js.map +1 -1
  135. package/dist/parameter-checker.d.ts.map +1 -1
  136. package/dist/parameter-checker.js.map +1 -1
  137. package/dist/settings.d.ts +8 -0
  138. package/dist/settings.d.ts.map +1 -0
  139. package/dist/settings.js +12 -0
  140. package/dist/settings.js.map +1 -0
  141. package/dist/switchbot.d.ts +30 -10
  142. package/dist/switchbot.d.ts.map +1 -1
  143. package/dist/switchbot.js +39 -86
  144. package/dist/switchbot.js.map +1 -1
  145. package/dist/types/bledevicestatus.d.ts +288 -0
  146. package/dist/types/bledevicestatus.d.ts.map +1 -0
  147. package/dist/types/bledevicestatus.js +2 -0
  148. package/dist/types/bledevicestatus.js.map +1 -0
  149. package/dist/types/devicelist.d.ts +89 -0
  150. package/dist/types/devicelist.d.ts.map +1 -0
  151. package/dist/types/devicelist.js +6 -0
  152. package/dist/types/devicelist.js.map +1 -0
  153. package/dist/types/deviceresponse.d.ts +13 -0
  154. package/dist/types/deviceresponse.d.ts.map +1 -0
  155. package/dist/types/deviceresponse.js +2 -0
  156. package/dist/types/deviceresponse.js.map +1 -0
  157. package/dist/types/devicestatus.d.ts +149 -0
  158. package/dist/types/devicestatus.d.ts.map +1 -0
  159. package/dist/types/devicestatus.js +3 -0
  160. package/dist/types/devicestatus.js.map +1 -0
  161. package/dist/types/devicewebhookstatus.d.ts +156 -0
  162. package/dist/types/devicewebhookstatus.d.ts.map +1 -0
  163. package/dist/types/devicewebhookstatus.js +2 -0
  164. package/dist/types/devicewebhookstatus.js.map +1 -0
  165. package/dist/types/irdevicelist.d.ts +10 -0
  166. package/dist/types/irdevicelist.d.ts.map +1 -0
  167. package/dist/types/irdevicelist.js +2 -0
  168. package/dist/types/irdevicelist.js.map +1 -0
  169. package/dist/types/pushbody.d.ts +6 -0
  170. package/dist/types/pushbody.d.ts.map +1 -0
  171. package/dist/types/pushbody.js +2 -0
  172. package/dist/types/pushbody.js.map +1 -0
  173. package/dist/{types.d.ts → types/types.d.ts} +9 -0
  174. package/dist/types/types.d.ts.map +1 -0
  175. package/dist/types/types.js.map +1 -0
  176. package/jest.config.js +3 -0
  177. package/package.json +22 -14
  178. package/dist/types.d.ts.map +0 -1
  179. package/dist/types.js.map +0 -1
  180. /package/dist/{types.js → types/types.js} +0 -0
@@ -1,15 +1,21 @@
1
+ import { Buffer } from 'node:buffer';
1
2
  /* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
2
3
  *
3
4
  * wobulb.ts: Switchbot BLE API registration.
4
5
  */
5
- import { Buffer } from 'node:buffer';
6
6
  import { SwitchbotDevice } from '../device.js';
7
- import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
7
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
8
8
  /**
9
9
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
10
10
  */
11
11
  export class WoBulb extends SwitchbotDevice {
12
- static parseServiceData(manufacturerData, onlog) {
12
+ static async parseServiceData(serviceData, manufacturerData, onlog) {
13
+ if (serviceData.length !== 18) {
14
+ if (onlog && typeof onlog === 'function') {
15
+ onlog(`[parseServiceDataForWoBulb] Buffer length ${serviceData.length} !== 18!`);
16
+ }
17
+ return null;
18
+ }
13
19
  if (manufacturerData.length !== 13) {
14
20
  if (onlog && typeof onlog === 'function') {
15
21
  onlog(`[parseServiceDataForWoBulb] Buffer length ${manufacturerData.length} !== 13!`);
@@ -58,38 +64,36 @@ export class WoBulb extends SwitchbotDevice {
58
64
  return data;
59
65
  }
60
66
  /**
61
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
67
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
62
68
  */
63
- readState() {
64
- return this._operateBot([0x57, 0x0F, 0x48, 0x01]);
69
+ async readState() {
70
+ return await this.operateBulb([0x57, 0x0F, 0x48, 0x01]);
65
71
  }
66
72
  /**
67
73
  * @private
68
74
  */
69
- _setState(reqByteArray) {
75
+ async setState(reqByteArray) {
70
76
  const base = [0x57, 0x0F, 0x47, 0x01];
71
- return this._operateBot(base.concat(reqByteArray));
77
+ return await this.operateBulb(base.concat(reqByteArray));
72
78
  }
73
79
  /**
74
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
80
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
75
81
  */
76
- turnOn() {
77
- return this._setState([0x01, 0x01]);
82
+ async turnOn() {
83
+ return await this.setState([0x01, 0x01]);
78
84
  }
79
85
  /**
80
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
86
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
81
87
  */
82
- turnOff() {
83
- return this._setState([0x01, 0x02]);
88
+ async turnOff() {
89
+ return await this.setState([0x01, 0x02]);
84
90
  }
85
91
  /**
86
- * @returns {Promise<number>} resolves with brightness percent
92
+ * @returns resolves with brightness percent
87
93
  */
88
- setBrightness(brightness) {
94
+ async setBrightness(brightness) {
89
95
  if (typeof brightness !== 'number') {
90
- return new Promise((resolve, reject) => {
91
- reject(new Error(`The type of target brightness percentage is incorrect: ${typeof brightness}`));
92
- });
96
+ throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
93
97
  }
94
98
  if (brightness > 100) {
95
99
  brightness = 100;
@@ -97,48 +101,38 @@ export class WoBulb extends SwitchbotDevice {
97
101
  else if (brightness < 0) {
98
102
  brightness = 0;
99
103
  }
100
- return this._setState([0x02, 0x14]);
104
+ return await this.setState([0x02, 0x14, brightness]);
101
105
  }
102
106
  /**
103
- * @returns {Promise<number>} resolves with color_temperature percent
107
+ * @returns resolves with color_temperature percent
104
108
  */
105
- setColorTemperature(color_temperature) {
109
+ async setColorTemperature(color_temperature) {
106
110
  if (typeof color_temperature !== 'number') {
107
- return new Promise((resolve, reject) => {
108
- reject(new Error(`The type of target color_temperature percentage is incorrect: ${typeof color_temperature}`));
109
- });
111
+ throw new TypeError(`The type of target color_temperature percentage is incorrect: ${typeof color_temperature}`);
110
112
  }
111
- if (color_temperature > 100) {
113
+ else if (color_temperature > 100) {
112
114
  color_temperature = 100;
113
115
  }
114
116
  else if (color_temperature < 0) {
115
117
  color_temperature = 0;
116
118
  }
117
- return this._setState([0x02, 0x17, color_temperature]);
119
+ return await this.setState([0x02, 0x17, color_temperature]);
118
120
  }
119
121
  /**
120
- * @returns {Promise<number>} resolves with brightness percent
122
+ * @returns resolves with brightness percent
121
123
  */
122
- setRGB(brightness, red, green, blue) {
124
+ async setRGB(brightness, red, green, blue) {
123
125
  if (typeof brightness !== 'number') {
124
- return new Promise((resolve, reject) => {
125
- reject(new Error(`The type of target brightness percentage is incorrect: ${typeof brightness}`));
126
- });
126
+ throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
127
127
  }
128
128
  if (typeof red !== 'number') {
129
- return new Promise((resolve, reject) => {
130
- reject(new Error(`The type of target red is incorrect: ${typeof red}`));
131
- });
129
+ throw new TypeError(`The type of target red is incorrect: ${typeof red}`);
132
130
  }
133
131
  if (typeof green !== 'number') {
134
- return new Promise((resolve, reject) => {
135
- reject(new Error(`The type of target green is incorrect: ${typeof green}`));
136
- });
132
+ throw new TypeError(`The type of target green is incorrect: ${typeof green}`);
137
133
  }
138
134
  if (typeof blue !== 'number') {
139
- return new Promise((resolve, reject) => {
140
- reject(new Error(`The type of target blue is incorrect: ${typeof blue}`));
141
- });
135
+ throw new TypeError(`The type of target blue is incorrect: ${typeof blue}`);
142
136
  }
143
137
  if (brightness > 100) {
144
138
  brightness = 100;
@@ -164,34 +158,32 @@ export class WoBulb extends SwitchbotDevice {
164
158
  else if (blue < 0) {
165
159
  blue = 0;
166
160
  }
167
- return this._setState([0x02, 0x12, brightness, red, green, blue]);
161
+ return await this.setState([0x02, 0x12, brightness, red, green, blue]);
168
162
  }
169
163
  /**
170
164
  * @private
171
165
  */
172
- _operateBot(bytes) {
166
+ async operateBulb(bytes) {
173
167
  const req_buf = Buffer.from(bytes);
174
- return new Promise((resolve, reject) => {
175
- this._command(req_buf)
176
- .then((res_bytes) => {
177
- const res_buf = Buffer.from(res_bytes);
178
- if (res_buf.length === 2) {
179
- const code = res_buf.readUInt8(1);
180
- if (code === 0x00 || code === 0x80) {
181
- const is_on = code === 0x80;
182
- resolve(is_on);
183
- }
184
- else {
185
- reject(new Error(`The device returned an error: 0x${res_buf.toString('hex')}`));
186
- }
168
+ await this.command(req_buf)
169
+ .then((res_bytes) => {
170
+ const res_buf = Buffer.from(res_bytes);
171
+ if (res_buf.length === 2) {
172
+ const code = res_buf.readUInt8(1);
173
+ if (code === 0x00 || code === 0x80) {
174
+ const is_on = code === 0x80;
175
+ return is_on;
187
176
  }
188
177
  else {
189
- reject(new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`));
178
+ throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
190
179
  }
191
- })
192
- .catch((error) => {
193
- reject(error);
194
- });
180
+ }
181
+ else {
182
+ throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
183
+ }
184
+ })
185
+ .catch((error) => {
186
+ throw error;
195
187
  });
196
188
  }
197
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wobulb.js","sourceRoot":"","sources":["../../src/device/wobulb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wobulb.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wobulb.test.d.ts","sourceRoot":"","sources":["../../src/device/wobulb.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import * as Noble from '@stoprocent/noble';
3
+ /* eslint-disable no-console */
4
+ import { beforeEach, describe, it } from 'vitest';
5
+ import { WoBulb } from './wobulb.js';
6
+ describe('woBulb', () => {
7
+ let bulb;
8
+ beforeEach(() => {
9
+ const peripheral = {}; // Replace with the actual peripheral object (e.g. from Noble)
10
+ bulb = new WoBulb(peripheral, Noble);
11
+ });
12
+ it('should parse service data correctly', () => {
13
+ const manufacturerData = Buffer.from([0x57, 0x0F, 0x47, 0x01, 0x64, 0x32, 0x19, 0x80, 0x08, 0x7F, 0xFE, 0x00, 0x00]);
14
+ const result = WoBulb.parseServiceData(manufacturerData, manufacturerData, console.log);
15
+ expect(result).toHaveBeenCalledWith({
16
+ model: 'ColorBulb',
17
+ power: 0x47,
18
+ red: 0x01,
19
+ green: 0x64,
20
+ blue: 0x32,
21
+ color_temperature: 0x19,
22
+ state: true,
23
+ brightness: 0x80,
24
+ delay: 0x80,
25
+ preset: 0x08,
26
+ color_mode: 0x08,
27
+ speed: 0x7F,
28
+ loop_index: 0xFE,
29
+ });
30
+ });
31
+ it('should turn on the bulb', async () => {
32
+ const result = await bulb.turnOn();
33
+ expect(result).toHaveBeenCalledWith(true);
34
+ });
35
+ it('should turn off the bulb', async () => {
36
+ const result = await bulb.turnOff();
37
+ expect(result).toHaveBeenCalledWith(false);
38
+ });
39
+ it('should set brightness correctly', async () => {
40
+ const result = await bulb.setBrightness(50);
41
+ expect(result).toHaveBeenCalledWith(50);
42
+ });
43
+ it('should set color temperature correctly', async () => {
44
+ const result = await bulb.setColorTemperature(75);
45
+ expect(result).toHaveBeenCalledWith(75);
46
+ });
47
+ it('should set RGB values correctly', async () => {
48
+ const result = await bulb.setRGB(50, 255, 100, 50);
49
+ expect(result).toHaveBeenCalledWith({ brightness: 50, red: 255, green: 100, blue: 50 });
50
+ });
51
+ });
52
+ //# sourceMappingURL=wobulb.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wobulb.test.js","sourceRoot":"","sources":["../../src/device/wobulb.test.ts"],"names":[],"mappings":"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"}
@@ -1,75 +1,45 @@
1
1
  import { Buffer } from 'node:buffer';
2
2
  import { SwitchbotDevice } from '../device.js';
3
- import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
4
3
  /**
5
4
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
6
5
  */
7
6
  export declare class WoCeilingLight extends SwitchbotDevice {
8
- static parseServiceData(manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): {
9
- model: SwitchBotBLEModel;
10
- modelName: SwitchBotBLEModelName;
11
- modelFriendlyName: SwitchBotBLEModelFriendlyName;
12
- color_temperature: number;
13
- power: number;
14
- state: boolean;
15
- red: number;
16
- green: number;
17
- blue: number;
18
- brightness: number;
19
- delay: number;
20
- preset: number;
21
- color_mode: number;
22
- speed: number;
23
- loop_index: number;
24
- } | null;
25
- static parseServiceData_Pro(manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): {
26
- model: SwitchBotBLEModel;
27
- modelName: SwitchBotBLEModelName;
28
- modelFriendlyName: SwitchBotBLEModelFriendlyName;
29
- color_temperature: number;
30
- power: number;
31
- state: boolean;
32
- red: number;
33
- green: number;
34
- blue: number;
35
- brightness: number;
36
- delay: number;
37
- preset: number;
38
- color_mode: number;
39
- speed: number;
40
- loop_index: number;
41
- } | null;
7
+ static parseServiceData(manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): Promise<object | null>;
8
+ static parseServiceData_Pro(manufacturerData: Buffer, onlog: ((message: string) => void) | undefined): Promise<object | null>;
42
9
  /**
43
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
10
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
44
11
  */
45
- readState(): Promise<unknown>;
12
+ readState(): Promise<void>;
46
13
  /**
47
- * @private
14
+ *
48
15
  */
49
- _setState(reqByteArray: number[]): Promise<unknown>;
16
+ setState(reqByteArray: number[]): Promise<void>;
50
17
  /**
51
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
18
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
52
19
  */
53
- turnOn(): Promise<unknown>;
20
+ turnOn(): Promise<void>;
54
21
  /**
55
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
22
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
56
23
  */
57
- turnOff(): Promise<unknown>;
24
+ turnOff(): Promise<void>;
58
25
  /**
59
- * @returns {Promise<number>} resolves with brightness percent
26
+ * @param brightness
60
27
  */
61
- setBrightness(brightness: number): Promise<unknown>;
28
+ setBrightness(brightness: number): Promise<void>;
62
29
  /**
63
- * @returns {Promise<number>} resolves with color_temperature percent
30
+ * @returns resolves with color_temperature percent
64
31
  */
65
- setColorTemperature(color_temperature: number): Promise<unknown>;
32
+ setColorTemperature(color_temperature: number): Promise<void>;
66
33
  /**
67
- * @returns {Promise<number>} resolves with brightness percent
34
+ * @param brightness
35
+ * @param red
36
+ * @param green
37
+ * @param blue
68
38
  */
69
- setRGB(brightness: number, red: number, green: number, blue: number): Promise<unknown>;
39
+ setRGB(brightness: number, red: number, green: number, blue: number): Promise<void>;
70
40
  /**
71
- * @private
41
+ * @param bytes
72
42
  */
73
- _operateBot(bytes: number[]): Promise<unknown>;
43
+ operateBot(bytes: number[]): Promise<void>;
74
44
  }
75
45
  //# sourceMappingURL=woceilinglight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"woceilinglight.d.ts","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;IAsDhG,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;IAsDpG;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE;IAKhC;;OAEG;IACH,MAAM;IAIN;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM;IAkBhC;;OAEG;IACH,mBAAmB,CAAC,iBAAiB,EAAE,MAAM;IAkB7C;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA4DnE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;CA+B5B"}
1
+ {"version":3,"file":"woceilinglight.d.ts","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C;;GAEG;AACH,qBAAa,cAAe,SAAQ,eAAe;WACpC,gBAAgB,CAC3B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAoDZ,oBAAoB,CAC/B,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAC7C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsDzB;;OAEG;IACG,SAAS;IAIf;;OAEG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE;IAKrC;;OAEG;IACG,MAAM;IAIZ;;OAEG;IACG,OAAO;IAIb;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM;IAYtC;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,MAAM;IAYnD;;;;;OAKG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAoCzE;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBjD"}
@@ -1,15 +1,15 @@
1
+ import { Buffer } from 'node:buffer';
1
2
  /* Copyright(C) 2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
2
3
  *
3
- * wobulb.ts: Switchbot BLE API registration.
4
+ * woceilinglight.ts: Switchbot BLE API registration.
4
5
  */
5
- import { Buffer } from 'node:buffer';
6
6
  import { SwitchbotDevice } from '../device.js';
7
- import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types.js';
7
+ import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName } from '../types/types.js';
8
8
  /**
9
9
  * @see https://github.com/OpenWonderLabs/SwitchBotAPI-BLE/blob/latest/devicetypes/colorbulb.md
10
10
  */
11
11
  export class WoCeilingLight extends SwitchbotDevice {
12
- static parseServiceData(manufacturerData, onlog) {
12
+ static async parseServiceData(manufacturerData, onlog) {
13
13
  if (manufacturerData.length !== 13) {
14
14
  if (onlog && typeof onlog === 'function') {
15
15
  onlog(`[parseServiceDataForWoCeilingLight] Buffer length ${manufacturerData.length} !== 13!`);
@@ -57,7 +57,7 @@ export class WoCeilingLight extends SwitchbotDevice {
57
57
  };
58
58
  return data;
59
59
  }
60
- static parseServiceData_Pro(manufacturerData, onlog) {
60
+ static async parseServiceData_Pro(manufacturerData, onlog) {
61
61
  if (manufacturerData.length !== 13) {
62
62
  if (onlog && typeof onlog === 'function') {
63
63
  onlog(`[parseServiceDataForWoCeilingLightPro] Buffer length ${manufacturerData.length} !== 13!`);
@@ -106,38 +106,36 @@ export class WoCeilingLight extends SwitchbotDevice {
106
106
  return data;
107
107
  }
108
108
  /**
109
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
109
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
110
110
  */
111
- readState() {
112
- return this._operateBot([0x57, 0x0F, 0x48, 0x01]);
111
+ async readState() {
112
+ return await this.operateBot([0x57, 0x0F, 0x48, 0x01]);
113
113
  }
114
114
  /**
115
- * @private
115
+ *
116
116
  */
117
- _setState(reqByteArray) {
117
+ async setState(reqByteArray) {
118
118
  const base = [0x57, 0x0F, 0x47, 0x01];
119
- return this._operateBot(base.concat(reqByteArray));
119
+ return await this.operateBot(base.concat(reqByteArray));
120
120
  }
121
121
  /**
122
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
122
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
123
123
  */
124
- turnOn() {
125
- return this._setState([0x01, 0x01]);
124
+ async turnOn() {
125
+ return await this.setState([0x01, 0x01]);
126
126
  }
127
127
  /**
128
- * @returns {Promise<boolean>} resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
128
+ * @returns resolves with a boolean that tells whether the plug in ON(true) or OFF(false)
129
129
  */
130
- turnOff() {
131
- return this._setState([0x01, 0x02]);
130
+ async turnOff() {
131
+ return await this.setState([0x01, 0x02]);
132
132
  }
133
133
  /**
134
- * @returns {Promise<number>} resolves with brightness percent
134
+ * @param brightness
135
135
  */
136
- setBrightness(brightness) {
136
+ async setBrightness(brightness) {
137
137
  if (typeof brightness !== 'number') {
138
- return new Promise((resolve, reject) => {
139
- reject(new Error(`The type of target brightness percentage is incorrect: ${typeof brightness}`));
140
- });
138
+ throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
141
139
  }
142
140
  if (brightness > 100) {
143
141
  brightness = 100;
@@ -145,16 +143,14 @@ export class WoCeilingLight extends SwitchbotDevice {
145
143
  else if (brightness < 0) {
146
144
  brightness = 0;
147
145
  }
148
- return this._setState([0x02, 0x14]);
146
+ return await this.setState([0x02, 0x14]);
149
147
  }
150
148
  /**
151
- * @returns {Promise<number>} resolves with color_temperature percent
149
+ * @returns resolves with color_temperature percent
152
150
  */
153
- setColorTemperature(color_temperature) {
151
+ async setColorTemperature(color_temperature) {
154
152
  if (typeof color_temperature !== 'number') {
155
- return new Promise((resolve, reject) => {
156
- reject(new Error(`The type of target color_temperature percentage is incorrect: ${typeof color_temperature}`));
157
- });
153
+ throw new TypeError(`The type of target color_temperature percentage is incorrect: ${typeof color_temperature}`);
158
154
  }
159
155
  if (color_temperature > 100) {
160
156
  color_temperature = 100;
@@ -162,31 +158,26 @@ export class WoCeilingLight extends SwitchbotDevice {
162
158
  else if (color_temperature < 0) {
163
159
  color_temperature = 0;
164
160
  }
165
- return this._setState([0x02, 0x17, color_temperature]);
161
+ return await this.setState([0x02, 0x17, color_temperature]);
166
162
  }
167
163
  /**
168
- * @returns {Promise<number>} resolves with brightness percent
164
+ * @param brightness
165
+ * @param red
166
+ * @param green
167
+ * @param blue
169
168
  */
170
- setRGB(brightness, red, green, blue) {
169
+ async setRGB(brightness, red, green, blue) {
171
170
  if (typeof brightness !== 'number') {
172
- return new Promise((resolve, reject) => {
173
- reject(new Error(`The type of target brightness percentage is incorrect: ${typeof brightness}`));
174
- });
171
+ throw new TypeError(`The type of target brightness percentage is incorrect: ${typeof brightness}`);
175
172
  }
176
173
  if (typeof red !== 'number') {
177
- return new Promise((resolve, reject) => {
178
- reject(new Error(`The type of target red is incorrect: ${typeof red}`));
179
- });
174
+ throw new TypeError(`The type of target red is incorrect: ${typeof red}`);
180
175
  }
181
176
  if (typeof green !== 'number') {
182
- return new Promise((resolve, reject) => {
183
- reject(new Error(`The type of target green is incorrect: ${typeof green}`));
184
- });
177
+ throw new TypeError(`The type of target green is incorrect: ${typeof green}`);
185
178
  }
186
179
  if (typeof blue !== 'number') {
187
- return new Promise((resolve, reject) => {
188
- reject(new Error(`The type of target blue is incorrect: ${typeof blue}`));
189
- });
180
+ throw new TypeError(`The type of target blue is incorrect: ${typeof blue}`);
190
181
  }
191
182
  if (brightness > 100) {
192
183
  brightness = 100;
@@ -212,34 +203,32 @@ export class WoCeilingLight extends SwitchbotDevice {
212
203
  else if (blue < 0) {
213
204
  blue = 0;
214
205
  }
215
- return this._setState([0x02, 0x12, brightness, red, green, blue]);
206
+ return await this.setState([0x02, 0x12, brightness, red, green, blue]);
216
207
  }
217
208
  /**
218
- * @private
209
+ * @param bytes
219
210
  */
220
- _operateBot(bytes) {
211
+ async operateBot(bytes) {
221
212
  const req_buf = Buffer.from(bytes);
222
- return new Promise((resolve, reject) => {
223
- this._command(req_buf)
224
- .then((res_bytes) => {
225
- const res_buf = Buffer.from(res_bytes);
226
- if (res_buf.length === 2) {
227
- const code = res_buf.readUInt8(1);
228
- if (code === 0x00 || code === 0x80) {
229
- const is_on = code === 0x80;
230
- resolve(is_on);
231
- }
232
- else {
233
- reject(new Error(`The device returned an error: 0x${res_buf.toString('hex')}`));
234
- }
213
+ await this.command(req_buf)
214
+ .then((res_bytes) => {
215
+ const res_buf = Buffer.from(res_bytes);
216
+ if (res_buf.length === 2) {
217
+ const code = res_buf.readUInt8(1);
218
+ if (code === 0x00 || code === 0x80) {
219
+ const is_on = code === 0x80;
220
+ return is_on;
235
221
  }
236
222
  else {
237
- reject(new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`));
223
+ throw new Error(`The device returned an error: 0x${res_buf.toString('hex')}`);
238
224
  }
239
- })
240
- .catch((error) => {
241
- reject(error);
242
- });
225
+ }
226
+ else {
227
+ throw new Error(`Expecting a 2-byte response, got instead: 0x${res_buf.toString('hex')}`);
228
+ }
229
+ })
230
+ .catch((error) => {
231
+ throw error;
243
232
  });
244
233
  }
245
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"woceilinglight.js","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"woceilinglight.js","sourceRoot":"","sources":["../../src/device/woceilinglight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,eAAe;IACjD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,gBAAwB,EACxB,KAA8C;QAE9C,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CAAC,qDAAqD,gBAAgB,CAAC,MAAM,UAAU,CAAC,CAAA;YAC/F,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,yBAAyB;QACpE,gEAAgE;QAChE,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,SAAS;QACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,SAAS;QACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,SAAS;QACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,mBAAmB;QAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAA,YAAY;QAEzD,MAAM,KAAK,GAAG,KAAK,CAAA;QACnB,MAAM,GAAG,GAAG,KAAK,CAAA;QACjB,MAAM,KAAK,GAAG,KAAK,CAAA;QACnB,MAAM,IAAI,GAAG,KAAK,CAAA;QAClB,MAAM,iBAAiB,GAAG,KAAK,CAAA;QAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAA;QACrC,MAAM,KAAK,GAAG,KAAK,GAAG,UAAU,CAAA;QAChC,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAA;QACjC,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAA;QACrC,MAAM,KAAK,GAAG,KAAK,GAAG,UAAU,CAAA;QAChC,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAA;QAEtC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,YAAY;YACrC,SAAS,EAAE,qBAAqB,CAAC,YAAY;YAC7C,iBAAiB,EAAE,6BAA6B,CAAC,YAAY;YAC7D,iBAAiB;YACjB,KAAK;YACL,KAAK;YACL,GAAG;YACH,KAAK;YACL,IAAI;YACJ,UAAU;YACV,KAAK;YACL,MAAM;YACN,UAAU;YACV,KAAK;YACL,UAAU;SACX,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAC/B,gBAAwB,EACxB,KAA8C;QAE9C,IAAI,gBAAgB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzC,KAAK,CACH,wDAAwD,gBAAgB,CAAC,MAAM,UAAU,CAC1F,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,yBAAyB;QACpE,gEAAgE;QAChE,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,SAAS;QACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,SAAS;QACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,SAAS;QACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,CAAA,mBAAmB;QAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAA,YAAY;QAEzD,MAAM,KAAK,GAAG,KAAK,CAAA;QACnB,MAAM,GAAG,GAAG,KAAK,CAAA;QACjB,MAAM,KAAK,GAAG,KAAK,CAAA;QACnB,MAAM,IAAI,GAAG,KAAK,CAAA;QAClB,MAAM,iBAAiB,GAAG,KAAK,CAAA;QAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAA;QACrC,MAAM,KAAK,GAAG,KAAK,GAAG,UAAU,CAAA;QAChC,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAA;QACjC,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAA;QACrC,MAAM,KAAK,GAAG,KAAK,GAAG,UAAU,CAAA;QAChC,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAA;QAEtC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,iBAAiB,CAAC,eAAe;YACxC,SAAS,EAAE,qBAAqB,CAAC,eAAe;YAChD,iBAAiB,EAAE,6BAA6B,CAAC,eAAe;YAChE,iBAAiB;YACjB,KAAK;YACL,KAAK;YACL,GAAG;YACH,KAAK;YACL,IAAI;YACJ,UAAU;YACV,KAAK;YACL,MAAM;YACN,UAAU;YACV,KAAK;YACL,UAAU;SACX,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,YAAsB;QACnC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,0DAA0D,OAAO,UAAU,EAAE,CAAC,CAAA;QACpG,CAAC;QACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACrB,UAAU,GAAG,GAAG,CAAA;QAClB,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,UAAU,GAAG,CAAC,CAAA;QAChB,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,iBAAyB;QACjD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,SAAS,CAAC,iEAAiE,OAAO,iBAAiB,EAAE,CAAC,CAAA;QAClH,CAAC;QACD,IAAI,iBAAiB,GAAG,GAAG,EAAE,CAAC;YAC5B,iBAAiB,GAAG,GAAG,CAAA;QACzB,CAAC;aAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YACjC,iBAAiB,GAAG,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,GAAW,EAAE,KAAa,EAAE,IAAY;QACvE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,0DAA0D,OAAO,UAAU,EAAE,CAAC,CAAA;QACpG,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,CAAC,wCAAwC,OAAO,GAAG,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,0CAA0C,OAAO,KAAK,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,yCAAyC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACrB,UAAU,GAAG,GAAG,CAAA;QAClB,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,UAAU,GAAG,CAAC,CAAA;QAChB,CAAC;QACD,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,GAAG,CAAA;QACX,CAAC;aAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,GAAG,CAAC,CAAA;QACT,CAAC;QACD,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAChB,KAAK,GAAG,GAAG,CAAA;QACb,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,GAAG,CAAC,CAAA;QACX,CAAC;QACD,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,CAAA;QACZ,CAAC;aAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,CAAA;QACV,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;aACxB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;oBAC3B,OAAO,KAAK,CAAA;gBACd,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC/E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC3F,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;IACN,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=woceilinglight.test.d.ts.map