@@ -272,7 +272,11 @@ void EnumType::AddEnumValues(std::vector<EnumValueType> enumValues)
272
272
273
273
for (auto & value : enumValues)
274
274
{
275
- _enumValues.push_back (std::make_shared<EnumValue>(std::move (value.value ), std::move (value.description )));
275
+ _enumValues.push_back (std::make_shared<EnumValue>(std::move (value.value ),
276
+ std::move (value.description ),
277
+ std::unique_ptr<std::string>(value.deprecationReason
278
+ ? new std::string (value.deprecationReason )
279
+ : nullptr )));
276
280
}
277
281
}
278
282
@@ -346,9 +350,10 @@ std::shared_ptr<object::__Type> WrapperType::getOfType() const
346
350
return _ofType;
347
351
}
348
352
349
- Field::Field (std::string name, std::string description, std::vector<std::shared_ptr<InputValue>> args, std::shared_ptr<object::__Type> type)
353
+ Field::Field (std::string name, std::string description, std::unique_ptr<std::string>&& deprecationReason, std:: vector<std::shared_ptr<InputValue>> args, std::shared_ptr<object::__Type> type)
350
354
: _name(std::move(name))
351
355
, _description(std::move(description))
356
+ , _deprecationReason(std::move(deprecationReason))
352
357
, _args(std::move(args))
353
358
, _type(std::move(type))
354
359
{
@@ -382,12 +387,14 @@ std::shared_ptr<object::__Type> Field::getType() const
382
387
383
388
bool Field::getIsDeprecated () const
384
389
{
385
- return false ;
390
+ return _deprecationReason != nullptr ;
386
391
}
387
392
388
393
std::unique_ptr<std::string> Field::getDeprecationReason () const
389
394
{
390
- return nullptr ;
395
+ return _deprecationReason
396
+ ? std::unique_ptr<std::string>(new std::string (*_deprecationReason))
397
+ : nullptr ;
391
398
}
392
399
393
400
InputValue::InputValue (std::string name, std::string description, std::shared_ptr<object::__Type> type, const rapidjson::Value& defaultValue)
@@ -477,9 +484,10 @@ std::string InputValue::formatDefaultValue(const rapidjson::Value& defaultValue)
477
484
return output.str ();
478
485
}
479
486
480
- EnumValue::EnumValue (std::string name, std::string description)
487
+ EnumValue::EnumValue (std::string name, std::string description, std::unique_ptr<std::string>&& deprecationReason )
481
488
: _name(std::move(name))
482
489
, _description(std::move(description))
490
+ , _deprecationReason(std::move(deprecationReason))
483
491
{
484
492
}
485
493
@@ -497,12 +505,14 @@ std::unique_ptr<std::string> EnumValue::getDescription() const
497
505
498
506
bool EnumValue::getIsDeprecated () const
499
507
{
500
- return false ;
508
+ return _deprecationReason != nullptr ;
501
509
}
502
510
503
511
std::unique_ptr<std::string> EnumValue::getDeprecationReason () const
504
512
{
505
- return nullptr ;
513
+ return _deprecationReason
514
+ ? std::unique_ptr<std::string>(new std::string (*_deprecationReason))
515
+ : nullptr ;
506
516
}
507
517
508
518
} /* namespace facebook */
0 commit comments