aboutsummaryrefslogtreecommitdiff
path: root/src/client/cognitive_services/CognitiveServices.ts
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-12-03 01:46:36 -0500
committerSam Wilkins <samwilkins333@gmail.com>2019-12-03 01:46:36 -0500
commitef94ad7df2a087141ddb8d347d3e3c484ff7609b (patch)
treea7c16be04ff4050da1ff03e02f59df6da4f5f7e2 /src/client/cognitive_services/CognitiveServices.ts
parent62c888ad25c5580441eaf947a1a0f1638939b868 (diff)
const linter rule and restored google docs push, fixed routing
Diffstat (limited to 'src/client/cognitive_services/CognitiveServices.ts')
-rw-r--r--src/client/cognitive_services/CognitiveServices.ts50
1 files changed, 23 insertions, 27 deletions
diff --git a/src/client/cognitive_services/CognitiveServices.ts b/src/client/cognitive_services/CognitiveServices.ts
index 5a7f5e991..02eff3b25 100644
--- a/src/client/cognitive_services/CognitiveServices.ts
+++ b/src/client/cognitive_services/CognitiveServices.ts
@@ -1,5 +1,5 @@
import * as request from "request-promise";
-import { Doc, Field, Opt } from "../../new_fields/Doc";
+import { Doc, Field } from "../../new_fields/Doc";
import { Cast } from "../../new_fields/Types";
import { Docs } from "../documents/Documents";
import { Utils } from "../../Utils";
@@ -101,14 +101,14 @@ export namespace CognitiveServices {
export namespace Appliers {
export const ProcessImage: AnalysisApplier<string> = async (target: Doc, keys: string[], url: string, service: Service, converter: Converter) => {
- let batch = UndoManager.StartBatch("Image Analysis");
+ const batch = UndoManager.StartBatch("Image Analysis");
- let storageKey = keys[0];
+ const storageKey = keys[0];
if (!url || await Cast(target[storageKey], Doc)) {
return;
}
let toStore: any;
- let results = await ExecuteQuery(service, Manager, url);
+ const results = await ExecuteQuery(service, Manager, url);
if (!results) {
toStore = "Cognitive Services could not process the given image URL.";
} else {
@@ -131,36 +131,32 @@ export namespace CognitiveServices {
export namespace Inking {
- export const Manager: APIManager<InkData> = {
-
- converter: (inkData: InkData): string => {
- let entries = inkData.entries(), next = entries.next();
- let strokes: AzureStrokeData[] = [], id = 0;
- while (!next.done) {
- strokes.push({
- id: id++,
- points: next.value[1].pathData.map(point => `${point.x},${point.y}`).join(","),
- language: "en-US"
- });
- next = entries.next();
- }
+ export const Manager: APIManager<InkData[]> = {
+
+ converter: (inkData: InkData[]): string => {
+ let id = 0;
+ const strokes: AzureStrokeData[] = inkData.map(points => ({
+ id: id++,
+ points: points.map(({ x, y }) => `${x},${y}`).join(","),
+ language: "en-US"
+ }));
return JSON.stringify({
version: 1,
language: "en-US",
unit: "mm",
- strokes: strokes
+ strokes
});
},
requester: async (apiKey: string, body: string) => {
- let xhttp = new XMLHttpRequest();
- let serverAddress = "https://api.cognitive.microsoft.com";
- let endpoint = serverAddress + "/inkrecognizer/v1.0-preview/recognize";
+ const xhttp = new XMLHttpRequest();
+ const serverAddress = "https://api.cognitive.microsoft.com";
+ const endpoint = serverAddress + "/inkrecognizer/v1.0-preview/recognize";
- let promisified = (resolve: any, reject: any) => {
+ const promisified = (resolve: any, reject: any) => {
xhttp.onreadystatechange = function () {
if (this.readyState === 4) {
- let result = xhttp.responseText;
+ const result = xhttp.responseText;
switch (this.status) {
case 200:
return resolve(result);
@@ -184,15 +180,15 @@ export namespace CognitiveServices {
export namespace Appliers {
- export const ConcatenateHandwriting: AnalysisApplier<InkData> = async (target: Doc, keys: string[], inkData: InkData) => {
- let batch = UndoManager.StartBatch("Ink Analysis");
+ export const ConcatenateHandwriting: AnalysisApplier<InkData[]> = async (target: Doc, keys: string[], inkData: InkData[]) => {
+ const batch = UndoManager.StartBatch("Ink Analysis");
let results = await ExecuteQuery(Service.Handwriting, Manager, inkData);
if (results) {
results.recognitionUnits && (results = results.recognitionUnits);
target[keys[0]] = Docs.Get.DocumentHierarchyFromJson(results, "Ink Analysis");
- let recognizedText = results.map((item: any) => item.recognizedText);
- let individualWords = recognizedText.filter((text: string) => text && text.split(" ").length === 1);
+ const recognizedText = results.map((item: any) => item.recognizedText);
+ const individualWords = recognizedText.filter((text: string) => text && text.split(" ").length === 1);
target[keys[1]] = individualWords.join(" ");
}