node-alarm-dot-com 2.5.0 → 2.5.1-beta.1
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/README.md +2 -2
- package/dist/_models/AuthOpts.d.ts +1 -1
- package/dist/_models/AuthOpts.js +1 -2
- package/dist/_models/DeviceStates.d.ts +6 -6
- package/dist/_models/DeviceStates.js +3 -2
- package/dist/_models/DeviceStates.js.map +1 -1
- package/dist/_models/IdentityResponse.d.ts +1 -1
- package/dist/_models/IdentityResponse.js +1 -2
- package/dist/_models/PartitionActionOptions.js +1 -2
- package/dist/_models/RequestOptions.js +1 -2
- package/dist/_models/SensorType.js +2 -5
- package/dist/_models/SensorType.js.map +1 -1
- package/dist/_models/States.js +16 -19
- package/dist/_models/States.js.map +1 -1
- package/dist/_models/SystemState.d.ts +2 -2
- package/dist/_models/SystemState.js +4 -7
- package/dist/_models/SystemState.js.map +1 -1
- package/dist/_models/WebSockets.d.ts +10 -1
- package/dist/_models/WebSockets.js +9 -12
- package/dist/_models/WebSockets.js.map +1 -1
- package/dist/_utils.d.ts +7 -8
- package/dist/_utils.js +29 -41
- package/dist/_utils.js.map +1 -1
- package/dist/cameras.d.ts +1 -1
- package/dist/cameras.js +3 -6
- package/dist/cameras.js.map +1 -1
- package/dist/core.d.ts +4 -4
- package/dist/core.js +31 -38
- package/dist/core.js.map +1 -1
- package/dist/garages.d.ts +4 -4
- package/dist/garages.js +9 -14
- package/dist/garages.js.map +1 -1
- package/dist/index.d.ts +17 -17
- package/dist/index.js +17 -37
- package/dist/index.js.map +1 -1
- package/dist/lights.d.ts +4 -4
- package/dist/lights.js +9 -14
- package/dist/lights.js.map +1 -1
- package/dist/locks.d.ts +4 -4
- package/dist/locks.js +7 -12
- package/dist/locks.js.map +1 -1
- package/dist/partitions.d.ts +6 -6
- package/dist/partitions.js +8 -14
- package/dist/partitions.js.map +1 -1
- package/dist/sensors.d.ts +2 -2
- package/dist/sensors.js +3 -6
- package/dist/sensors.js.map +1 -1
- package/dist/thermostats.d.ts +6 -6
- package/dist/thermostats.js +13 -18
- package/dist/thermostats.js.map +1 -1
- package/package.json +10 -17
package/dist/core.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.login = login;
|
|
7
|
-
exports.getIdentitiesState = getIdentitiesState;
|
|
8
|
-
exports.getCurrentState = getCurrentState;
|
|
9
|
-
exports.getWebSocketToken = getWebSocketToken;
|
|
10
|
-
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
11
|
-
const _utils_1 = require("./_utils");
|
|
1
|
+
import { ADCFORMLOGIN_URL, ADCLOGIN_URL, CAMERAS_URL, GARAGE_URL, IDENTITIES_URL, LIGHTS_URL, LOCKS_URL, PARTITIONS_URL, SENSORS_URL, SYSTEM_URL, THERMOSTAT_URL, UA, WEBSOCKET_TOKEN_URL, authenticatedGet, describeError, get, getComponents } from './_utils.js';
|
|
12
2
|
/**
|
|
13
3
|
* Authenticate with alarm.com.
|
|
14
4
|
* Returns an authentication object that can be passed to other methods.
|
|
@@ -18,23 +8,23 @@ const _utils_1 = require("./_utils");
|
|
|
18
8
|
* @param {string} existingMfaToken MFA token from browser used to bypass MFA.
|
|
19
9
|
* @returns {Promise}
|
|
20
10
|
*/
|
|
21
|
-
async function login(username, password, existingMfaToken) {
|
|
11
|
+
export async function login(username, password, existingMfaToken) {
|
|
22
12
|
let loginCookies = '';
|
|
23
13
|
let ajaxKey = '';
|
|
24
14
|
let loginFormBody = '';
|
|
25
15
|
let identities = {};
|
|
26
16
|
let systems = [];
|
|
27
17
|
// load initial alarm.com page to gather required hidden form fields
|
|
28
|
-
await
|
|
18
|
+
await get(ADCLOGIN_URL)
|
|
29
19
|
.then((res) => {
|
|
30
20
|
const loginObj = {
|
|
31
21
|
__EVENTTARGET: null,
|
|
32
22
|
__EVENTARGUMENT: null,
|
|
33
23
|
__VIEWSTATEENCRYPTED: null,
|
|
34
|
-
__EVENTVALIDATION: res.body.match(/name="__EVENTVALIDATION".*?value="([^"]*)"/)[1],
|
|
35
|
-
__VIEWSTATE: res.body.match(/name="__VIEWSTATE".*?value="([^"]*)"/)[1],
|
|
36
|
-
__VIEWSTATEGENERATOR: res.body.match(/name="__VIEWSTATEGENERATOR".*?value="([^"]*)"/)[1],
|
|
37
|
-
__PREVIOUSPAGE: res.body.match(/name="__PREVIOUSPAGE".*?value="([^"]*)"/)[1],
|
|
24
|
+
__EVENTVALIDATION: res.body.match(/name="__EVENTVALIDATION".*?value="([^"]*)"/)[1] ?? null,
|
|
25
|
+
__VIEWSTATE: res.body.match(/name="__VIEWSTATE".*?value="([^"]*)"/)[1] ?? null,
|
|
26
|
+
__VIEWSTATEGENERATOR: res.body.match(/name="__VIEWSTATEGENERATOR".*?value="([^"]*)"/)[1] ?? null,
|
|
27
|
+
__PREVIOUSPAGE: res.body.match(/name="__PREVIOUSPAGE".*?value="([^"]*)"/)[1] ?? null,
|
|
38
28
|
IsFromNewSite: '1',
|
|
39
29
|
ctl00$ContentPlaceHolder1$loginform$txtUserName: username,
|
|
40
30
|
txtPassword: password
|
|
@@ -45,20 +35,23 @@ async function login(username, password, existingMfaToken) {
|
|
|
45
35
|
.join('&');
|
|
46
36
|
})
|
|
47
37
|
.catch((err) => {
|
|
48
|
-
throw new Error(`GET ${
|
|
38
|
+
throw new Error(`GET ${ADCLOGIN_URL} failed: ${describeError(err)}`);
|
|
49
39
|
});
|
|
50
|
-
await (
|
|
40
|
+
await fetch(ADCFORMLOGIN_URL, {
|
|
51
41
|
method: 'POST',
|
|
52
42
|
headers: {
|
|
53
43
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
54
|
-
'User-Agent':
|
|
44
|
+
'User-Agent': UA,
|
|
55
45
|
Cookie: `twoFactorAuthenticationId=${existingMfaToken};`
|
|
56
46
|
},
|
|
57
47
|
body: loginFormBody,
|
|
58
48
|
redirect: 'manual'
|
|
59
49
|
})
|
|
60
50
|
.then((res) => {
|
|
61
|
-
loginCookies =
|
|
51
|
+
loginCookies = res.headers
|
|
52
|
+
.getSetCookie()
|
|
53
|
+
.map((c) => c.split(';')[0])
|
|
54
|
+
.join('; ');
|
|
62
55
|
// gather ajaxkey for session headers
|
|
63
56
|
const re = /afg=([^;]+);/.exec(loginCookies);
|
|
64
57
|
if (!re) {
|
|
@@ -67,7 +60,7 @@ async function login(username, password, existingMfaToken) {
|
|
|
67
60
|
ajaxKey = re[1] ?? '';
|
|
68
61
|
})
|
|
69
62
|
.catch((err) => {
|
|
70
|
-
throw new Error(`POST ${
|
|
63
|
+
throw new Error(`POST ${ADCFORMLOGIN_URL} failed: ${describeError(err)}`);
|
|
71
64
|
});
|
|
72
65
|
await getIdentitiesState(loginCookies, ajaxKey)
|
|
73
66
|
.then((res) => {
|
|
@@ -77,7 +70,7 @@ async function login(username, password, existingMfaToken) {
|
|
|
77
70
|
});
|
|
78
71
|
})
|
|
79
72
|
.catch((err) => {
|
|
80
|
-
throw new Error(`GET ${
|
|
73
|
+
throw new Error(`GET ${IDENTITIES_URL} failed: ${describeError(err)}`);
|
|
81
74
|
});
|
|
82
75
|
return {
|
|
83
76
|
cookie: loginCookies,
|
|
@@ -90,14 +83,14 @@ async function login(username, password, existingMfaToken) {
|
|
|
90
83
|
* This function returns the alarm.com system identity for the currently logged in system.
|
|
91
84
|
* The information returned is useful for finding current systems and global config.
|
|
92
85
|
*/
|
|
93
|
-
async function getIdentitiesState(loginCookies, ajaxKey) {
|
|
94
|
-
return await
|
|
86
|
+
export async function getIdentitiesState(loginCookies, ajaxKey) {
|
|
87
|
+
return await get(IDENTITIES_URL, {
|
|
95
88
|
headers: {
|
|
96
89
|
Accept: 'application/vnd.api+json',
|
|
97
90
|
Cookie: loginCookies,
|
|
98
91
|
ajaxrequestuniquekey: ajaxKey,
|
|
99
92
|
Referer: 'https://www.alarm.com/web/system/home',
|
|
100
|
-
'User-Agent':
|
|
93
|
+
'User-Agent': UA
|
|
101
94
|
}
|
|
102
95
|
})
|
|
103
96
|
.then((res) => {
|
|
@@ -105,7 +98,7 @@ async function getIdentitiesState(loginCookies, ajaxKey) {
|
|
|
105
98
|
return res.body;
|
|
106
99
|
})
|
|
107
100
|
.catch((err) => {
|
|
108
|
-
throw new Error(`GET ${
|
|
101
|
+
throw new Error(`GET ${IDENTITIES_URL} failed: ${describeError(err)}`);
|
|
109
102
|
});
|
|
110
103
|
}
|
|
111
104
|
/**
|
|
@@ -118,40 +111,40 @@ async function getIdentitiesState(loginCookies, ajaxKey) {
|
|
|
118
111
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
119
112
|
* @returns {Promise}
|
|
120
113
|
*/
|
|
121
|
-
async function getCurrentState(systemID, authOpts) {
|
|
114
|
+
export async function getCurrentState(systemID, authOpts) {
|
|
122
115
|
// This call to the systems endpoint retrieves an overview of all devices in a system
|
|
123
|
-
const res = await
|
|
116
|
+
const res = await authenticatedGet(SYSTEM_URL + systemID, authOpts);
|
|
124
117
|
const rels = res.data.relationships;
|
|
125
118
|
const components = new Map();
|
|
126
119
|
// push the results of getComponents into the components
|
|
127
120
|
// Now we go through and get detailed information about all devices
|
|
128
121
|
const partitionIDs = rels.partitions.data.map((partition) => partition.id);
|
|
129
122
|
if (typeof partitionIDs[0] !== 'undefined') {
|
|
130
|
-
components.set('partitions', await
|
|
123
|
+
components.set('partitions', await getComponents(PARTITIONS_URL, partitionIDs, authOpts));
|
|
131
124
|
}
|
|
132
125
|
const sensorIDs = rels.sensors.data.map((sensor) => sensor.id);
|
|
133
126
|
if (typeof sensorIDs[0] !== 'undefined') {
|
|
134
|
-
components.set('sensors', await
|
|
127
|
+
components.set('sensors', await getComponents(SENSORS_URL, sensorIDs, authOpts));
|
|
135
128
|
}
|
|
136
129
|
const lightIDs = rels.lights.data.map((light) => light.id);
|
|
137
130
|
if (typeof lightIDs[0] !== 'undefined') {
|
|
138
|
-
components.set('lights', await
|
|
131
|
+
components.set('lights', await getComponents(LIGHTS_URL, lightIDs, authOpts));
|
|
139
132
|
}
|
|
140
133
|
const lockIDs = rels.locks.data.map((lock) => lock.id);
|
|
141
134
|
if (typeof lockIDs[0] !== 'undefined') {
|
|
142
|
-
components.set('locks', await
|
|
135
|
+
components.set('locks', await getComponents(LOCKS_URL, lockIDs, authOpts));
|
|
143
136
|
}
|
|
144
137
|
const garageIDs = rels.garageDoors.data.map((garage) => garage.id);
|
|
145
138
|
if (typeof garageIDs[0] !== 'undefined') {
|
|
146
|
-
components.set('garages', await
|
|
139
|
+
components.set('garages', await getComponents(GARAGE_URL, garageIDs, authOpts));
|
|
147
140
|
}
|
|
148
141
|
const thermostatIDs = rels.thermostats.data.map((thermostat) => thermostat.id);
|
|
149
142
|
if (typeof thermostatIDs[0] !== 'undefined') {
|
|
150
|
-
components.set('thermostats', await
|
|
143
|
+
components.set('thermostats', await getComponents(THERMOSTAT_URL, thermostatIDs, authOpts));
|
|
151
144
|
}
|
|
152
145
|
const cameraIDs = rels.cameras.data.map((camera) => camera.id);
|
|
153
146
|
if (typeof cameraIDs[0] !== 'undefined') {
|
|
154
|
-
components.set('cameras', await
|
|
147
|
+
components.set('cameras', await getComponents(CAMERAS_URL, cameraIDs, authOpts));
|
|
155
148
|
}
|
|
156
149
|
return {
|
|
157
150
|
id: res.data.id,
|
|
@@ -173,8 +166,8 @@ async function getCurrentState(systemID, authOpts) {
|
|
|
173
166
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
174
167
|
* @returns {Promise<WebSocketTokenResponse>}
|
|
175
168
|
*/
|
|
176
|
-
async function getWebSocketToken(authOpts) {
|
|
177
|
-
const res = await
|
|
169
|
+
export async function getWebSocketToken(authOpts) {
|
|
170
|
+
const res = await authenticatedGet(WEBSOCKET_TOKEN_URL, authOpts);
|
|
178
171
|
return {
|
|
179
172
|
value: res.value,
|
|
180
173
|
endpoint: res.metaData.endpoint,
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/garages.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthOpts } from './_models/AuthOpts';
|
|
2
|
-
import { GarageState } from './_models/DeviceStates';
|
|
1
|
+
import type { AuthOpts } from './_models/AuthOpts.js';
|
|
2
|
+
import type { GarageState } from './_models/DeviceStates.js';
|
|
3
3
|
/**
|
|
4
4
|
* Sets a garage to CLOSED.
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@ import { GarageState } from './_models/DeviceStates';
|
|
|
7
7
|
* @param {Object} authOpts Authentication object returned from the `login` method.
|
|
8
8
|
* @returns {Promise}
|
|
9
9
|
*/
|
|
10
|
-
export declare function closeGarage(garageID: string, authOpts: AuthOpts): Promise<
|
|
10
|
+
export declare function closeGarage(garageID: string, authOpts: AuthOpts): Promise<unknown>;
|
|
11
11
|
/**
|
|
12
12
|
* Sets a garage to OPEN.
|
|
13
13
|
*
|
|
@@ -15,5 +15,5 @@ export declare function closeGarage(garageID: string, authOpts: AuthOpts): Promi
|
|
|
15
15
|
* @param {Object} authOpts Authentication object returned from the `login` method.
|
|
16
16
|
* @returns {Promise}
|
|
17
17
|
*/
|
|
18
|
-
export declare function openGarage(garageID: string, authOpts: AuthOpts): Promise<
|
|
18
|
+
export declare function openGarage(garageID: string, authOpts: AuthOpts): Promise<unknown>;
|
|
19
19
|
export declare function getGarages(garageIDs: string[], authOpts: AuthOpts): Promise<GarageState[]>;
|
package/dist/garages.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.closeGarage = closeGarage;
|
|
4
|
-
exports.openGarage = openGarage;
|
|
5
|
-
exports.getGarages = getGarages;
|
|
6
|
-
const _utils_1 = require("./_utils");
|
|
1
|
+
import { GARAGE_URL, authenticatedGet, authenticatedPost } from './_utils.js';
|
|
7
2
|
/**
|
|
8
3
|
* Sets a garage to CLOSED.
|
|
9
4
|
*
|
|
@@ -11,14 +6,14 @@ const _utils_1 = require("./_utils");
|
|
|
11
6
|
* @param {Object} authOpts Authentication object returned from the `login` method.
|
|
12
7
|
* @returns {Promise}
|
|
13
8
|
*/
|
|
14
|
-
function closeGarage(garageID, authOpts) {
|
|
15
|
-
const url = `${
|
|
9
|
+
export function closeGarage(garageID, authOpts) {
|
|
10
|
+
const url = `${GARAGE_URL}${encodeURIComponent(garageID)}/close`;
|
|
16
11
|
const postOpts = Object.assign({}, authOpts, {
|
|
17
12
|
body: {
|
|
18
13
|
statePollOnly: false
|
|
19
14
|
}
|
|
20
15
|
});
|
|
21
|
-
return
|
|
16
|
+
return authenticatedPost(url, postOpts);
|
|
22
17
|
}
|
|
23
18
|
/**
|
|
24
19
|
* Sets a garage to OPEN.
|
|
@@ -27,20 +22,20 @@ function closeGarage(garageID, authOpts) {
|
|
|
27
22
|
* @param {Object} authOpts Authentication object returned from the `login` method.
|
|
28
23
|
* @returns {Promise}
|
|
29
24
|
*/
|
|
30
|
-
function openGarage(garageID, authOpts) {
|
|
31
|
-
const url = `${
|
|
25
|
+
export function openGarage(garageID, authOpts) {
|
|
26
|
+
const url = `${GARAGE_URL}${encodeURIComponent(garageID)}/open`;
|
|
32
27
|
const postOpts = Object.assign({}, authOpts, {
|
|
33
28
|
body: {
|
|
34
29
|
statePollOnly: false
|
|
35
30
|
}
|
|
36
31
|
});
|
|
37
|
-
return
|
|
32
|
+
return authenticatedPost(url, postOpts);
|
|
38
33
|
}
|
|
39
34
|
async function getGarage(garageID, authOpts) {
|
|
40
|
-
const res = await
|
|
35
|
+
const res = await authenticatedGet(`${GARAGE_URL}${encodeURIComponent(garageID)}`, authOpts);
|
|
41
36
|
return res.data;
|
|
42
37
|
}
|
|
43
|
-
async function getGarages(garageIDs, authOpts) {
|
|
38
|
+
export async function getGarages(garageIDs, authOpts) {
|
|
44
39
|
const results = await Promise.all(garageIDs.map((id) => getGarage(id, authOpts)));
|
|
45
40
|
return results.filter((g) => g !== undefined);
|
|
46
41
|
}
|
package/dist/garages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"garages.js","sourceRoot":"","sources":["../src/garages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"garages.js","sourceRoot":"","sources":["../src/garages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,QAAkB;IAC9D,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE;YACJ,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAkB;IAC7D,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE;YACJ,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,QAAkB;IAC3D,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAiB,GAAG,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7G,OAAO,GAAG,CAAC,IAAmB,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAmB,EAAE,QAAkB;IACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAClE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-alarm-dot-com
|
|
3
3
|
*/
|
|
4
|
-
export * from './_models/AuthOpts';
|
|
5
|
-
export * from './_models/DeviceStates';
|
|
6
|
-
export * from './_models/IdentityResponse';
|
|
7
|
-
export * from './_models/PartitionActionOptions';
|
|
8
|
-
export * from './_models/RequestOptions';
|
|
9
|
-
export * from './_models/SensorType';
|
|
10
|
-
export * from './_models/SystemState';
|
|
11
|
-
export * from './_models/WebSockets';
|
|
12
|
-
export { authenticatedGet, authenticatedPost, getComponents } from './_utils';
|
|
13
|
-
export * from './cameras';
|
|
14
|
-
export * from './core';
|
|
15
|
-
export * from './garages';
|
|
16
|
-
export * from './lights';
|
|
17
|
-
export * from './locks';
|
|
18
|
-
export * from './partitions';
|
|
19
|
-
export * from './sensors';
|
|
20
|
-
export * from './thermostats';
|
|
4
|
+
export * from './_models/AuthOpts.js';
|
|
5
|
+
export * from './_models/DeviceStates.js';
|
|
6
|
+
export * from './_models/IdentityResponse.js';
|
|
7
|
+
export * from './_models/PartitionActionOptions.js';
|
|
8
|
+
export * from './_models/RequestOptions.js';
|
|
9
|
+
export * from './_models/SensorType.js';
|
|
10
|
+
export * from './_models/SystemState.js';
|
|
11
|
+
export * from './_models/WebSockets.js';
|
|
12
|
+
export { authenticatedGet, authenticatedPost, getComponents } from './_utils.js';
|
|
13
|
+
export * from './cameras.js';
|
|
14
|
+
export * from './core.js';
|
|
15
|
+
export * from './garages.js';
|
|
16
|
+
export * from './lights.js';
|
|
17
|
+
export * from './locks.js';
|
|
18
|
+
export * from './partitions.js';
|
|
19
|
+
export * from './sensors.js';
|
|
20
|
+
export * from './thermostats.js';
|
package/dist/index.js
CHANGED
|
@@ -1,41 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* @module node-alarm-dot-com
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
__exportStar(require("./_models/DeviceStates"), exports);
|
|
23
|
-
__exportStar(require("./_models/IdentityResponse"), exports);
|
|
24
|
-
__exportStar(require("./_models/PartitionActionOptions"), exports);
|
|
25
|
-
__exportStar(require("./_models/RequestOptions"), exports);
|
|
26
|
-
__exportStar(require("./_models/SensorType"), exports);
|
|
27
|
-
__exportStar(require("./_models/SystemState"), exports);
|
|
28
|
-
__exportStar(require("./_models/WebSockets"), exports);
|
|
29
|
-
var _utils_1 = require("./_utils");
|
|
30
|
-
Object.defineProperty(exports, "authenticatedGet", { enumerable: true, get: function () { return _utils_1.authenticatedGet; } });
|
|
31
|
-
Object.defineProperty(exports, "authenticatedPost", { enumerable: true, get: function () { return _utils_1.authenticatedPost; } });
|
|
32
|
-
Object.defineProperty(exports, "getComponents", { enumerable: true, get: function () { return _utils_1.getComponents; } });
|
|
33
|
-
__exportStar(require("./cameras"), exports);
|
|
34
|
-
__exportStar(require("./core"), exports);
|
|
35
|
-
__exportStar(require("./garages"), exports);
|
|
36
|
-
__exportStar(require("./lights"), exports);
|
|
37
|
-
__exportStar(require("./locks"), exports);
|
|
38
|
-
__exportStar(require("./partitions"), exports);
|
|
39
|
-
__exportStar(require("./sensors"), exports);
|
|
40
|
-
__exportStar(require("./thermostats"), exports);
|
|
4
|
+
export * from './_models/AuthOpts.js';
|
|
5
|
+
export * from './_models/DeviceStates.js';
|
|
6
|
+
export * from './_models/IdentityResponse.js';
|
|
7
|
+
export * from './_models/PartitionActionOptions.js';
|
|
8
|
+
export * from './_models/RequestOptions.js';
|
|
9
|
+
export * from './_models/SensorType.js';
|
|
10
|
+
export * from './_models/SystemState.js';
|
|
11
|
+
export * from './_models/WebSockets.js';
|
|
12
|
+
export { authenticatedGet, authenticatedPost, getComponents } from './_utils.js';
|
|
13
|
+
export * from './cameras.js';
|
|
14
|
+
export * from './core.js';
|
|
15
|
+
export * from './garages.js';
|
|
16
|
+
export * from './lights.js';
|
|
17
|
+
export * from './locks.js';
|
|
18
|
+
export * from './partitions.js';
|
|
19
|
+
export * from './sensors.js';
|
|
20
|
+
export * from './thermostats.js';
|
|
41
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjF,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
|
package/dist/lights.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthOpts } from './_models/AuthOpts';
|
|
2
|
-
import { LightState } from './_models/DeviceStates';
|
|
1
|
+
import type { AuthOpts } from './_models/AuthOpts.js';
|
|
2
|
+
import type { LightState } from './_models/DeviceStates.js';
|
|
3
3
|
/**
|
|
4
4
|
* Convenience Method:
|
|
5
5
|
* Sets a light to ON and adjusts brightness level (1-100) of dimmable lights.
|
|
@@ -10,7 +10,7 @@ import { LightState } from './_models/DeviceStates';
|
|
|
10
10
|
* @param {boolean} isDimmer Indicates whether or not light is dimmable.
|
|
11
11
|
* @returns {Promise}
|
|
12
12
|
*/
|
|
13
|
-
export declare function setLightOn(lightID: string, authOpts: AuthOpts, brightness: number, isDimmer: boolean): Promise<
|
|
13
|
+
export declare function setLightOn(lightID: string, authOpts: AuthOpts, brightness: number, isDimmer: boolean): Promise<unknown>;
|
|
14
14
|
/**
|
|
15
15
|
* Convenience Method:
|
|
16
16
|
* Sets a light to OFF. The brightness level is ignored.
|
|
@@ -21,5 +21,5 @@ export declare function setLightOn(lightID: string, authOpts: AuthOpts, brightne
|
|
|
21
21
|
* @param {boolean} isDimmer Indicates whether or not light is dimmable.
|
|
22
22
|
* @returns {Promise}
|
|
23
23
|
*/
|
|
24
|
-
export declare function setLightOff(lightID: string, authOpts: AuthOpts, brightness: number, isDimmer: boolean): Promise<
|
|
24
|
+
export declare function setLightOff(lightID: string, authOpts: AuthOpts, brightness: number, isDimmer: boolean): Promise<unknown>;
|
|
25
25
|
export declare function getLights(lightIDs: string[], authOpts: AuthOpts): Promise<LightState[]>;
|
package/dist/lights.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setLightOn = setLightOn;
|
|
4
|
-
exports.setLightOff = setLightOff;
|
|
5
|
-
exports.getLights = getLights;
|
|
6
|
-
const _utils_1 = require("./_utils");
|
|
1
|
+
import { LIGHTS_URL, authenticatedGet, authenticatedPost } from './_utils.js';
|
|
7
2
|
/**
|
|
8
3
|
* Perform non-dimmable light actions, i.e. turn on, turn off
|
|
9
4
|
*
|
|
@@ -12,13 +7,13 @@ const _utils_1 = require("./_utils");
|
|
|
12
7
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
13
8
|
*/
|
|
14
9
|
function lightAction(lightID, authOpts, action) {
|
|
15
|
-
const url = `${
|
|
10
|
+
const url = `${LIGHTS_URL}${encodeURIComponent(lightID)}/${action}`;
|
|
16
11
|
const postOpts = Object.assign({}, authOpts, {
|
|
17
12
|
body: {
|
|
18
13
|
statePollOnly: false
|
|
19
14
|
}
|
|
20
15
|
});
|
|
21
|
-
return
|
|
16
|
+
return authenticatedPost(url, postOpts);
|
|
22
17
|
}
|
|
23
18
|
/**
|
|
24
19
|
* Perform dimmable light actions, e.g., turn on, turn off, change brightness level.
|
|
@@ -29,14 +24,14 @@ function lightAction(lightID, authOpts, action) {
|
|
|
29
24
|
* @param {number} brightness An integer, 1-100, indicating brightness.
|
|
30
25
|
*/
|
|
31
26
|
function dimmerAction(lightID, authOpts, brightness, action) {
|
|
32
|
-
const url = `${
|
|
27
|
+
const url = `${LIGHTS_URL}${encodeURIComponent(lightID)}/${action}`;
|
|
33
28
|
const postOpts = Object.assign({}, authOpts, {
|
|
34
29
|
body: {
|
|
35
30
|
dimmerLevel: brightness,
|
|
36
31
|
statePollOnly: false
|
|
37
32
|
}
|
|
38
33
|
});
|
|
39
|
-
return
|
|
34
|
+
return authenticatedPost(url, postOpts);
|
|
40
35
|
}
|
|
41
36
|
/**
|
|
42
37
|
* Convenience Method:
|
|
@@ -48,7 +43,7 @@ function dimmerAction(lightID, authOpts, brightness, action) {
|
|
|
48
43
|
* @param {boolean} isDimmer Indicates whether or not light is dimmable.
|
|
49
44
|
* @returns {Promise}
|
|
50
45
|
*/
|
|
51
|
-
function setLightOn(lightID, authOpts, brightness, isDimmer) {
|
|
46
|
+
export function setLightOn(lightID, authOpts, brightness, isDimmer) {
|
|
52
47
|
if (isDimmer) {
|
|
53
48
|
return dimmerAction(lightID, authOpts, brightness, 'turnOn');
|
|
54
49
|
}
|
|
@@ -66,7 +61,7 @@ function setLightOn(lightID, authOpts, brightness, isDimmer) {
|
|
|
66
61
|
* @param {boolean} isDimmer Indicates whether or not light is dimmable.
|
|
67
62
|
* @returns {Promise}
|
|
68
63
|
*/
|
|
69
|
-
function setLightOff(lightID, authOpts, brightness, isDimmer) {
|
|
64
|
+
export function setLightOff(lightID, authOpts, brightness, isDimmer) {
|
|
70
65
|
if (isDimmer) {
|
|
71
66
|
return dimmerAction(lightID, authOpts, brightness, 'turnOff');
|
|
72
67
|
}
|
|
@@ -75,10 +70,10 @@ function setLightOff(lightID, authOpts, brightness, isDimmer) {
|
|
|
75
70
|
}
|
|
76
71
|
}
|
|
77
72
|
async function getLight(lightID, authOpts) {
|
|
78
|
-
const res = await
|
|
73
|
+
const res = await authenticatedGet(`${LIGHTS_URL}${encodeURIComponent(lightID)}`, authOpts);
|
|
79
74
|
return res.data;
|
|
80
75
|
}
|
|
81
|
-
async function getLights(lightIDs, authOpts) {
|
|
76
|
+
export async function getLights(lightIDs, authOpts) {
|
|
82
77
|
const results = await Promise.all(lightIDs.map((id) => getLight(id, authOpts)));
|
|
83
78
|
return results.filter((l) => l !== undefined);
|
|
84
79
|
}
|
package/dist/lights.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lights.js","sourceRoot":"","sources":["../src/lights.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lights.js","sourceRoot":"","sources":["../src/lights.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9E;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,OAAe,EAAE,QAAkB,EAAE,MAAc;IACtE,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE;YACJ,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,QAAkB,EAAE,UAAkB,EAAE,MAAc;IAC3F,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE;YACJ,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,QAAkB,EAAE,UAAkB,EAAE,QAAiB;IACnG,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,QAAkB,EAAE,UAAkB,EAAE,QAAiB;IACpG,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,QAAkB;IACzD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAiB,GAAG,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5G,OAAO,GAAG,CAAC,IAAkB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB,EAAE,QAAkB;IACpE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/locks.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthOpts } from './_models/AuthOpts';
|
|
2
|
-
import { LockState } from './_models/DeviceStates';
|
|
1
|
+
import type { AuthOpts } from './_models/AuthOpts.js';
|
|
2
|
+
import type { LockState } from './_models/DeviceStates.js';
|
|
3
3
|
/**
|
|
4
4
|
* Convenience Method:
|
|
5
5
|
* Sets a lock to "locked" (SECURED).
|
|
@@ -8,7 +8,7 @@ import { LockState } from './_models/DeviceStates';
|
|
|
8
8
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
9
9
|
* @returns {Promise}
|
|
10
10
|
*/
|
|
11
|
-
export declare function setLockSecure(lockID: string, authOpts: AuthOpts): Promise<
|
|
11
|
+
export declare function setLockSecure(lockID: string, authOpts: AuthOpts): Promise<unknown>;
|
|
12
12
|
/**
|
|
13
13
|
* Convenience Method:
|
|
14
14
|
* Sets a lock to "unlocked" (UNSECURED).
|
|
@@ -17,5 +17,5 @@ export declare function setLockSecure(lockID: string, authOpts: AuthOpts): Promi
|
|
|
17
17
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
18
18
|
* @returns {Promise}
|
|
19
19
|
*/
|
|
20
|
-
export declare function setLockUnsecure(lockID: string, authOpts: AuthOpts): Promise<
|
|
20
|
+
export declare function setLockUnsecure(lockID: string, authOpts: AuthOpts): Promise<unknown>;
|
|
21
21
|
export declare function getLocks(lockIDs: string[], authOpts: AuthOpts): Promise<LockState[]>;
|
package/dist/locks.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setLockSecure = setLockSecure;
|
|
4
|
-
exports.setLockUnsecure = setLockUnsecure;
|
|
5
|
-
exports.getLocks = getLocks;
|
|
6
|
-
const _utils_1 = require("./_utils");
|
|
1
|
+
import { LOCKS_URL, authenticatedGet, authenticatedPost } from './_utils.js';
|
|
7
2
|
/**
|
|
8
3
|
* Perform lock actions, e.g., lock, unlock.
|
|
9
4
|
*
|
|
@@ -12,13 +7,13 @@ const _utils_1 = require("./_utils");
|
|
|
12
7
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
13
8
|
*/
|
|
14
9
|
function lockAction(lockID, authOpts, action) {
|
|
15
|
-
const url = `${
|
|
10
|
+
const url = `${LOCKS_URL}${encodeURIComponent(lockID)}/${action}`;
|
|
16
11
|
const postOpts = Object.assign({}, authOpts, {
|
|
17
12
|
body: {
|
|
18
13
|
statePollOnly: false
|
|
19
14
|
}
|
|
20
15
|
});
|
|
21
|
-
return
|
|
16
|
+
return authenticatedPost(url, postOpts);
|
|
22
17
|
}
|
|
23
18
|
/**
|
|
24
19
|
* Convenience Method:
|
|
@@ -28,7 +23,7 @@ function lockAction(lockID, authOpts, action) {
|
|
|
28
23
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
29
24
|
* @returns {Promise}
|
|
30
25
|
*/
|
|
31
|
-
function setLockSecure(lockID, authOpts) {
|
|
26
|
+
export function setLockSecure(lockID, authOpts) {
|
|
32
27
|
return lockAction(lockID, authOpts, 'lock');
|
|
33
28
|
}
|
|
34
29
|
/**
|
|
@@ -39,14 +34,14 @@ function setLockSecure(lockID, authOpts) {
|
|
|
39
34
|
* @param {Object} authOpts Authentication object returned from the login.
|
|
40
35
|
* @returns {Promise}
|
|
41
36
|
*/
|
|
42
|
-
function setLockUnsecure(lockID, authOpts) {
|
|
37
|
+
export function setLockUnsecure(lockID, authOpts) {
|
|
43
38
|
return lockAction(lockID, authOpts, 'unlock');
|
|
44
39
|
}
|
|
45
40
|
async function getLock(lockID, authOpts) {
|
|
46
|
-
const res = await
|
|
41
|
+
const res = await authenticatedGet(`${LOCKS_URL}${encodeURIComponent(lockID)}`, authOpts);
|
|
47
42
|
return res.data;
|
|
48
43
|
}
|
|
49
|
-
async function getLocks(lockIDs, authOpts) {
|
|
44
|
+
export async function getLocks(lockIDs, authOpts) {
|
|
50
45
|
const results = await Promise.all(lockIDs.map((id) => getLock(id, authOpts)));
|
|
51
46
|
return results.filter((l) => l !== undefined);
|
|
52
47
|
}
|
package/dist/locks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locks.js","sourceRoot":"","sources":["../src/locks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"locks.js","sourceRoot":"","sources":["../src/locks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE7E;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,QAAkB,EAAE,MAAc;IACpE,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE;YACJ,aAAa,EAAE,KAAK;SACrB;KACF,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAkB;IAC9D,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,QAAkB;IAChE,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,QAAkB;IACvD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAiB,GAAG,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1G,OAAO,GAAG,CAAC,IAAiB,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAiB,EAAE,QAAkB;IAClE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAChE,CAAC"}
|