rclnodejs 1.8.3 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +46 -37
  2. package/index.js +39 -0
  3. package/lib/action/client.js +61 -3
  4. package/lib/action/server_goal_handle.js +26 -1
  5. package/lib/message_info.js +94 -0
  6. package/lib/node.js +260 -13
  7. package/lib/parameter_event_handler.js +566 -0
  8. package/lib/parameter_watcher.js +12 -12
  9. package/lib/qos_overriding_options.js +358 -0
  10. package/lib/subscription.js +38 -5
  11. package/lib/timer.js +3 -2
  12. package/lib/wait_for_message.js +111 -0
  13. package/package.json +7 -4
  14. package/prebuilds/linux-arm64/humble-jammy-arm64-rclnodejs.node +0 -0
  15. package/prebuilds/linux-arm64/jazzy-noble-arm64-rclnodejs.node +0 -0
  16. package/prebuilds/linux-arm64/kilted-noble-arm64-rclnodejs.node +0 -0
  17. package/prebuilds/linux-x64/humble-jammy-x64-rclnodejs.node +0 -0
  18. package/prebuilds/linux-x64/jazzy-noble-x64-rclnodejs.node +0 -0
  19. package/prebuilds/linux-x64/kilted-noble-x64-rclnodejs.node +0 -0
  20. package/scripts/run_asan_test.sh +118 -0
  21. package/src/executor.cpp +36 -2
  22. package/src/executor.h +11 -0
  23. package/src/rcl_action_client_bindings.cpp +70 -1
  24. package/src/rcl_context_bindings.cpp +3 -3
  25. package/src/rcl_graph_bindings.cpp +2 -2
  26. package/src/rcl_subscription_bindings.cpp +70 -2
  27. package/src/rcl_timer_bindings.cpp +21 -2
  28. package/src/rcl_utilities.cpp +2 -2
  29. package/tools/jsdoc/Makefile +5 -0
  30. package/tools/jsdoc/README.md +96 -0
  31. package/tools/jsdoc/build-index.js +610 -0
  32. package/tools/jsdoc/publish.js +854 -0
  33. package/tools/jsdoc/regenerate-published-docs.js +605 -0
  34. package/tools/jsdoc/static/fonts/OpenSans-Bold-webfont.eot +0 -0
  35. package/tools/jsdoc/static/fonts/OpenSans-Bold-webfont.svg +1830 -0
  36. package/tools/jsdoc/static/fonts/OpenSans-Bold-webfont.woff +0 -0
  37. package/tools/jsdoc/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  38. package/tools/jsdoc/static/fonts/OpenSans-BoldItalic-webfont.svg +1830 -0
  39. package/tools/jsdoc/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  40. package/tools/jsdoc/static/fonts/OpenSans-Italic-webfont.eot +0 -0
  41. package/tools/jsdoc/static/fonts/OpenSans-Italic-webfont.svg +1830 -0
  42. package/tools/jsdoc/static/fonts/OpenSans-Italic-webfont.woff +0 -0
  43. package/tools/jsdoc/static/fonts/OpenSans-Light-webfont.eot +0 -0
  44. package/tools/jsdoc/static/fonts/OpenSans-Light-webfont.svg +1831 -0
  45. package/tools/jsdoc/static/fonts/OpenSans-Light-webfont.woff +0 -0
  46. package/tools/jsdoc/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  47. package/tools/jsdoc/static/fonts/OpenSans-LightItalic-webfont.svg +1835 -0
  48. package/tools/jsdoc/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  49. package/tools/jsdoc/static/fonts/OpenSans-Regular-webfont.eot +0 -0
  50. package/tools/jsdoc/static/fonts/OpenSans-Regular-webfont.svg +1831 -0
  51. package/tools/jsdoc/static/fonts/OpenSans-Regular-webfont.woff +0 -0
  52. package/tools/jsdoc/static/scripts/linenumber.js +25 -0
  53. package/tools/jsdoc/static/scripts/prettify/Apache-License-2.0.txt +202 -0
  54. package/tools/jsdoc/static/scripts/prettify/lang-css.js +36 -0
  55. package/tools/jsdoc/static/scripts/prettify/prettify.js +738 -0
  56. package/tools/jsdoc/static/styles/jsdoc-default.css +1012 -0
  57. package/tools/jsdoc/static/styles/prettify-jsdoc.css +111 -0
  58. package/tools/jsdoc/static/styles/prettify-tomorrow.css +132 -0
  59. package/tools/jsdoc/tmpl/augments.tmpl +10 -0
  60. package/tools/jsdoc/tmpl/container.tmpl +193 -0
  61. package/tools/jsdoc/tmpl/details.tmpl +143 -0
  62. package/tools/jsdoc/tmpl/example.tmpl +2 -0
  63. package/tools/jsdoc/tmpl/examples.tmpl +13 -0
  64. package/tools/jsdoc/tmpl/exceptions.tmpl +17 -0
  65. package/tools/jsdoc/tmpl/layout.tmpl +83 -0
  66. package/tools/jsdoc/tmpl/mainpage.tmpl +163 -0
  67. package/tools/jsdoc/tmpl/members.tmpl +43 -0
  68. package/tools/jsdoc/tmpl/method.tmpl +124 -0
  69. package/tools/jsdoc/tmpl/params.tmpl +133 -0
  70. package/tools/jsdoc/tmpl/properties.tmpl +110 -0
  71. package/tools/jsdoc/tmpl/returns.tmpl +12 -0
  72. package/tools/jsdoc/tmpl/source.tmpl +8 -0
  73. package/tools/jsdoc/tmpl/tutorial.tmpl +19 -0
  74. package/tools/jsdoc/tmpl/type.tmpl +7 -0
  75. package/types/action_client.d.ts +8 -0
  76. package/types/index.d.ts +34 -0
  77. package/types/message_info.d.ts +72 -0
  78. package/types/node.d.ts +90 -5
  79. package/types/parameter_event_handler.d.ts +150 -0
  80. package/types/qos.d.ts +55 -0
  81. package/types/subscription.d.ts +14 -2
  82. package/types/timer.d.ts +3 -2
  83. package/test_data_integrity.js +0 -108
  84. package/test_repro_exact.js +0 -57
  85. package/test_repro_hz.js +0 -86
  86. package/test_repro_pub.js +0 -36
  87. package/test_repro_stress.js +0 -83
  88. package/test_repro_sub.js +0 -64
  89. package/test_xproc_data.js +0 -64
  90. package/types/interfaces.d.ts +0 -8895
