work on archiver
This commit is contained in:
@ -0,0 +1,15 @@
|
||||
import {Packer} from "./packer";
|
||||
import * as fs from 'fs';
|
||||
|
||||
export class LocalPacker extends Packer {
|
||||
private stream: fs.WriteStream
|
||||
|
||||
constructor(path: string) {
|
||||
super();
|
||||
this.stream = fs.createWriteStream(path);
|
||||
}
|
||||
|
||||
pack() {
|
||||
super.pack(this.stream);
|
||||
}
|
||||
}
|
@ -1,5 +1,22 @@
|
||||
import * as archiver from "archiver";
|
||||
import {archiver, Zip} from "archiver";
|
||||
import * as fs from 'fs';
|
||||
|
||||
export class Packer {
|
||||
protected archive: Zip;
|
||||
|
||||
constructor() {
|
||||
this.archive = archiver.create("fgf", {});
|
||||
}
|
||||
|
||||
pack(output: fs.WriteStream): void {
|
||||
this.archive.pipe(output);
|
||||
|
||||
this.archive.bulk([
|
||||
{
|
||||
expand: true,
|
||||
cwd: __dirname + '/template',
|
||||
src: ['**', '**/.rels']
|
||||
}
|
||||
]);
|
||||
}
|
||||
}
|
@ -11,7 +11,7 @@ function jsonify(obj: Object) {
|
||||
return JSON.parse(stringifiedJson);
|
||||
}
|
||||
|
||||
describe.only('Formatter', () => {
|
||||
describe('Formatter', () => {
|
||||
var formatter: Formatter;
|
||||
|
||||
beforeEach(() => {
|
||||
|
19
ts/tests/localPackerTest.ts
Normal file
19
ts/tests/localPackerTest.ts
Normal file
@ -0,0 +1,19 @@
|
||||
/// <reference path="../typings/mocha/mocha.d.ts" />
|
||||
/// <reference path="../typings/chai/chai.d.ts" />
|
||||
import {LocalPacker} from "../export/packer/local";
|
||||
import {assert} from "chai";
|
||||
|
||||
describe.only('Packer', () => {
|
||||
var packer: LocalPacker;
|
||||
|
||||
beforeEach(() => {
|
||||
packer = new LocalPacker("test.zip");
|
||||
});
|
||||
|
||||
describe('#pack()', () => {
|
||||
|
||||
it("should create a standard docx file", () => {
|
||||
packer.pack();
|
||||
});
|
||||
});
|
||||
});
|
11
ts/typings/archiver/archiver.d.ts
vendored
11
ts/typings/archiver/archiver.d.ts
vendored
@ -22,21 +22,20 @@ declare module "archiver" {
|
||||
name?: string;
|
||||
}
|
||||
|
||||
interface Archiver extends STREAM.Transform {
|
||||
export interface Zip extends STREAM.Transform {
|
||||
pipe(writeStream: FS.WriteStream): void;
|
||||
append(readStream: FS.ReadStream, name: nameInterface): void;
|
||||
finalize(): void;
|
||||
bulk(mappings: any): void;
|
||||
}
|
||||
|
||||
interface Options {
|
||||
|
||||
}
|
||||
|
||||
function archiver(format: string, options?: Options): Archiver;
|
||||
function archiver(format: string, options?: Options): Zip;
|
||||
|
||||
namespace archiver {
|
||||
function create(format: string, options?: Options): Archiver;
|
||||
export namespace archiver {
|
||||
function create(format: string, options?: Options): Zip;
|
||||
}
|
||||
|
||||
export = archiver;
|
||||
}
|
||||
|
Reference in New Issue
Block a user