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