Migrated all unit tests to TypeScript

This commit is contained in:
Igor Zinken
2023-03-23 21:24:56 +01:00
parent 7c99fa0cb1
commit ee6dd0b556
28 changed files with 17 additions and 14 deletions

View File

@@ -20,13 +20,20 @@
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import type { Layer } from "@/definitions/document";
import type { Layer, Filters, Text } from "@/definitions/document";
const layerCache: Map<string, any> = new Map();
export type RenderCache = {
text?: Text;
textBitmap?: HTMLCanvasElement;
filters?: Filters;
filterData?: ImageData;
};
export const getLayerCache = ( layer: Layer ): any => layerCache.get( layer.id );
const layerCache: Map<string, RenderCache> = new Map();
export const setLayerCache = ( layer: Layer, props: any ): void => {
export const getLayerCache = ( layer: Layer ): RenderCache => layerCache.get( layer.id );
export const setLayerCache = ( layer: Layer, props: RenderCache ): void => {
const cache = getLayerCache( layer ) ?? {};
layerCache.set( layer.id, { ...cache, ...props });
};
@@ -35,7 +42,9 @@ export const hasLayerCache = ( layer: Layer ): boolean => layerCache.has( layer.
export const clearCacheProperty = ( layer: Layer, propertyName: string ): void => {
const cache = getLayerCache( layer );
// @ts-expect-error using string as key
if ( cache?.[ propertyName ] ) {
// @ts-expect-error using string as key
delete cache[ propertyName ];
}
};

View File

@@ -21,7 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import Vue from "vue";
import type { Layer, Filters, Text } from "@/definitions/document";
import type { Layer } from "@/definitions/document";
import { LayerTypes } from "@/definitions/layer-types";
import { getSpriteForLayer } from "@/factories/sprite-factory";
import { hasFilters, isEqual as isFiltersEqual } from "@/factories/filters-factory";
@@ -29,6 +29,7 @@ import { isEqual as isTextEqual } from "@/factories/text-factory";
import { createCanvas, cloneCanvas, matchDimensions } from "@/utils/canvas-util";
import { replaceLayerSource } from "@/utils/layer-util";
import { getLayerCache, setLayerCache } from "@/rendering/cache/bitmap-cache";
import type { RenderCache } from "@/rendering/cache/bitmap-cache";
import { renderMultiLineText } from "@/rendering/text";
import { loadGoogleFont } from "@/services/font-service";
import FilterWorker from "@/workers/filter.worker?worker";
@@ -40,13 +41,6 @@ type RenderJob = {
error: ( error?: any ) => void;
};
type RenderCache = {
text?: Text;
textBitmap?: HTMLCanvasElement;
filters?: Filters;
filterData?: ImageData;
};
const jobQueue: RenderJob[] = [];
let UID = 0;

View File

@@ -11,7 +11,7 @@
"noImplicitAny": true,
"removeComments": true,
"paths": {
"@/*": [ "./src/*" ]
"@/*": [ "./src/*", "./tests/*" ]
}
},
"exclude": [

View File

@@ -1,6 +1,6 @@
{
"extends": "./tsconfig.app.json",
"includes": [ "src/**/*.ts" ],
"includes": [ "src/**/*.ts", "tests/**/*.ts" ],
"compilerOptions": {
"skipLibCheck": true
}