Use new eslint-plugin-functional instead of tslint-immutable
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import { IMediaData, Media } from "@file/media";
|
||||
|
||||
export class ImageReplacer {
|
||||
public replace(xmlData: string, mediaData: IMediaData[], offset: number): string {
|
||||
public replace(xmlData: string, mediaData: readonly IMediaData[], offset: number): string {
|
||||
let currentXmlData = xmlData;
|
||||
|
||||
mediaData.forEach((image, i) => {
|
||||
@ -11,7 +11,7 @@ export class ImageReplacer {
|
||||
return currentXmlData;
|
||||
}
|
||||
|
||||
public getMediaData(xmlData: string, media: Media): IMediaData[] {
|
||||
public getMediaData(xmlData: string, media: Media): readonly IMediaData[] {
|
||||
return media.Array.filter((image) => xmlData.search(`{${image.fileName}}`) > 0);
|
||||
}
|
||||
}
|
||||
|
@ -20,10 +20,10 @@ interface IXmlifyedFileMapping {
|
||||
readonly Numbering: IXmlifyedFile;
|
||||
readonly Relationships: IXmlifyedFile;
|
||||
readonly FileRelationships: IXmlifyedFile;
|
||||
readonly Headers: IXmlifyedFile[];
|
||||
readonly Footers: IXmlifyedFile[];
|
||||
readonly HeaderRelationships: IXmlifyedFile[];
|
||||
readonly FooterRelationships: IXmlifyedFile[];
|
||||
readonly Headers: readonly IXmlifyedFile[];
|
||||
readonly Footers: readonly IXmlifyedFile[];
|
||||
readonly HeaderRelationships: readonly IXmlifyedFile[];
|
||||
readonly FooterRelationships: readonly IXmlifyedFile[];
|
||||
readonly ContentTypes: IXmlifyedFile;
|
||||
readonly CustomProperties: IXmlifyedFile;
|
||||
readonly AppProperties: IXmlifyedFile;
|
||||
@ -47,15 +47,15 @@ export class Compiler {
|
||||
public compile(file: File, prettifyXml?: boolean | PrettifyType): JSZip {
|
||||
const zip = new JSZip();
|
||||
const xmlifiedFileMapping = this.xmlifyFile(file, prettifyXml);
|
||||
const map = new Map<string, IXmlifyedFile | IXmlifyedFile[]>(Object.entries(xmlifiedFileMapping));
|
||||
const map = new Map<string, IXmlifyedFile | readonly IXmlifyedFile[]>(Object.entries(xmlifiedFileMapping));
|
||||
|
||||
for (const [, obj] of map) {
|
||||
if (Array.isArray(obj)) {
|
||||
for (const subFile of obj) {
|
||||
for (const subFile of obj as readonly IXmlifyedFile[]) {
|
||||
zip.file(subFile.path, subFile.data);
|
||||
}
|
||||
} else {
|
||||
zip.file(obj.path, obj.data);
|
||||
zip.file((obj as IXmlifyedFile).path, (obj as IXmlifyedFile).data);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { ConcreteNumbering } from "@file/numbering";
|
||||
|
||||
export class NumberingReplacer {
|
||||
public replace(xmlData: string, concreteNumberings: ConcreteNumbering[]): string {
|
||||
public replace(xmlData: string, concreteNumberings: readonly ConcreteNumbering[]): string {
|
||||
let currentXmlData = xmlData;
|
||||
|
||||
for (const concreteNumbering of concreteNumberings) {
|
||||
|
@ -54,8 +54,8 @@ describe("Packer", () => {
|
||||
assert.isTrue(buffer.byteLength > 0);
|
||||
});
|
||||
|
||||
it("should handle exception if it throws any", () => {
|
||||
// tslint:disable-next-line:no-any
|
||||
it("should handle exception if it throws any", async () => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const compiler = stub((Packer as any).compiler, "compile");
|
||||
|
||||
compiler.throwsException();
|
||||
@ -65,7 +65,7 @@ describe("Packer", () => {
|
||||
});
|
||||
|
||||
after(() => {
|
||||
// tslint:disable-next-line:no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
(Packer as any).compiler.compile.restore();
|
||||
});
|
||||
});
|
||||
@ -80,7 +80,7 @@ describe("Packer", () => {
|
||||
});
|
||||
|
||||
it("should handle exception if it throws any", () => {
|
||||
// tslint:disable-next-line:no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const compiler = stub((Packer as any).compiler, "compile");
|
||||
|
||||
compiler.throwsException();
|
||||
@ -90,14 +90,14 @@ describe("Packer", () => {
|
||||
});
|
||||
|
||||
after(() => {
|
||||
// tslint:disable-next-line:no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
(Packer as any).compiler.compile.restore();
|
||||
});
|
||||
});
|
||||
|
||||
describe("#toBlob()", () => {
|
||||
it("should create a standard docx file", async () => {
|
||||
// tslint:disable-next-line: no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
stub((Packer as any).compiler, "compile").callsFake(() => ({
|
||||
// tslint:disable-next-line: no-empty
|
||||
generateAsync: () => mock({}),
|
||||
@ -108,7 +108,7 @@ describe("Packer", () => {
|
||||
});
|
||||
|
||||
it("should handle exception if it throws any", () => {
|
||||
// tslint:disable-next-line:no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const compiler = stub((Packer as any).compiler, "compile");
|
||||
|
||||
compiler.throwsException();
|
||||
@ -118,14 +118,14 @@ describe("Packer", () => {
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// tslint:disable-next-line:no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
(Packer as any).compiler.compile.restore();
|
||||
});
|
||||
});
|
||||
|
||||
describe("#toStream()", () => {
|
||||
it("should create a standard docx file", async () => {
|
||||
// tslint:disable-next-line: no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
stub((Packer as any).compiler, "compile").callsFake(() => ({
|
||||
// tslint:disable-next-line: no-empty
|
||||
generateNodeStream: () => ({
|
||||
@ -149,7 +149,7 @@ describe("Packer", () => {
|
||||
});
|
||||
|
||||
it("should handle exception if it throws any", async () => {
|
||||
// tslint:disable-next-line:no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const compiler = stub((Packer as any).compiler, "compile").callsFake(() => ({
|
||||
// tslint:disable-next-line: no-empty
|
||||
on: (event: string, cb: () => void) => {
|
||||
@ -166,7 +166,7 @@ describe("Packer", () => {
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// tslint:disable-next-line:no-any
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
(Packer as any).compiler.compile.restore();
|
||||
});
|
||||
});
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { File } from "@file/file";
|
||||
import { Stream } from "stream";
|
||||
import { File } from "@file/file";
|
||||
|
||||
import { Compiler } from "./next-compiler";
|
||||
|
||||
|
Reference in New Issue
Block a user