@@ -51,8 +51,16 @@ function SanitizedContentSubclass(content, kind) {
51
51
goog . inherits ( SanitizedContentSubclass , goog . soy . data . SanitizedContent ) ;
52
52
53
53
54
+ /**
55
+ * @param {string } content The text.
56
+ * @param {goog.soy.data.SanitizedContentKind|string } kind The kind of safe
57
+ * content.
58
+ * @return {!SanitizedContentSubclass }
59
+ */
54
60
function makeSanitizedContent ( content , kind ) {
55
- return new SanitizedContentSubclass ( content , kind ) ;
61
+ return new SanitizedContentSubclass (
62
+ content ,
63
+ /** @type {goog.soy.data.SanitizedContentKind } */ ( kind ) ) ;
56
64
}
57
65
58
66
@@ -64,44 +72,79 @@ function makeSanitizedContent(content, kind) {
64
72
var example = { } ;
65
73
66
74
67
- example . textNodeTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
68
- assertNotNull ( opt_data ) ;
69
- assertNotUndefined ( opt_data ) ;
70
- return goog . string . htmlEscape ( opt_data . name ) ;
75
+ /**
76
+ * @param {{name: string} } data
77
+ * @param {null= } opt_sb
78
+ * @param {Object<string, *>= } opt_injectedData
79
+ * @return {string }
80
+ */
81
+ example . textNodeTemplate = function ( data , opt_sb , opt_injectedData ) {
82
+ assertNotNull ( data ) ;
83
+ assertNotUndefined ( data ) ;
84
+ return goog . string . htmlEscape ( data . name ) ;
71
85
} ;
72
86
73
87
74
- example . singleRootTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
75
- assertNotNull ( opt_data ) ;
76
- assertNotUndefined ( opt_data ) ;
77
- return '<span>' + goog . string . htmlEscape ( opt_data . name ) + '</span>' ;
88
+ /**
89
+ * @param {{name: string} } data
90
+ * @param {null= } opt_sb
91
+ * @param {Object<string, *>= } opt_injectedData
92
+ * @return {string }
93
+ */
94
+ example . singleRootTemplate = function ( data , opt_sb , opt_injectedData ) {
95
+ assertNotNull ( data ) ;
96
+ assertNotUndefined ( data ) ;
97
+ return '<span>' + goog . string . htmlEscape ( data . name ) + '</span>' ;
78
98
} ;
79
99
80
100
81
- example . multiRootTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
82
- assertNotNull ( opt_data ) ;
83
- assertNotUndefined ( opt_data ) ;
84
- return '<div>Hello</div><div>' + goog . string . htmlEscape ( opt_data . name ) +
85
- '</div>' ;
101
+ /**
102
+ * @param {{name: string} } data
103
+ * @param {null= } opt_sb
104
+ * @param {Object<string, *>= } opt_injectedData
105
+ * @return {string }
106
+ */
107
+ example . multiRootTemplate = function ( data , opt_sb , opt_injectedData ) {
108
+ assertNotNull ( data ) ;
109
+ assertNotUndefined ( data ) ;
110
+ return '<div>Hello</div><div>' + goog . string . htmlEscape ( data . name ) + '</div>' ;
86
111
} ;
87
112
88
113
89
- example . injectedDataTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
90
- assertNotNull ( opt_data ) ;
91
- assertNotUndefined ( opt_data ) ;
92
- return goog . string . htmlEscape ( opt_data . name ) +
93
- goog . string . htmlEscape ( opt_injectedData . name ) ;
114
+ /**
115
+ * @param {{name: string} } data
116
+ * @param {null= } opt_sb
117
+ * @param {Object<string, *>= } opt_injectedData
118
+ * @return {string }
119
+ */
120
+ example . injectedDataTemplate = function ( data , opt_sb , opt_injectedData ) {
121
+ assertNotNull ( data ) ;
122
+ assertNotUndefined ( data ) ;
123
+ return goog . string . htmlEscape ( data . name ) +
124
+ goog . string . htmlEscape ( opt_injectedData . name ) ;
94
125
} ;
95
126
96
127
97
- example . noDataTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
98
- assertNotNull ( opt_data ) ;
99
- assertNotUndefined ( opt_data ) ;
128
+ /**
129
+ * @param {{name: string} } data
130
+ * @param {null= } opt_sb
131
+ * @param {Object<string, *>= } opt_injectedData
132
+ * @return {string }
133
+ */
134
+ example . noDataTemplate = function ( data , opt_sb , opt_injectedData ) {
135
+ assertNotNull ( data ) ;
136
+ assertNotUndefined ( data ) ;
100
137
return '<div>Hello</div>' ;
101
138
} ;
102
139
103
140
104
- example . sanitizedHtmlTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
141
+ /**
142
+ * @param {{name: string} } data
143
+ * @param {null= } opt_sb
144
+ * @param {Object<string, *>= } opt_injectedData
145
+ * @return {!SanitizedContentSubclass }
146
+ */
147
+ example . sanitizedHtmlTemplate = function ( data , opt_sb , opt_injectedData ) {
105
148
// Test the SanitizedContent constructor.
106
149
var sanitized = makeSanitizedContent (
107
150
'Hello <b>World</b>' , goog . soy . data . SanitizedContentKind . HTML ) ;
@@ -110,27 +153,51 @@ example.sanitizedHtmlTemplate = function(opt_data, opt_sb, opt_injectedData) {
110
153
} ;
111
154
112
155
113
- example . sanitizedHtmlAttributesTemplate = function (
114
- opt_data , opt_sb , opt_injectedData ) {
156
+ /**
157
+ * @param {{name: string} } data
158
+ * @param {null= } opt_sb
159
+ * @param {Object<string, *>= } opt_injectedData
160
+ * @return {!SanitizedContentSubclass }
161
+ */
162
+ example . sanitizedHtmlAttributesTemplate = function ( data , opt_sb ,
163
+ opt_injectedData ) {
115
164
return makeSanitizedContent (
116
165
'foo="bar"' , goog . soy . data . SanitizedContentKind . ATTRIBUTES ) ;
117
166
} ;
118
167
119
168
120
- example . sanitizedCssTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
169
+ /**
170
+ * @param {{name: string} } data
171
+ * @param {null= } opt_sb
172
+ * @param {Object<string, *>= } opt_injectedData
173
+ * @return {!SanitizedContentSubclass }
174
+ */
175
+ example . sanitizedCssTemplate = function ( data , opt_sb , opt_injectedData ) {
121
176
return makeSanitizedContent (
122
177
'display:none' , goog . soy . data . SanitizedContentKind . CSS ) ;
123
178
} ;
124
179
125
180
126
- example . unsanitizedTextTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
181
+ /**
182
+ * @param {{name: string} } data
183
+ * @param {null= } opt_sb
184
+ * @param {Object<string, *>= } opt_injectedData
185
+ * @return {!SanitizedContentSubclass }
186
+ */
187
+ example . unsanitizedTextTemplate = function ( data , opt_sb , opt_injectedData ) {
127
188
return makeSanitizedContent (
128
189
'I <3 Puppies & Kittens' , goog . soy . data . SanitizedContentKind . TEXT ) ;
129
190
} ;
130
191
131
192
132
- example . templateSpoofingSanitizedContentString = function (
133
- opt_data , opt_sb , opt_injectedData ) {
193
+ /**
194
+ * @param {{name: string} } data
195
+ * @param {null= } opt_sb
196
+ * @param {Object<string, *>= } opt_injectedData
197
+ * @return {!SanitizedContentSubclass }
198
+ */
199
+ example . templateSpoofingSanitizedContentString = function ( data , opt_sb ,
200
+ opt_injectedData ) {
134
201
return makeSanitizedContent (
135
202
'Hello World' ,
136
203
// This is to ensure we're using triple-equals against a unique Javascript
@@ -140,12 +207,24 @@ example.templateSpoofingSanitizedContentString = function(
140
207
} ;
141
208
142
209
143
- example . tableRowTemplate = function ( opt_data , opt_sb , opt_injectedData ) {
210
+ /**
211
+ * @param {{name: string} } data
212
+ * @param {null= } opt_sb
213
+ * @param {Object<string, *>= } opt_injectedData
214
+ * @return {string }
215
+ */
216
+ example . tableRowTemplate = function ( data , opt_sb , opt_injectedData ) {
144
217
return '<tr><td></td></tr>' ;
145
218
} ;
146
219
147
220
148
- example . colGroupTemplateCaps = function ( opt_data , opt_sb , opt_injectedData ) {
221
+ /**
222
+ * @param {{name: string} } data
223
+ * @param {null= } opt_sb
224
+ * @param {Object<string, *>= } opt_injectedData
225
+ * @return {string }
226
+ */
227
+ example . colGroupTemplateCaps = function ( data , opt_sb , opt_injectedData ) {
149
228
return '<COLGROUP></COLGROUP>' ;
150
229
} ;
151
230
0 commit comments