react-native-appsflyer
Version:
React Native Appsflyer plugin
142 lines (121 loc) • 4.36 kB
text/typescript
export class CanceledStateContext {
developerInitiatedCancellation?: DeveloperInitiatedCancellation;
replacementCancellation?: ReplacementCancellation;
systemInitiatedCancellation?: SystemInitiatedCancellation;
userInitiatedCancellation?: UserInitiatedCancellation;
constructor(
developerInitiatedCancellation?: DeveloperInitiatedCancellation,
replacementCancellation?: ReplacementCancellation,
systemInitiatedCancellation?: SystemInitiatedCancellation,
userInitiatedCancellation?: UserInitiatedCancellation
) {
this.developerInitiatedCancellation = developerInitiatedCancellation;
this.replacementCancellation = replacementCancellation;
this.systemInitiatedCancellation = systemInitiatedCancellation;
this.userInitiatedCancellation = userInitiatedCancellation;
}
static fromJson(json: any): CanceledStateContext {
return new CanceledStateContext(
json.developerInitiatedCancellation != null
? DeveloperInitiatedCancellation.fromJson(
json.developerInitiatedCancellation
)
: undefined,
json.replacementCancellation != null
? ReplacementCancellation.fromJson(json.replacementCancellation)
: undefined,
json.systemInitiatedCancellation != null
? SystemInitiatedCancellation.fromJson(json.systemInitiatedCancellation)
: undefined,
json.userInitiatedCancellation != null
? UserInitiatedCancellation.fromJson(json.userInitiatedCancellation)
: undefined
);
}
toJson(): Record<string, any> {
return {
developerInitiatedCancellation:
this.developerInitiatedCancellation?.toJson(),
replacementCancellation: this.replacementCancellation?.toJson(),
systemInitiatedCancellation: this.systemInitiatedCancellation?.toJson(),
userInitiatedCancellation: this.userInitiatedCancellation?.toJson(),
};
}
}
/**
* TODO: Need to check each state context further...
*/
class DeveloperInitiatedCancellation {
constructor() {}
static fromJson(json: any): DeveloperInitiatedCancellation {
// Here you would implement the conversion from JSON to DeveloperInitiatedCancellation instance
return new DeveloperInitiatedCancellation();
}
toJson(): Record<string, unknown> {
// Here you would implement the conversion from DeveloperInitiatedCancellation instance to JSON
return {};
}
}
class ReplacementCancellation {
constructor() {}
static fromJson(json: any): ReplacementCancellation {
// Here you would implement the conversion from JSON to ReplacementCancellation instance
return new ReplacementCancellation();
}
toJson(): Record<string, unknown> {
return {};
}
}
class SystemInitiatedCancellation {
constructor() {}
static fromJson(json: any): SystemInitiatedCancellation {
// Here you would implement the conversion from JSON to SystemInitiatedCancellation instance
return new SystemInitiatedCancellation();
}
toJson(): Record<string, unknown> {
// Here you would implement the conversion from SystemInitiatedCancellation instance to JSON
return {};
}
}
class UserInitiatedCancellation {
cancelSurveyResult?: CancelSurveyResult; // Made optional as per Dart's CancelSurveyResult? declaration
cancelTime: string;
constructor(
cancelSurveyResult: CancelSurveyResult | undefined,
cancelTime: string
) {
this.cancelSurveyResult = cancelSurveyResult;
this.cancelTime = cancelTime;
}
static fromJson(json: any): UserInitiatedCancellation {
return new UserInitiatedCancellation(
json.cancelSurveyResult != null
? CancelSurveyResult.fromJson(json.cancelSurveyResult)
: undefined,
json.cancelTime
);
}
toJson(): Record<string, unknown> {
return {
cancelSurveyResult: this.cancelSurveyResult?.toJson(),
cancelTime: this.cancelTime,
};
}
}
class CancelSurveyResult {
reason: string;
reasonUserInput: string;
constructor(reason: string, reasonUserInput: string) {
this.reason = reason;
this.reasonUserInput = reasonUserInput;
}
static fromJson(json: any): CancelSurveyResult {
return new CancelSurveyResult(json.reason, json.reasonUserInput);
}
toJson(): Record<string, string> {
return {
reason: this.reason,
reasonUserInput: this.reasonUserInput,
};
}
}