feat: add block description to mobile curriculum (#45370)
* feat: add block description to mobile curriculum * feat: add superblock names
This commit is contained in:
32
tools/scripts/build/mobileSchema.js
Normal file
32
tools/scripts/build/mobileSchema.js
Normal file
@@ -0,0 +1,32 @@
|
||||
const Joi = require('joi');
|
||||
|
||||
const blockSchema = Joi.object({}).keys({
|
||||
desc: Joi.array().min(1),
|
||||
challenges: Joi.object({}).keys({
|
||||
name: Joi.string(),
|
||||
isUpcomingChange: Joi.bool(),
|
||||
usesMultifileEditor: Joi.bool().optional(),
|
||||
hasEditableBoundaries: Joi.bool().optional(),
|
||||
isBeta: Joi.bool().optional(),
|
||||
dashedName: Joi.string(),
|
||||
order: Joi.number(),
|
||||
time: Joi.string().allow(''),
|
||||
template: Joi.string().allow(''),
|
||||
required: Joi.array(),
|
||||
superBlock: Joi.string(),
|
||||
challengeOrder: Joi.array().items(Joi.array().min(1))
|
||||
})
|
||||
});
|
||||
|
||||
const subSchema = Joi.object({}).keys({
|
||||
blocks: Joi.object({}).pattern(Joi.string(), Joi.object().concat(blockSchema))
|
||||
});
|
||||
|
||||
const schema = Joi.object({}).pattern(
|
||||
Joi.string(),
|
||||
Joi.object().concat(subSchema)
|
||||
);
|
||||
|
||||
exports.mobileSchemaValidator = () => {
|
||||
return superblock => schema.validate(superblock);
|
||||
};
|
Reference in New Issue
Block a user