Skip to content

Commit 003d850

Browse files
committed
Add OOP and Meta properties for functions
1 parent a4b2073 commit 003d850

File tree

1 file changed

+58
-7
lines changed

1 file changed

+58
-7
lines changed

Diff for: schemas/function.yaml

+58-7
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ type: object
55

66
properties:
77
shared:
8-
description: A shared specification of a function.
8+
description: |
9+
A shared specification of a function.
10+
You must always create a server and a client property, and merge this into both
11+
using a reference.
912
$ref: '#/$defs/common_properties'
1013
server:
1114
description: A server-side specification of a function.
@@ -26,6 +29,13 @@ $defs:
2629
pair:
2730
type: string
2831
description: Associates this function with another getter or setter function.
32+
oop:
33+
$ref: '#/$defs/oop'
34+
is_disabled:
35+
type: string
36+
description: Describe why the function was disabled, and if there is an alternative approach.
37+
meta:
38+
$ref: '#/$defs/meta'
2939
description:
3040
type: string
3141
description: Describes the functionality provided by the function.
@@ -58,18 +68,63 @@ $defs:
5868
$ref: '#/$defs/examples'
5969
see_also:
6070
type: array
61-
description: A list of other items and categories for further reading.
71+
description: |
72+
A list of other items and categories for further reading.
73+
Every function will implicitly display it's own category in *See Also*, unless you
74+
introduce this property, then you have to be explicit about it.
6275
items:
6376
type: string
6477
pattern: "^(item|category|tag):"
6578
uniqueItems: true
6679

80+
oop:
81+
type: object
82+
description: Object-Oriented Programming (OOP) information block for the function.
83+
required:
84+
- entity
85+
properties:
86+
note:
87+
type: string
88+
description: A piece of information to show alongside OOP syntax.
89+
entity:
90+
type: string
91+
description: Name of the element or userdata.
92+
oneOf:
93+
- required:
94+
- method
95+
properties:
96+
method:
97+
type: string
98+
description: Name of the method.
99+
static:
100+
type: boolean
101+
default: false
102+
description: If set to true, this method will be marked as static.
103+
variable:
104+
type: string
105+
description: Name of the variable without a leading dot.
106+
- required:
107+
- constructor
108+
properties:
109+
constructor:
110+
type: string
111+
description: Name of the constructor.
112+
113+
meta:
114+
type: array
115+
description: A list of meta properties about the function and it's documentation.
116+
items:
117+
type: object
118+
properties:
119+
needs_checking:
120+
type: string
121+
description: Describe why the function needs checking by another person. What's problematic?
122+
67123
preview:
68124
type: array
69125
description: A list of picture assets demonstrating the function.
70126
items:
71127
type: object
72-
description: A single function preview.
73128
required:
74129
- path
75130
properties:
@@ -85,7 +140,6 @@ $defs:
85140
description: A list of required and optional parameters for the function.
86141
items:
87142
type: object
88-
description: A single function parameter.
89143
required:
90144
- name
91145
- type
@@ -123,7 +177,6 @@ $defs:
123177
description: A list of named values returned by the function.
124178
items:
125179
type: object
126-
description: A single function return value.
127180
required:
128181
- type
129182
- name
@@ -156,7 +209,6 @@ $defs:
156209
description: A list of related issues for this function.
157210
items:
158211
type: object
159-
description: A single function-related issue.
160212
required:
161213
- id
162214
- description
@@ -173,7 +225,6 @@ $defs:
173225
description: A list of source code examples demonstrating the function.
174226
items:
175227
type: object
176-
description: A single source code example.
177228
required:
178229
- path
179230
properties:

0 commit comments

Comments
 (0)