Add superBlock to challenge seed
This commit is contained in:
		@@ -32,6 +32,10 @@
 | 
				
			|||||||
    "dashedName": {
 | 
					    "dashedName": {
 | 
				
			||||||
      "type": "string"
 | 
					      "type": "string"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "superBlock": {
 | 
				
			||||||
 | 
					      "type": "string",
 | 
				
			||||||
 | 
					      "description": "Used for ordering challenge blocks in map"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "block": {
 | 
					    "block": {
 | 
				
			||||||
      "type": "string"
 | 
					      "type": "string"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,12 +5,17 @@ var path = require('path');
 | 
				
			|||||||
function getFilesFor(dir) {
 | 
					function getFilesFor(dir) {
 | 
				
			||||||
  return fs.readdirSync(path.join(__dirname, '/' + dir))
 | 
					  return fs.readdirSync(path.join(__dirname, '/' + dir))
 | 
				
			||||||
    .map(function(file) {
 | 
					    .map(function(file) {
 | 
				
			||||||
 | 
					      let superBlock;
 | 
				
			||||||
      if (fs.statSync(path.join(__dirname, dir + '/' + file)).isFile()) {
 | 
					      if (fs.statSync(path.join(__dirname, dir + '/' + file)).isFile()) {
 | 
				
			||||||
        return file;
 | 
					        return { file: file };
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      return getFilesFor(dir + '/' + file)
 | 
					      superBlock = file;
 | 
				
			||||||
        .map(function(_file) {
 | 
					      return getFilesFor(dir + '/' + superBlock)
 | 
				
			||||||
          return file + '/' + _file;
 | 
					        .map(function(data) {
 | 
				
			||||||
 | 
					          return {
 | 
				
			||||||
 | 
					            file: superBlock + '/' + data.file,
 | 
				
			||||||
 | 
					            superBlock: superBlock
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
    .reduce(function(files, file) {
 | 
					    .reduce(function(files, file) {
 | 
				
			||||||
@@ -25,10 +30,10 @@ function getFilesFor(dir) {
 | 
				
			|||||||
module.exports = function getChallenges() {
 | 
					module.exports = function getChallenges() {
 | 
				
			||||||
  try {
 | 
					  try {
 | 
				
			||||||
    return getFilesFor('challenges')
 | 
					    return getFilesFor('challenges')
 | 
				
			||||||
      .map(function(file) {
 | 
					      .map(function(data) {
 | 
				
			||||||
        console.log('fo', file);
 | 
					        var challengeSpec = require('./challenges/' + data.file);
 | 
				
			||||||
        var challengeSpec = require('./challenges/' + file);
 | 
					        challengeSpec.fileName = data.file;
 | 
				
			||||||
        challengeSpec.fileName = file;
 | 
					        challengeSpec.superBlock = data.superBlock;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return challengeSpec;
 | 
					        return challengeSpec;
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,6 +17,7 @@ destroy()
 | 
				
			|||||||
  .flatMap(function(challengeSpec) {
 | 
					  .flatMap(function(challengeSpec) {
 | 
				
			||||||
    var order = challengeSpec.order;
 | 
					    var order = challengeSpec.order;
 | 
				
			||||||
    var block = challengeSpec.name;
 | 
					    var block = challengeSpec.name;
 | 
				
			||||||
 | 
					    var superBlock = challengeSpec.superBlock;
 | 
				
			||||||
    var isBeta = !!challengeSpec.isBeta;
 | 
					    var isBeta = !!challengeSpec.isBeta;
 | 
				
			||||||
    var fileName = challengeSpec.fileName;
 | 
					    var fileName = challengeSpec.fileName;
 | 
				
			||||||
    console.log('parsed %s successfully', block);
 | 
					    console.log('parsed %s successfully', block);
 | 
				
			||||||
@@ -43,6 +44,7 @@ destroy()
 | 
				
			|||||||
        challenge.order = order;
 | 
					        challenge.order = order;
 | 
				
			||||||
        challenge.suborder = index + 1;
 | 
					        challenge.suborder = index + 1;
 | 
				
			||||||
        challenge.block = block;
 | 
					        challenge.block = block;
 | 
				
			||||||
 | 
					        challenge.superBlock = superBlock;
 | 
				
			||||||
        challenge.isBeta = challenge.isBeta || isBeta;
 | 
					        challenge.isBeta = challenge.isBeta || isBeta;
 | 
				
			||||||
        challenge.time = challengeSpec.time;
 | 
					        challenge.time = challengeSpec.time;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user