@@ -153,56 +153,66 @@ _.extend(ThreeTypeDict.prototype, BaseType.prototype, {
153
153
} ,
154
154
} ) ;
155
155
156
- function Bool ( defaultValue ) {
156
+ function Bool ( defaultValue , nullable ) {
157
+ this . nullable = nullable === true ;
157
158
this . defaultValue = defaultValue ;
158
159
}
159
160
_ . extend ( Bool . prototype , BaseType . prototype , {
160
161
getTraitlet : function ( ) {
161
162
var pyBoolValue = this . defaultValue ? 'True' : 'False' ;
162
- return 'Bool(' + pyBoolValue + ').tag(sync=True)' ;
163
+ var nullableStr = this . nullable ? 'True' : 'False' ;
164
+ return 'Bool(' + pyBoolValue + ', allow_none=' + nullableStr + ').tag(sync=True)' ;
163
165
} ,
164
166
} ) ;
165
167
166
- function Int ( defaultValue ) {
167
- this . defaultValue = defaultValue == null ? 0 : defaultValue ;
168
+ function Int ( defaultValue , nullable ) {
169
+ this . nullable = nullable === true ;
170
+ this . defaultValue = defaultValue == null && ! this . nullable ? 0 : defaultValue ;
168
171
}
169
172
_ . extend ( Int . prototype , BaseType . prototype , {
170
173
getTraitlet : function ( ) {
171
- return 'CInt(' + this . defaultValue + ').tag(sync=True)' ;
174
+ var nullableStr = this . nullable ? 'True' : 'False' ;
175
+ return 'CInt(' + this . defaultValue + ', allow_none=' + nullableStr + ').tag(sync=True)' ;
172
176
} ,
173
177
174
178
} ) ;
175
179
176
- function Float ( defaultValue ) {
177
- this . defaultValue = defaultValue == null ? 0.0 : defaultValue ;
180
+ function Float ( defaultValue , nullable ) {
181
+ this . nullable = nullable === true ;
182
+ this . defaultValue = defaultValue == null && ! this . nullable ? 0.0 : defaultValue ;
178
183
}
179
184
_ . extend ( Float . prototype , BaseType . prototype , {
180
185
getTraitlet : function ( ) {
181
- return 'CFloat(' + this . getPythonDefaultValue ( ) + ').tag(sync=True)' ;
186
+ var nullableStr = this . nullable ? 'True' : 'False' ;
187
+ return 'CFloat(' + this . getPythonDefaultValue ( ) + ', allow_none=' + nullableStr + ').tag(sync=True)' ;
182
188
} ,
183
189
getPropertyConverterFn : function ( ) {
184
190
return 'convertFloat' ;
185
191
} ,
186
192
187
193
} ) ;
188
194
189
- function StringType ( defaultValue ) {
195
+ function StringType ( defaultValue , nullable ) {
196
+ this . nullable = nullable === true ;
190
197
this . defaultValue = defaultValue ;
191
198
}
192
199
_ . extend ( StringType . prototype , BaseType . prototype , {
193
200
getTraitlet : function ( ) {
194
- return 'Unicode("' + this . defaultValue + '").tag(sync=True)' ;
201
+ var nullableStr = this . nullable ? 'True' : 'False' ;
202
+ return 'Unicode(' + JSON . stringify ( this . defaultValue ) + ', allow_none=' + nullableStr + ').tag(sync=True)' ;
195
203
} ,
196
204
197
205
} ) ;
198
206
199
- function Enum ( enumTypeName , defaultValue ) {
207
+ function Enum ( enumTypeName , defaultValue , nullable ) {
200
208
this . enumTypeName = enumTypeName ;
201
209
this . defaultValue = defaultValue ;
210
+ this . nullable = nullable === true ;
202
211
}
203
212
_ . extend ( Enum . prototype , BaseType . prototype , {
204
213
getTraitlet : function ( ) {
205
- return 'Enum(' + this . enumTypeName + ', "' + this . defaultValue + '").tag(sync=True)' ;
214
+ var nullableStr = this . nullable ? 'True' : 'False' ;
215
+ return 'Enum(' + this . enumTypeName + ', "' + this . defaultValue + ', allow_none=' + nullableStr + '").tag(sync=True)' ;
206
216
} ,
207
217
getPropertyConverterFn : function ( ) {
208
218
return 'convertEnum' ;
@@ -262,12 +272,14 @@ _.extend(ArrayBufferType.prototype, BaseType.prototype, {
262
272
} ,
263
273
} ) ;
264
274
265
- function DictType ( defaultValue = { } ) {
275
+ function DictType ( defaultValue = { } , nullable ) {
266
276
this . defaultValue = defaultValue ;
277
+ this . nullable = nullable === true ;
267
278
}
268
279
_ . extend ( DictType . prototype , BaseType . prototype , {
269
280
getTraitlet : function ( ) {
270
- return 'Dict().tag(sync=True)' ;
281
+ var nullableStr = this . nullable ? 'True' : 'False' ;
282
+ return 'Dict(default_value=' + this . defaultValue + ', allow_none=' + nullableStr + ').tag(sync=True)' ;
271
283
} ,
272
284
} ) ;
273
285
0 commit comments