@firebolt-js/manage-sdk
Version:
The Firebolt Manage JS SDK
84 lines (69 loc) • 2.05 kB
JavaScript
/*
* Copyright 2021 Comcast Cable Communications Management, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* SPDX-License-Identifier: Apache-2.0
*/
import Transport from '../Transport/index.mjs'
import Events from '../Events/index.mjs'
import { registerEvents } from '../Events/index.mjs'
import Prop from '../Prop/index.mjs'
registerEvents('Device', ['deviceNameChanged', 'nameChanged'])
Transport.registerDeprecatedMethod(
'Device',
'onDeviceNameChanged',
'Use Device.name() instead.',
)
// onDeviceNameChanged is accessed via listen('deviceNameChanged, ...)
// onNameChanged is accessed via listen('nameChanged, ...)
// Methods
function clear(...args) {
return Events.clear('Device', ...args)
}
function listen(...args) {
return Events.listen('Device', ...args)
}
function name() {
let callbackOrValue = arguments[0]
let params = {}
// x-subscriber-type: global
if (arguments.length === 1 && typeof arguments[0] === 'function') {
callbackOrValue = arguments[0]
params = {}
}
return Prop.prop('Device', 'name', params, callbackOrValue, false, false, 0)
}
function once(...args) {
return Events.once('Device', ...args)
}
function provision(accountId, deviceId, distributorId) {
const transforms = null
return Transport.send(
'Device',
'provision',
{ accountId, deviceId, distributorId },
transforms,
)
}
export default {
Events: {
DEVICE_NAME_CHANGED: 'deviceNameChanged',
NAME_CHANGED: 'nameChanged',
},
clear,
listen,
name,
once,
provision,
}