@@ -0,0 +1,111 @@
1
+ /* JSDoc prettify.js theme */
2
+
3
+ /* plain text */
4
+ .pln {
5
+ color: #000000;
6
+ font-weight: normal;
7
+ font-style: normal;
8
+ }
9
+
10
+ /* string content */
11
+ .str {
12
+ color: #006400;
13
+ font-weight: normal;
14
+ font-style: normal;
15
+ }
16
+
17
+ /* a keyword */
18
+ .kwd {
19
+ color: #000000;
20
+ font-weight: bold;
21
+ font-style: normal;
22
+ }
23
+
24
+ /* a comment */
25
+ .com {
26
+ font-weight: normal;
27
+ font-style: italic;
28
+ }
29
+
30
+ /* a type name */
31
+ .typ {
32
+ color: #000000;
33
+ font-weight: normal;
34
+ font-style: normal;
35
+ }
36
+
37
+ /* a literal value */
38
+ .lit {
39
+ color: #006400;
40
+ font-weight: normal;
41
+ font-style: normal;
42
+ }
43
+
44
+ /* punctuation */
45
+ .pun {
46
+ color: #000000;
47
+ font-weight: bold;
48
+ font-style: normal;
49
+ }
50
+
51
+ /* lisp open bracket */
52
+ .opn {
53
+ color: #000000;
54
+ font-weight: bold;
55
+ font-style: normal;
56
+ }
57
+
58
+ /* lisp close bracket */
59
+ .clo {
60
+ color: #000000;
61
+ font-weight: bold;
62
+ font-style: normal;
63
+ }
64
+
65
+ /* a markup tag name */
66
+ .tag {
67
+ color: #006400;
68
+ font-weight: normal;
69
+ font-style: normal;
70
+ }
71
+
72
+ /* a markup attribute name */
73
+ .atn {
74
+ color: #006400;
75
+ font-weight: normal;
76
+ font-style: normal;
77
+ }
78
+
79
+ /* a markup attribute value */
80
+ .atv {
81
+ color: #006400;
82
+ font-weight: normal;
83
+ font-style: normal;
84
+ }
85
+
86
+ /* a declaration */
87
+ .dec {
88
+ color: #000000;
89
+ font-weight: bold;
90
+ font-style: normal;
91
+ }
92
+
93
+ /* a variable name */
94
+ .var {
95
+ color: #000000;
96
+ font-weight: normal;
97
+ font-style: normal;
98
+ }
99
+
100
+ /* a function name */
101
+ .fun {
102
+ color: #000000;
103
+ font-weight: bold;
104
+ font-style: normal;
105
+ }
106
+
107
+ /* Specify class=linenums on a pre to get line numbering */
108
+ ol.linenums {
109
+ margin-top: 0;
110
+ margin-bottom: 0;
111
+ }
@@ -0,0 +1,132 @@
1
+ /* Tomorrow Theme */
2
+ /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3
+ /* Pretty printing styles. Used with prettify.js. */
4
+ /* SPAN elements with the classes below are added by prettyprint. */
5
+ /* plain text */
6
+ .pln {
7
+ color: #4d4d4c; }
8
+
9
+ @media screen {
10
+ /* string content */
11
+ .str {
12
+ color: #718c00; }
13
+
14
+ /* a keyword */
15
+ .kwd {
16
+ color: #8959a8; }
17
+
18
+ /* a comment */
19
+ .com {
20
+ color: #8e908c; }
21
+
22
+ /* a type name */
23
+ .typ {
24
+ color: #4271ae; }
25
+
26
+ /* a literal value */
27
+ .lit {
28
+ color: #f5871f; }
29
+
30
+ /* punctuation */
31
+ .pun {
32
+ color: #4d4d4c; }
33
+
34
+ /* lisp open bracket */
35
+ .opn {
36
+ color: #4d4d4c; }
37
+
38
+ /* lisp close bracket */
39
+ .clo {
40
+ color: #4d4d4c; }
41
+
42
+ /* a markup tag name */
43
+ .tag {
44
+ color: #c82829; }
45
+
46
+ /* a markup attribute name */
47
+ .atn {
48
+ color: #f5871f; }
49
+
50
+ /* a markup attribute value */
51
+ .atv {
52
+ color: #3e999f; }
53
+
54
+ /* a declaration */
55
+ .dec {
56
+ color: #f5871f; }
57
+
58
+ /* a variable name */
59
+ .var {
60
+ color: #c82829; }
61
+
62
+ /* a function name */
63
+ .fun {
64
+ color: #4271ae; } }
65
+ /* Use higher contrast and text-weight for printable form. */
66
+ @media print, projection {
67
+ .str {
68
+ color: #060; }
69
+
70
+ .kwd {
71
+ color: #006;
72
+ font-weight: bold; }
73
+
74
+ .com {
75
+ color: #600;
76
+ font-style: italic; }
77
+
78
+ .typ {
79
+ color: #404;
80
+ font-weight: bold; }
81
+
82
+ .lit {
83
+ color: #044; }
84
+
85
+ .pun, .opn, .clo {
86
+ color: #440; }
87
+
88
+ .tag {
89
+ color: #006;
90
+ font-weight: bold; }
91
+
92
+ .atn {
93
+ color: #404; }
94
+
95
+ .atv {
96
+ color: #060; } }
97
+ /* Style */
98
+ /*
99
+ pre.prettyprint {
100
+ background: white;
101
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
102
+ font-size: 12px;
103
+ line-height: 1.5;
104
+ border: 1px solid #ccc;
105
+ padding: 10px; }
106
+ */
107
+
108
+ /* Specify class=linenums on a pre to get line numbering */
109
+ ol.linenums {
110
+ margin-top: 0;
111
+ margin-bottom: 0; }
112
+
113
+ /* IE indents via margin-left */
114
+ li.L0,
115
+ li.L1,
116
+ li.L2,
117
+ li.L3,
118
+ li.L4,
119
+ li.L5,
120
+ li.L6,
121
+ li.L7,
122
+ li.L8,
123
+ li.L9 {
124
+ /* */ }
125
+
126
+ /* Alternate shading for lines */
127
+ li.L1,
128
+ li.L3,
129
+ li.L5,
130
+ li.L7,
131
+ li.L9 {
132
+ /* */ }
@@ -0,0 +1,10 @@
1
+ <?js
2
+ var data = obj;
3
+ var self = this;
4
+ ?>
5
+
6
+ <?js if (data.augments && data.augments.length) { ?>
7
+ <ul><?js data.augments.forEach(function(a) { ?>
8
+ <li><?js= self.linkto(a, a) ?></li>
9
+ <?js }) ?></ul>
10
+ <?js } ?>
@@ -0,0 +1,193 @@
1
+ <?js
2
+ var self = this;
3
+ var isGlobalPage;
4
+
5
+ docs.forEach(function(doc, i) {
6
+
7
+ if (typeof isGlobalPage === 'undefined') {
8
+ isGlobalPage = (doc.kind === 'globalobj');
9
+ }
10
+ ?>
11
+
12
+ <?js if (doc.kind === 'mainpage' || (doc.kind === 'package')) { ?>
13
+ <?js= self.partial('mainpage.tmpl', doc) ?>
14
+ <?js } else if (doc.kind === 'source') { ?>
15
+ <?js= self.partial('source.tmpl', doc) ?>
16
+ <?js } else { ?>
17
+
18
+ <section class="doc-section doc-kind-<?js= doc.kind ?>">
19
+
20
+ <header class="doc-page-header">
21
+ <?js if (!doc.longname || doc.kind !== 'module') { ?>
22
+ <div class="doc-heading-meta">
23
+ <span class="doc-kind-label"><?js= doc.kind ?></span>
24
+ </div>
25
+ <h2 class="doc-heading"><?js if (doc.attribs) { ?><span class="attribs"><?js= doc.attribs ?></span><?js }
26
+ if (doc.ancestors && doc.ancestors.length) { ?>
27
+ <span class="ancestors"><?js= doc.ancestors.join('') ?></span><?js
28
+ }
29
+ ?><?js= doc.name ?><?js
30
+ if (doc.variation) { ?>
31
+ <sup class="variation"><?js= doc.variation ?></sup><?js }
32
+ if (doc.signature) { ?><?js= doc.signature ?><?js } ?></h2>
33
+ <?js if (doc.classdesc) { ?>
34
+ <div class="class-description"><?js= doc.classdesc ?></div>
35
+ <?js } ?>
36
+ <?js } else if (doc.kind === 'module' && doc.modules) { ?>
37
+ <?js doc.modules.forEach(function(module) { ?>
38
+ <?js if (module.classdesc) { ?>
39
+ <div class="class-description"><?js= module.classdesc ?></div>
40
+ <?js } ?>
41
+ <?js }) ?>
42
+ <?js } ?>
43
+ </header>
44
+
45
+ <article class="doc-article">
46
+ <div class="container-overview doc-overview">
47
+ <?js if (doc.kind === 'module' && doc.modules) { ?>
48
+ <?js if (doc.description) { ?>
49
+ <div class="description"><?js= doc.description ?></div>
50
+ <?js } ?>
51
+
52
+ <?js doc.modules.forEach(function(module) { ?>
53
+ <?js= self.partial('method.tmpl', module) ?>
54
+ <?js }) ?>
55
+ <?js } else if (doc.kind === 'class' || (doc.kind === 'namespace' && doc.signature)) { ?>
56
+ <?js= self.partial('method.tmpl', doc) ?>
57
+ <?js } else { ?>
58
+ <?js if (doc.description) { ?>
59
+ <div class="description"><?js= doc.description ?></div>
60
+ <?js } ?>
61
+
62
+ <?js= self.partial('details.tmpl', doc) ?>
63
+
64
+ <?js if (doc.examples && doc.examples.length) { ?>
65
+ <h3>Example<?js= doc.examples.length > 1? 's':'' ?></h3>
66
+ <?js= self.partial('examples.tmpl', doc.examples) ?>
67
+ <?js } ?>
68
+ <?js } ?>
69
+ </div>
70
+
71
+ <?js if (doc.augments && doc.augments.length) { ?>
72
+ <h3 class="subsection-title">Extends</h3>
73
+
74
+ <?js= self.partial('augments.tmpl', doc) ?>
75
+ <?js } ?>
76
+
77
+ <?js if (doc.requires && doc.requires.length) { ?>
78
+ <h3 class="subsection-title">Requires</h3>
79
+
80
+ <ul><?js doc.requires.forEach(function(r) { ?>
81
+ <li><?js= self.linkto(r, r) ?></li>
82
+ <?js }); ?></ul>
83
+ <?js } ?>
84
+
85
+ <?js
86
+ var classes = self.find({kind: 'class', memberof: doc.longname});
87
+ if (!isGlobalPage && classes && classes.length) {
88
+ ?>
89
+ <h3 class="subsection-title">Classes</h3>
90
+
91
+ <dl class="symbol-index"><?js classes.forEach(function(c) { ?>
92
+ <dt><?js= self.linkto(c.longname, c.name) ?></dt>
93
+ <dd><?js if (c.summary) { ?><?js= c.summary ?><?js } ?></dd>
94
+ <?js }); ?></dl>
95
+ <?js } ?>
96
+
97
+ <?js
98
+ var mixins = self.find({kind: 'mixin', memberof: doc.longname});
99
+ if (!isGlobalPage && mixins && mixins.length) {
100
+ ?>
101
+ <h3 class="subsection-title">Mixins</h3>
102
+
103
+ <dl class="symbol-index"><?js mixins.forEach(function(m) { ?>
104
+ <dt><?js= self.linkto(m.longname, m.name) ?></dt>
105
+ <dd><?js if (m.summary) { ?><?js= m.summary ?><?js } ?></dd>
106
+ <?js }); ?></dl>
107
+ <?js } ?>
108
+
109
+ <?js
110
+ var namespaces = self.find({kind: 'namespace', memberof: doc.longname});
111
+ if (!isGlobalPage && namespaces && namespaces.length) {
112
+ ?>
113
+ <h3 class="subsection-title">Namespaces</h3>
114
+
115
+ <dl class="symbol-index"><?js namespaces.forEach(function(n) { ?>
116
+ <dt><?js= self.linkto(n.longname, n.name) ?></dt>
117
+ <dd><?js if (n.summary) { ?><?js= n.summary ?><?js } ?></dd>
118
+ <?js }); ?></dl>
119
+ <?js } ?>
120
+
121
+ <?js
122
+ var members = self.find({kind: 'member', memberof: isGlobalPage ? {isUndefined: true} : doc.longname});
123
+
124
+ // symbols that are assigned to module.exports are not globals, even though they're not a memberof anything
125
+ if (isGlobalPage && members && members.length && members.forEach) {
126
+ members = members.filter(function(m) {
127
+ return m.longname && m.longname.indexOf('module:') !== 0;
128
+ });
129
+ }
130
+ if (members && members.length && members.forEach) {
131
+ ?>
132
+ <h3 class="subsection-title">Members</h3>
133
+
134
+ <div class="symbol-list">
135
+ <?js members.forEach(function(p) { ?>
136
+ <?js= self.partial('members.tmpl', p) ?>
137
+ <?js }); ?>
138
+ </div>
139
+ <?js } ?>
140
+
141
+ <?js
142
+ var methods = self.find({kind: 'function', memberof: isGlobalPage ? {isUndefined: true} : doc.longname});
143
+ if (methods && methods.length && methods.forEach) {
144
+ ?>
145
+ <h3 class="subsection-title">Methods</h3>
146
+
147
+ <div class="symbol-list">
148
+ <?js methods.forEach(function(m) { ?>
149
+ <?js= self.partial('method.tmpl', m) ?>
150
+ <?js }); ?>
151
+ </div>
152
+ <?js } ?>
153
+
154
+ <?js
155
+ var typedefs = self.find({kind: 'typedef', memberof: isGlobalPage ? {isUndefined: true} : doc.longname});
156
+ if (typedefs && typedefs.length && typedefs.forEach) {
157
+ ?>
158
+ <h3 class="subsection-title">Type Definitions</h3>
159
+
160
+ <div class="symbol-list">
161
+ <?js typedefs.forEach(function(e) {
162
+ if (e.signature) {
163
+ ?>
164
+ <?js= self.partial('method.tmpl', e) ?>
165
+ <?js
166
+ }
167
+ else {
168
+ ?>
169
+ <?js= self.partial('members.tmpl', e) ?>
170
+ <?js
171
+ }
172
+ }); ?>
173
+ </div>
174
+ <?js } ?>
175
+
176
+ <?js
177
+ var events = self.find({kind: 'event', memberof: isGlobalPage ? {isUndefined: true} : doc.longname});
178
+ if (events && events.length && events.forEach) {
179
+ ?>
180
+ <h3 class="subsection-title">Events</h3>
181
+
182
+ <div class="symbol-list">
183
+ <?js events.forEach(function(e) { ?>
184
+ <?js= self.partial('method.tmpl', e) ?>
185
+ <?js }); ?>
186
+ </div>
187
+ <?js } ?>
188
+ </article>
189
+
190
+ </section>
191
+ <?js } ?>
192
+
193
+ <?js }); ?>
@@ -0,0 +1,143 @@
1
+ <?js
2
+ var data = obj;
3
+ var self = this;
4
+ var defaultObjectClass = '';
5
+
6
+ // Check if the default value is an object or array; if so, apply code highlighting
7
+ if (data.defaultvalue && (data.defaultvaluetype === 'object' || data.defaultvaluetype === 'array')) {
8
+ data.defaultvalue = "<pre class=\"prettyprint\"><code>" + data.defaultvalue + "</code></pre>";
9
+ defaultObjectClass = ' class="object-value"';
10
+ }
11
+ ?>
12
+ <?js
13
+ var properties = data.properties;
14
+ if (properties && properties.length && properties.forEach && !data.hideconstructor) {
15
+ ?>
16
+
17
+ <h5 class="subsection-title">Properties</h5>
18
+
19
+ <?js= this.partial('properties.tmpl', data) ?>
20
+
21
+ <?js } ?>
22
+
23
+ <dl class="details">
24
+
25
+ <?js if (data.version) {?>
26
+ <dt class="tag-version">Version:</dt>
27
+ <dd class="tag-version"><ul class="dummy"><li><?js= version ?></li></ul></dd>
28
+ <?js } ?>
29
+
30
+ <?js if (data.since) {?>
31
+ <dt class="tag-since">Since:</dt>
32
+ <dd class="tag-since"><ul class="dummy"><li><?js= since ?></li></ul></dd>
33
+ <?js } ?>
34
+
35
+ <?js if (data.inherited && data.inherits && !data.overrides) { ?>
36
+ <dt class="inherited-from">Inherited From:</dt>
37
+ <dd class="inherited-from"><ul class="dummy"><li>
38
+ <?js= this.linkto(data.inherits, this.htmlsafe(data.inherits)) ?>
39
+ </li></ul></dd>
40
+ <?js } ?>
41
+
42
+ <?js if (data.overrides) { ?>
43
+ <dt class="tag-overrides">Overrides:</dt>
44
+ <dd class="tag-overrides"><ul class="dummy"><li>
45
+ <?js= this.linkto(data.overrides, this.htmlsafe(data.overrides)) ?>
46
+ </li></ul></dd>
47
+ <?js } ?>
48
+
49
+ <?js if (data.implementations && data.implementations.length) { ?>
50
+ <dt class="implementations">Implementations:</dt>
51
+ <dd class="implementations"><ul>
52
+ <?js data.implementations.forEach(function(impl) { ?>
53
+ <li><?js= self.linkto(impl, self.htmlsafe(impl)) ?></li>
54
+ <?js }); ?>
55
+ </ul></dd>
56
+ <?js } ?>
57
+
58
+ <?js if (data.implements && data.implements.length) { ?>
59
+ <dt class="implements">Implements:</dt>
60
+ <dd class="implements"><ul>
61
+ <?js data.implements.forEach(function(impl) { ?>
62
+ <li><?js= self.linkto(impl, self.htmlsafe(impl)) ?></li>
63
+ <?js }); ?>
64
+ </ul></dd>
65
+ <?js } ?>
66
+
67
+ <?js if (data.mixes && data.mixes.length) { ?>
68
+ <dt class="mixes">Mixes In:</dt>
69
+
70
+ <dd class="mixes"><ul>
71
+ <?js data.mixes.forEach(function(a) { ?>
72
+ <li><?js= self.linkto(a, a) ?></li>
73
+ <?js }); ?>
74
+ </ul></dd>
75
+ <?js } ?>
76
+
77
+ <?js if (data.deprecated) { ?>
78
+ <dt class="important tag-deprecated">Deprecated:</dt><?js
79
+ if (data.deprecated === true) { ?><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd><?js }
80
+ else { ?><dd><ul class="dummy"><li><?js= data.deprecated ?></li></ul></dd><?js }
81
+ ?>
82
+ <?js } ?>
83
+
84
+ <?js if (data.author && author.length) {?>
85
+ <dt class="tag-author">Author:</dt>
86
+ <dd class="tag-author">
87
+ <ul><?js author.forEach(function(a) { ?>
88
+ <li><?js= self.resolveAuthorLinks(a) ?></li>
89
+ <?js }); ?></ul>
90
+ </dd>
91
+ <?js } ?>
92
+
93
+ <?js if (data.copyright) {?>
94
+ <dt class="tag-copyright">Copyright:</dt>
95
+ <dd class="tag-copyright"><ul class="dummy"><li><?js= copyright ?></li></ul></dd>
96
+ <?js } ?>
97
+
98
+ <?js if (data.license) {?>
99
+ <dt class="tag-license">License:</dt>
100
+ <dd class="tag-license"><ul class="dummy"><li><?js= license ?></li></ul></dd>
101
+ <?js } ?>
102
+
103
+ <?js if (data.defaultvalue) {?>
104
+ <dt class="tag-default">Default Value:</dt>
105
+ <dd class="tag-default"><ul class="dummy">
106
+ <li<?js= defaultObjectClass ?>><?js= data.defaultvalue ?></li>
107
+ </ul></dd>
108
+ <?js } ?>
109
+
110
+ <?js if (data.meta && self.outputSourceFiles) {?>
111
+ <dt class="tag-source">Source:</dt>
112
+ <dd class="tag-source"><ul class="dummy"><li>
113
+ <?js= self.linkto(meta.shortpath) ?>, <?js= self.linkto(meta.shortpath, 'line ' + meta.lineno, null, 'line' + meta.lineno) ?>
114
+ </li></ul></dd>
115
+ <?js } ?>
116
+
117
+ <?js if (data.tutorials && tutorials.length) {?>
118
+ <dt class="tag-tutorial">Tutorials:</dt>
119
+ <dd class="tag-tutorial">
120
+ <ul><?js tutorials.forEach(function(t) { ?>
121
+ <li><?js= self.tutoriallink(t) ?></li>
122
+ <?js }); ?></ul>
123
+ </dd>
124
+ <?js } ?>
125
+
126
+ <?js if (data.see && see.length) {?>
127
+ <dt class="tag-see">See:</dt>
128
+ <dd class="tag-see">
129
+ <ul><?js see.forEach(function(s) { ?>
130
+ <li><?js= self.linkto(s) ?></li>
131
+ <?js }); ?></ul>
132
+ </dd>
133
+ <?js } ?>
134
+
135
+ <?js if (data.todo && todo.length) {?>
136
+ <dt class="tag-todo">To Do:</dt>
137
+ <dd class="tag-todo">
138
+ <ul><?js todo.forEach(function(t) { ?>
139
+ <li><?js= t ?></li>
140
+ <?js }); ?></ul>
141
+ </dd>
142
+ <?js } ?>
143
+ </dl>
@@ -0,0 +1,2 @@
1
+ <?js var data = obj; ?>
2
+ <pre><code><?js= data ?></code></pre>
@@ -0,0 +1,13 @@
1
+ <?js
2
+ var data = obj;
3
+ var self = this;
4
+
5
+ data.forEach(function(example) {
6
+ if (example.caption) {
7
+ ?>
8
+ <p class="code-caption"><?js= example.caption ?></p>
9
+ <?js } ?>
10
+ <pre class="prettyprint"><code><?js= self.htmlsafe(example.code) ?></code></pre>
11
+ <?js
12
+ });
13
+ ?>
@@ -0,0 +1,17 @@
1
+ <?js
2
+ var data = obj;
3
+ ?>
4
+ <?js if (data.description && data.type && data.type.names) { ?>
5
+ <div class="exception-block">
6
+ <div class="param-desc"><?js= data.description ?></div>
7
+ <div class="returns-type"><span>Type</span> <?js= this.partial('type.tmpl', data.type.names) ?></div>
8
+ </div>
9
+ <?js } else { ?>
10
+ <div class="param-desc">
11
+ <?js if (data.description) { ?>
12
+ <?js= data.description ?>
13
+ <?js } else if (data.type && data.type.names) { ?>
14
+ <?js= this.partial('type.tmpl', data.type.names) ?>
15
+ <?js } ?>
16
+ </div>
17
+ <?js } ?>