From 32e4db9baeb96330e472ce81326e3ead222acaaa Mon Sep 17 00:00:00 2001 From: Sandwich <299465+dskvr@users.noreply.github.com> Date: Tue, 7 Jan 2025 11:17:50 +0700 Subject: [PATCH] schemata + js-ajv validator --- .../services/SchemaValidationService/index.ts | 5 +++++ .../schemavalidation.worker.ts | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 apps/gui/src/lib/services/SchemaValidationService/index.ts create mode 100644 apps/gui/src/lib/services/SchemaValidationService/schemavalidation.worker.ts diff --git a/apps/gui/src/lib/services/SchemaValidationService/index.ts b/apps/gui/src/lib/services/SchemaValidationService/index.ts new file mode 100644 index 00000000..3b1a91a0 --- /dev/null +++ b/apps/gui/src/lib/services/SchemaValidationService/index.ts @@ -0,0 +1,5 @@ +export class SchemaValidationService { + + constructor(){} + +} \ No newline at end of file diff --git a/apps/gui/src/lib/services/SchemaValidationService/schemavalidation.worker.ts b/apps/gui/src/lib/services/SchemaValidationService/schemavalidation.worker.ts new file mode 100644 index 00000000..ea659a4a --- /dev/null +++ b/apps/gui/src/lib/services/SchemaValidationService/schemavalidation.worker.ts @@ -0,0 +1,19 @@ +import Ajv from 'ajv' + +const validate = async (relay: string, checks: string[]): Promise => { + const nocap = new Nocap(relay) + return nocap.check(checks) +} + +self.onmessage = ({ data }) => { + const { relay, checks } = data as NocapRequestMessage; + check(relay, checks) + .then( (results: any) => { + const message: NocapResultMessage = {relay, results} + self.postMessage(message) + }) + .catch( (error: any) => { + const message: NocapResultMessage = {relay, error} + self.postMessage(message) + }) +} \ No newline at end of file