fix(core): update

This commit is contained in:
Philipp Kunz 2020-10-11 15:34:24 +00:00
parent afb7fa8e89
commit 292c2699ea
5 changed files with 33 additions and 14 deletions

View File

@ -1,5 +1,5 @@
import * as smartfile from '../ts/index';
import path = require('path');
import * as path from 'path';
import { expect, tap } from '@pushrocks/tapbundle';
@ -8,7 +8,9 @@ import { expect, tap } from '@pushrocks/tapbundle';
// ---------------------------
tap.test('.fs.fileExistsSync -> should return an accurate boolean', async () => {
// tslint:disable-next-line: no-unused-expression
expect(smartfile.fs.fileExistsSync('./test/testassets/mytest.json')).to.be.true;
// tslint:disable-next-line: no-unused-expression
expect(smartfile.fs.fileExistsSync('./test/testassets/notthere.json')).be.false;
});

View File

@ -0,0 +1,15 @@
import { tap, expect } from '@pushrocks/tapbundle';
import * as smartfile from '../ts';
tap.test('should create a virtualdirectory', async () => {
const virtualDir = await smartfile.VirtualDirectory.fromFsDirPath('./test/testassets/testfolder');
expect(virtualDir.smartfileArray.length).to.equal(4);
});
tap.test('should write to a directory', async () => {
const virtualDir = await smartfile.VirtualDirectory.fromFsDirPath('./test/testassets/testfolder');
virtualDir.saveToDisk('./test/testassets/test');
});
tap.start();

View File

@ -133,12 +133,10 @@ export class Smartfile extends plugins.smartjson.Smartjson {
}
public async writeToDir(dirPathArg: string) {
if (!plugins.path.isAbsolute(dirPathArg)) {
dirPathArg = plugins.path.join(process.cwd(), dirPathArg);
}
const relativePath = this.relative;
const filePath = plugins.path.join(dirPathArg, relativePath);
dirPathArg = plugins.smartpath.transform.toAbsolute(dirPathArg);
const filePath = plugins.path.join(dirPathArg, this.path);
await memory.toFs(this.contentBuffer, filePath);
return filePath;
}
/**

View File

@ -24,16 +24,16 @@ export class VirtualDirectory {
}
// INSTANCE
private fileArray: Smartfile[] = [];
public smartfileArray: Smartfile[] = [];
constructor() {}
public addSmartfiles(smartfileArrayArg: Smartfile[]) {
this.fileArray = this.fileArray.concat(smartfileArrayArg);
this.smartfileArray = this.smartfileArray.concat(smartfileArrayArg);
}
public async getFileByPath(pathArg: string) {
for (const smartfile of this.fileArray) {
for (const smartfile of this.smartfileArray) {
if (smartfile.path === pathArg) {
return smartfile;
}
@ -42,13 +42,17 @@ export class VirtualDirectory {
public async toVirtualDirTransferableObject(): Promise<plugins.smartfileInterfaces.VirtualDirTransferableObject> {
return {
files: this.fileArray.map(smartfileArg => smartfileArg.foldToJson())
files: this.smartfileArray.map(smartfileArg => smartfileArg.foldToJson())
};
}
public async saveToDisk() {
for (const smartfileArg of this.fileArray) {
public async saveToDisk(dirArg: string) {
console.log(`writing VirtualDirectory with ${this.smartfileArray.length} to directory:
--> ${dirArg}`);
for (const smartfileArg of this.smartfileArray) {
const filePath = await smartfileArg.writeToDir(dirArg);
console.log(`wrote ${smartfileArg.relative} to
--> ${filePath}`);
}
}

View File

@ -227,7 +227,7 @@ export const fileTreeToObject = async (dirPathArg: string, miniMatchFilter: stri
if (plugins.path.isAbsolute(miniMatchFilter)) {
dirPath = '/';
} else {
dirPath = dirPathArg;
dirPath = plugins.smartpath.transform.toAbsolute(dirPathArg);
}
const fileTree = await listFileTree(dirPath, miniMatchFilter);