Created
October 24, 2018 01:33
-
-
Save galvesribeiro/0a9ce555d98c95f5256e8374c64f9d64 to your computer and use it in GitHub Desktop.
Crap test TS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public RequestDevice = (options: USBRequestDeviceOptions): Promise<DeviceFound> => { | |
function isEmpty(obj) { | |
for (var prop in obj) { | |
if (Object.prototype.hasOwnProperty.call(obj, prop)) { | |
return false; | |
} | |
} | |
return true; | |
} | |
let filters: any[] = []; | |
let reqOptions: any = undefined; | |
console.log(options); | |
if (options && options != null && options.filters && options.filters != null && options.filters.length > 0) { | |
options.filters.forEach(f => { | |
let filter: any = {}; | |
console.log('Filter:'); | |
console.log(f); | |
if (f.ClassCode !== null) { | |
console.log("ClassCode"); | |
filter['classCode'] = f.ClassCode; | |
console.log(filter); | |
} | |
if (f.ProductId !== null) { | |
console.log("ProductId"); | |
filter = Object.assign({}, ...filter, f.ProductId); | |
} | |
if (f.ProtocolCode !== null) { | |
console.log("ProtocolCode"); | |
filter = Object.assign({}, ...filter, f.ProtocolCode); | |
} | |
if (f.SerialNumber !== null) { | |
console.log("SerialNumber"); | |
filter = Object.assign({}, ...filter, f.SerialNumber); | |
} | |
if (f.SubClassCode !== null) { | |
console.log("SubClassCode"); | |
filter = Object.assign({}, ...filter, f.SubClassCode); | |
} | |
if (f.VendorId !== null) { | |
console.log("VendorId"); | |
filter = Object.assign({}, ...filter, f.VendorId); | |
} | |
if (!isEmpty(filter)) { | |
console.log("Push"); | |
filters.push(filter); | |
} | |
}); | |
if (filters.length > 0) { | |
reqOptions = { filters: filters }; | |
} | |
} else { | |
reqOptions = { filters: [] }; | |
} | |
console.log('Options:'); | |
console.log(reqOptions); | |
return new Promise((resolve, reject) => { | |
this.usb.requestDevice(reqOptions)//{ filters: [{ productId: 0x0028, vendorId: 0x079b, serialNumber: "", classCode: 0 }, { productId: 0xc902, vendorId: 0x1753, serialNumber: "", classCode: 0 }] }) | |
.then(device => { | |
console.log(device); | |
let found = { VendorId: device.vendorId, ProductId: device.productId, }; | |
resolve(found); | |
}) | |
.catch(err => reject(err)); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment