This commit is contained in:
Philipp Kunz 2017-04-30 23:58:03 +02:00
parent 2de09cc7b9
commit ce90cf2034
3 changed files with 26 additions and 13 deletions

View File

@ -8,3 +8,9 @@ tap.test('should create new Smartscaf instance', async () => {
testScafTemplate = new smartscaf.ScafTemplate() testScafTemplate = new smartscaf.ScafTemplate()
expect(testScafTemplate).to.be.instanceof(smartscaf.ScafTemplate) expect(testScafTemplate).to.be.instanceof(smartscaf.ScafTemplate)
}) })
tap.test('Smartscaf instance -> should read a template directory', async () => {
testScafTemplate.readTemplateFromDir('./test/test_template')
})
tap.start()

View File

@ -12,18 +12,23 @@ export interface ScafTemplateContructorOptions {
export class ScafTemplate { export class ScafTemplate {
name: string name: string
description: string description: string
templateObject: Smartfile[] templateSmartfileArray: Smartfile[]
requiredVariables: any[] requiredVariables: string[]
constructor() {} suppliedVariables: any
/** /**
* read a template from a directory * read a template from a directory
*/ */
async readTemplateFromDir (dirArg: string) { async readTemplateFromDir (dirArg: string) {
this.templateObject = await plugins.smartfile.fs.fileTreeToObject(dirArg, '**/*') this.templateSmartfileArray = await plugins.smartfile.fs.fileTreeToObject(dirArg, '**/*')
this._findVariablesInTemplate()
} }
async writeWithVariables (variablesArg) { /**
* supply the variables to render the teplate with
* @param variablesArg
*/
async supplyVariables (variablesArg) {
await this._checkSuppliedVariables(variablesArg) await this._checkSuppliedVariables(variablesArg)
} }
@ -31,8 +36,10 @@ export class ScafTemplate {
* finds all variables in a Template * finds all variables in a Template
*/ */
private async _findVariablesInTemplate () { private async _findVariablesInTemplate () {
for (let localSmartfile of this.templateSmartfileArray) {
} }
}
/** /**
* checks if supplied Variables satisfy the template * checks if supplied Variables satisfy the template

View File

@ -16,8 +16,8 @@
"@types/chai" "*" "@types/chai" "*"
"@types/chai@*", "@types/chai@^3.4.35": "@types/chai@*", "@types/chai@^3.4.35":
version "3.5.1" version "3.5.2"
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.1.tgz#9bd77fe12503ae00648b0945b38eab666adffe2e" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.2.tgz#c11cd2817d3a401b7ba0f5a420f35c56139b1c1e"
"@types/fs-extra@2.x.x": "@types/fs-extra@2.x.x":
version "2.1.0" version "2.1.0"
@ -224,8 +224,8 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
handlebars@^4.0.6: handlebars@^4.0.6:
version "4.0.6" version "4.0.7"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.7.tgz#e97325aeb8ea0b9e12b9c4dd73c4c312ad0ede59"
dependencies: dependencies:
async "^1.4.0" async "^1.4.0"
optimist "^0.6.1" optimist "^0.6.1"
@ -448,8 +448,8 @@ smartdelay@^1.0.1:
typings-global "^1.0.14" typings-global "^1.0.14"
smartfile@^4.1.10, smartfile@^4.1.8: smartfile@^4.1.10, smartfile@^4.1.8:
version "4.1.10" version "4.2.1"
resolved "https://registry.yarnpkg.com/smartfile/-/smartfile-4.1.10.tgz#b06cfcd26301c5d235ed331fb8145fa38714765d" resolved "https://registry.yarnpkg.com/smartfile/-/smartfile-4.2.1.tgz#2ec85f803f771a1ddff377a438ae87aab25f3e6e"
dependencies: dependencies:
"@types/fs-extra" "2.x.x" "@types/fs-extra" "2.x.x"
"@types/vinyl" "^2.0.0" "@types/vinyl" "^2.0.0"