Skip to content

Commit

Permalink
Add type resolver and remove multiple reflect-metadata (should be cal…
Browse files Browse the repository at this point in the history
…led once)
  • Loading branch information
lukgla committed Jun 17, 2024
1 parent 2be5645 commit c82bcf2
Show file tree
Hide file tree
Showing 22 changed files with 37 additions and 25 deletions.
2 changes: 1 addition & 1 deletion src/engine/transforms/BinaryTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import {jsonObject} from "typedjson";
import Transform from "../Transform";
import {GUID} from "../iengine";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/ConvolutionTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import { jsonObject } from "typedjson";
import KernelComponent from "../../components/transforms/KernelComponent";
import Transform, { KVParams } from "../Transform";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/MorphologicTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import KernelComponent from "../../components/transforms/KernelComponent";
import Transform, { KVParams } from "../Transform";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/PointTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import { jsonObject } from "typedjson";
import PointComponent from "../../components/transforms/PointComponent";
import Transform from "../Transform";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/PoolingTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import Transform, { KVParams } from "../Transform";
import { ReactNode } from "react";
Expand Down
2 changes: 0 additions & 2 deletions src/engine/transforms/SourceTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import 'reflect-metadata'

import {ReactNode} from "react";
import Transform from "../Transform";
import {jsonMember, jsonObject} from "typedjson";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/TernaryTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import { jsonObject } from "typedjson";
import Transform from "../Transform";
import { GUID } from "../iengine";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/convolution/GaussianTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import { jsonObject } from "typedjson";
import ConvolutionTransform from "../ConvolutionTransform";

Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/convolution/LaplaceTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import { jsonObject } from "typedjson";
import ConvolutionTransform from "../ConvolutionTransform";

Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/convolution/SobelTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import ConvolutionTransform from "../ConvolutionTransform";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import {jsonObject} from "typedjson";
import Transform from "../../Transform";
import {GUID} from "../../iengine";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/AndTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import { BitwiseTransform } from "./BitwiseTransform";

Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/BitwiseTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import { jsonObject } from "typedjson";
import PointTransform from "../PointTransform";

Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/BrightnessTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import PointTransform from "../PointTransform";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import "reflect-metadata"

import { jsonObject } from "typedjson";
import Transform from "../../Transform";
import { GUID } from "../../iengine";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/GrayscaleTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import PointTransform from "../PointTransform";

Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/OrTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import { BitwiseTransform } from "./BitwiseTransform";

Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/ThresholdTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import PointTransform from "../PointTransform";
import { GUID } from "../../engine";
Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/XorTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonObject } from "typedjson";
import { BitwiseTransform } from "./BitwiseTransform";

Expand Down
2 changes: 1 addition & 1 deletion src/engine/transforms/point/YCbCrTransform.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import "reflect-metadata"

import { jsonArrayMember, jsonMember, jsonObject } from "typedjson";
import PointTransform from "../PointTransform";

Expand Down
1 change: 1 addition & 0 deletions src/index.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import 'reflect-metadata'
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
Expand Down
21 changes: 17 additions & 4 deletions src/stores/notebookStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,19 @@ import LSHandler from "../persistence/lshandler";
import DebugHandler from "../persistence/debughandler";
import {ImageStore} from "./imageStore";

const resolver = nameof

function nameof(fn: Function & {name?: string}) {
if (fn.prototype?.__typedJsonJsonObjectMetadataInformation__?.name){
return fn.prototype.__typedJsonJsonObjectMetadataInformation__.name
}
if (typeof fn.name as string | undefined === 'string') {
console.log(fn.name)
return fn.name;
}
return 'undefined';
}

export class NotebookStore {
stores: Array<[string, TopStore]>
selectedIx: number
Expand All @@ -29,7 +42,7 @@ export class NotebookStore {
const list = JSON.parse(cache) as string[];
list.forEach(name => {
const cache = this.persistence.read("store_" + name);
const store = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes())}).parse(cache)!;
const store = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes()),nameResolver: resolver }).parse(cache)!;
if (store) {
this.bindSave(store);
store.fixSerialization();
Expand Down Expand Up @@ -59,7 +72,7 @@ export class NotebookStore {
if (record.length) {
console.log("Store saved")
const name = record[0][0];
const serializer = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes())});
const serializer = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes()),nameResolver: resolver});
const body = serializer.stringify(store);
this.persistence.write("store_" + name, body);
} else {
Expand Down Expand Up @@ -128,15 +141,15 @@ export class NotebookStore {

// This is a litle funky, call it from UI only. It should be fine as long a user is slow.
public saveNotebook() {
const serializer = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes())});
const serializer = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes()),nameResolver: resolver});
const body = serializer.stringify(this.selected);
return body;
}

public loadNotebook(name: string, body: string) {
name = this.availableName(name);
this.persistence.write("store_" + name, body);
let json = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes())});
let json = new TypedJSON(TopStore, {knownTypes: Array.from(knownTypes()),nameResolver: resolver});
this.selected = json.parse(body)!;
this.bindSave(this.selected);
this.stores.push([name, this.selected])
Expand Down

0 comments on commit c82bcf2

Please sign in to comment.