3#include "mc/_HeaderOutputPredefine.h"
5namespace RapidJsonDataFixers::Block {
8MCNAPI
void applyLambdaToComponentInBlockSection(
9 ::rapidjson::GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>&
11 ::std::string
const& componentName,
12 ::std::function<
void(::rapidjson::GenericMemberIterator<
14 ::rapidjson::UTF8<char>,
15 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>)>
const& callback
18MCNAPI
bool applyLambdaToComponentSections(
19 ::rapidjson::GenericDocument<
20 ::rapidjson::UTF8<char>,
21 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
22 ::rapidjson::CrtAllocator>& document,
24 ::rapidjson::GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>&
28MCNAPI
void applyLambdaToDescriptionObject(
29 ::rapidjson::GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>&
32 ::rapidjson::GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>&
36MCNAPI
void legacyFindIfMissingFieldAndRemoveComponent(
38 GenericMemberIterator<0, ::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>
40 ::std::string
const& componentName,
41 ::std::string
const& fieldName
44MCNAPI
void legacyRemoveComponentIfMissingField(
45 ::rapidjson::GenericDocument<
46 ::rapidjson::UTF8<char>,
47 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
48 ::rapidjson::CrtAllocator>& document,
49 ::std::string
const& componentName,
50 ::std::string
const& fieldName
53MCNAPI
void removeComponent(
54 ::rapidjson::GenericDocument<
55 ::rapidjson::UTF8<char>,
56 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
57 ::rapidjson::CrtAllocator>& document,
58 ::std::string
const& componentName,
59 bool contentErrorOnRemoval,
60 ::std::string
const& errorMessage
63MCNAPI
void removeComponentField(
64 ::rapidjson::GenericDocument<
65 ::rapidjson::UTF8<char>,
66 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
67 ::rapidjson::CrtAllocator>& document,
68 ::std::string
const& componentName,
69 ::std::string
const& fieldName
72MCNAPI
void removeDuplicateComponents(
73 ::rapidjson::GenericDocument<
74 ::rapidjson::UTF8<char>,
75 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
76 ::rapidjson::CrtAllocator>& document
79MCNAPI
void removeDuplicateComponentsInComponentsSection(
81 GenericMemberIterator<0, ::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>&
85MCNAPI
void renameComponent(
86 ::rapidjson::GenericDocument<
87 ::rapidjson::UTF8<char>,
88 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
89 ::rapidjson::CrtAllocator>& document,
90 ::std::string
const& oldComponentName,
91 ::std::string
const& newComponentName
94MCNAPI
void renameComponentField(
95 ::rapidjson::GenericDocument<
96 ::rapidjson::UTF8<char>,
97 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
98 ::rapidjson::CrtAllocator>& document,
99 ::std::string
const& componentName,
100 ::std::string
const& oldFieldName,
101 ::std::string
const& newFieldName
104MCNAPI
void replaceComponentObjectWithFieldValue(
105 ::rapidjson::GenericDocument<
106 ::rapidjson::UTF8<char>,
107 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>,
108 ::rapidjson::CrtAllocator>& document,
109 ::std::string
const& componentName,
110 ::std::string
const& fieldName