@@ -306,11 +306,11 @@ pub(crate) struct KubernetesCrateOptions {
306306impl Default for KubernetesCrateOptions {
307307 fn default ( ) -> Self {
308308 Self {
309- k8s_openapi : Override :: new_default ( parse_quote ! { :: k8s_openapi } ) ,
310- serde_json : Override :: new_default ( parse_quote ! { :: serde_json } ) ,
311- kube_core : Override :: new_default ( parse_quote ! { :: kube:: core } ) ,
312- schemars : Override :: new_default ( parse_quote ! { :: schemars } ) ,
313- serde : Override :: new_default ( parse_quote ! { :: serde } ) ,
309+ k8s_openapi : Override :: Default ( parse_quote ! { :: k8s_openapi } ) ,
310+ serde_json : Override :: Default ( parse_quote ! { :: serde_json } ) ,
311+ kube_core : Override :: Default ( parse_quote ! { :: kube:: core } ) ,
312+ schemars : Override :: Default ( parse_quote ! { :: schemars } ) ,
313+ serde : Override :: Default ( parse_quote ! { :: serde } ) ,
314314 }
315315 }
316316}
@@ -320,23 +320,23 @@ impl From<KubernetesCrateArguments> for KubernetesCrateOptions {
320320 let mut crate_options = Self :: default ( ) ;
321321
322322 if let Some ( k8s_openapi) = args. k8s_openapi {
323- crate_options. k8s_openapi = Override :: new_custom ( k8s_openapi) ;
323+ crate_options. k8s_openapi = Override :: Overridden ( k8s_openapi) ;
324324 }
325325
326326 if let Some ( serde_json) = args. serde_json {
327- crate_options. serde_json = Override :: new_custom ( serde_json) ;
327+ crate_options. serde_json = Override :: Overridden ( serde_json) ;
328328 }
329329
330330 if let Some ( kube_core) = args. kube_core {
331- crate_options. kube_core = Override :: new_custom ( kube_core) ;
331+ crate_options. kube_core = Override :: Overridden ( kube_core) ;
332332 }
333333
334334 if let Some ( schemars) = args. schemars {
335- crate_options. schemars = Override :: new_custom ( schemars) ;
335+ crate_options. schemars = Override :: Overridden ( schemars) ;
336336 }
337337
338338 if let Some ( serde) = args. serde {
339- crate_options. serde = Override :: new_custom ( serde) ;
339+ crate_options. serde = Override :: Overridden ( serde) ;
340340 }
341341
342342 crate_options
@@ -355,23 +355,23 @@ impl ToTokens for KubernetesCrateOptions {
355355 serde,
356356 } = self ;
357357
358- if let Some ( k8s_openapi) = k8s_openapi. get_if_overridden ( ) {
358+ if let Override :: Overridden ( k8s_openapi) = k8s_openapi {
359359 crate_overrides. extend ( quote ! { k8s_openapi = #k8s_openapi, } ) ;
360360 }
361361
362- if let Some ( serde_json) = serde_json. get_if_overridden ( ) {
362+ if let Override :: Overridden ( serde_json) = serde_json {
363363 crate_overrides. extend ( quote ! { serde_json = #serde_json, } ) ;
364364 }
365365
366- if let Some ( kube_core) = kube_core. get_if_overridden ( ) {
366+ if let Override :: Overridden ( kube_core) = kube_core {
367367 crate_overrides. extend ( quote ! { kube_core = #kube_core, } ) ;
368368 }
369369
370- if let Some ( schemars) = schemars. get_if_overridden ( ) {
370+ if let Override :: Overridden ( schemars) = schemars {
371371 crate_overrides. extend ( quote ! { schemars = #schemars, } ) ;
372372 }
373373
374- if let Some ( serde) = serde. get_if_overridden ( ) {
374+ if let Override :: Overridden ( serde) = serde {
375375 crate_overrides. extend ( quote ! { serde = #serde, } ) ;
376376 }
377377
@@ -383,44 +383,34 @@ impl ToTokens for KubernetesCrateOptions {
383383
384384/// Wraps a value to indicate whether it is original or has been overridden.
385385#[ derive( Debug ) ]
386- pub ( crate ) struct Override < T > {
387- is_overridden : bool ,
388- inner : T ,
386+ pub ( crate ) enum Override < T > {
387+ Default ( T ) ,
388+ Overridden ( T ) ,
389389}
390390
391- impl < T > Override < T > {
392- /// Mark a value as a default.
393- ///
394- /// This is used to indicate that the value is a default and was not overridden.
395- pub ( crate ) fn new_default ( inner : T ) -> Self {
396- Override {
397- is_overridden : false ,
398- inner,
399- }
400- }
401-
402- /// Mark a value as overridden.
403- ///
404- /// This is used to indicate that the value was overridden and not the default.
405- pub ( crate ) fn new_custom ( inner : T ) -> Self {
406- Override {
407- is_overridden : true ,
408- inner,
409- }
410- }
411-
412- pub ( crate ) fn get_if_overridden ( & self ) -> Option < & T > {
413- match & self . is_overridden {
414- true => Some ( & self . inner ) ,
415- false => None ,
416- }
417- }
418- }
391+ // impl<T> Override<T> {
392+ // /// Mark a value as a default.
393+ // ///
394+ // /// This is used to indicate that the value is a default and was not overridden.
395+ // pub(crate) fn new_default(inner: T) -> Self {
396+ // Override::Default(inner)
397+ // }
398+
399+ // /// Mark a value as overridden.
400+ // ///
401+ // /// This is used to indicate that the value was overridden and not the default.
402+ // pub(crate) fn new_custom(inner: T) -> Self {
403+ // Override::Overridden(inner)
404+ // }
405+ // }
419406
420407impl < T > Deref for Override < T > {
421408 type Target = T ;
422409
423410 fn deref ( & self ) -> & Self :: Target {
424- & self . inner
411+ match & self {
412+ Override :: Default ( inner) => inner,
413+ Override :: Overridden ( inner) => inner,
414+ }
425415 }
426416}
0 commit comments