mirror of
https://github.com/konvajs/konva.git
synced 2025-07-15 08:01:39 +08:00
308 lines
13 KiB
JavaScript
308 lines
13 KiB
JavaScript
/**
|
|
@overview Schema for validating JSON produced by JSDoc Toolkit.
|
|
@author Michael Mathews <micmath@gmail.com>
|
|
@license Apache License 2.0 - See file 'LICENSE.md' in this project.
|
|
@see <http://tools.ietf.org/html/draft-zyp-json-schema-02>
|
|
*/
|
|
|
|
exports.jsdocSchema = {
|
|
"properties": {
|
|
"doc": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"author": {
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"path": { // unique identifier for each doc
|
|
"type": "string",
|
|
"maxItems": 1
|
|
},
|
|
"description": { // a description
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
},
|
|
"classdesc": { // a description of the class that this constructor belongs to
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
},
|
|
"name": { // probably a trailing substring of the path
|
|
"type": "string",
|
|
"maxItems": 1
|
|
},
|
|
"version": { // what is the version of this doc
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
},
|
|
"since": { // at what previous version was this doc added?
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
},
|
|
"see": { // some thing else to consider
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"tutorials": { // extended tutorials
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"deprecated": { // is usage of this symbol deprecated?
|
|
"type": ["string", "boolean"],
|
|
"optional": true
|
|
},
|
|
"scope": { // how is this symbol attached to it's enclosing scope?
|
|
"type": "string",
|
|
"maxItems": 1,
|
|
"enum": ["global", "static", "instance", "inner"]
|
|
},
|
|
"memberof": { // probably a leading substring of the path
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
},
|
|
"extends": { // the path to another constructor
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"fires": { // the path to another doc object
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"requires": { // the symbol being documented requires another symbol
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"implements": {
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"kind": { // what kind of symbol is this?
|
|
"type": "string",
|
|
"maxItems": 1,
|
|
"enum": ["constructor", "module", "event", "namespace", "method", "member", "enum", "class", "interface", "constant", "mixin", "file", "version"]
|
|
},
|
|
"refersto": { // the path to another doc: this doc is simply a renamed alias to that
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
},
|
|
"access": { // what access priviledges are allowed
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1,
|
|
"enum": ["private", "protected", "public"]
|
|
},
|
|
"virtual": { // is a member left to be implemented during inheritance?
|
|
"type": "boolean",
|
|
"optional": true,
|
|
"default": false
|
|
},
|
|
"attrib": { // other attributes, like "readonly"
|
|
"type": "string",
|
|
"optional": true
|
|
},
|
|
"type": { // what type is the value that this doc is associated with, like "number"
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"exception" : {
|
|
"optional": true,
|
|
"type": "object",
|
|
"properties": {
|
|
"type": { // what is the type of the value thrown?
|
|
"type": "array",
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"description": { // a description of the thrown value
|
|
"type": "string",
|
|
"optional": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"returns" : {
|
|
"optional": true,
|
|
"type": "object",
|
|
"properties": {
|
|
"type": { // what is the type of the value returned?
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"description": { // a description of the returned value
|
|
"type": "string",
|
|
"optional": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"param" : { // are there function parameters associated with this doc?
|
|
"type": "array",
|
|
"optional": true,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": { // what are the types of value expected for this parameter?
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"optional": { // is a value for this parameter optional?
|
|
"type": "boolean",
|
|
"optional": true,
|
|
"default": true
|
|
},
|
|
"nullable": { // can the value for this parameter be null?
|
|
"type": "boolean",
|
|
"optional": true,
|
|
"default": true
|
|
},
|
|
"defaultvalue": { // what is the default value for this parameter?
|
|
"type": "string",
|
|
"optional": true
|
|
},
|
|
"name": { // what name does this parameter have within the function?
|
|
"type": "string"
|
|
},
|
|
"description": { // a description of the parameter
|
|
"type": "string",
|
|
"optional": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"thisobj": {
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"example": { // some thing else to consider
|
|
"type": ["string", "array"],
|
|
"optional": true,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"tags": { // arbitrary tags associated with this doc
|
|
"type": "array",
|
|
"optional": true,
|
|
"additionalProperties": false,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"meta": { // information about this doc
|
|
"type": "object",
|
|
"optional": true,
|
|
"maxItems": 1,
|
|
"properties": {
|
|
"file": { // what is the name of the file this doc appears in?
|
|
"type": "string",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
},
|
|
"line": { // on what line of the file does this doc appear?
|
|
"type": "number",
|
|
"optional": true,
|
|
"maxItems": 1
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"meta": { // information about the generation for all the docs
|
|
"type": "object",
|
|
"optional": true,
|
|
"maxItems": 1,
|
|
"properties": {
|
|
"project": { // to what project does this doc belong?
|
|
"type": "object",
|
|
"optional": true,
|
|
"maxItems": 1,
|
|
"properties": {
|
|
"name": { // the name of the project
|
|
"type": "string",
|
|
"maxItems": 1
|
|
},
|
|
"uri": { // the URI of the project
|
|
"type": "string",
|
|
"maxItems": 1,
|
|
"format": "uri"
|
|
},
|
|
"version": { // the version of the project
|
|
"type": "string",
|
|
"maxItems": 1
|
|
},
|
|
"lang": { // the programming language used in the project
|
|
"type": "string",
|
|
"maxItems": 1
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"generated": { // some information about the running of the doc generator
|
|
"type": "object",
|
|
"optional": true,
|
|
"maxItems": 1,
|
|
"properties": {
|
|
"date": { // on what date and time was the doc generated?
|
|
"type": "string",
|
|
"maxItems": 1,
|
|
"optional": true,
|
|
"format": "date-time"
|
|
},
|
|
"parser": { // what tool was used to generate the doc?
|
|
"type": "string",
|
|
"maxItems": 1,
|
|
"optional": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}; |