Started working on sandbox

This commit is contained in:
Christoph Oberhofer
2016-06-20 06:53:04 +02:00
parent 308544c0dd
commit d6f1ed59ad
17 changed files with 1511 additions and 871 deletions
+36 -8
View File
@@ -35,15 +35,40 @@ function fromSource(config, source, inputConfig = {}) {
return this;
},
toPromise() {
// how to cancel?? timeout!
return new Promise((resolve, reject) => {
scanner.decodeSingle(config, (result) => {
if (result && result.codeResult && result.codeResult.code) {
return resolve(result);
}
return reject(result);
if (config.inputStream.type === 'LiveStream'
|| config.inputStream.type === 'VideoStream') {
let cancelRequested = false;
return {
cancel() {
cancelRequested = true;
},
promise: new Promise((resolve, reject) => {
function onProcessed(result) {
if (result && result.codeResult && result.codeResult.code) {
scanner.stop();
scanner.unsubscribe("processed", onProcessed);
resolve(result);
}
if (cancelRequested) {
scanner.stop();
scanner.unsubscribe("processed", onProcessed);
reject("cancelled!");
}
}
scanner.subscribe("processed", onProcessed);
this.start();
})
};
} else {
return new Promise((resolve, reject) => {
scanner.decodeSingle(config, (result) => {
if (result && result.codeResult && result.codeResult.code) {
return resolve(result);
}
return reject(result);
});
});
});
}
}
};
}
@@ -66,6 +91,9 @@ function createApi(configuration = Config) {
locator(conf) {
return setConfig(configuration, "locator", conf);
},
throttle(timeInMs) {
return setConfig(configuration, "frequency", 1000 / parseInt(timeInMs));
},
config(conf) {
return createApi(merge({}, configuration, conf));
},