Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

import 'dart:convert';

WordApi wordApiFromMap(Map<String, Object> str) => WordApi.fromMap(str);


String wordApiToMap(WordApi data) => json.encode(data.toMap());

class WordApi {
WordApi({
this.word,
this.phonetics,
this.meanings,
});

final String word;


final List<Phonetic> phonetics;
final List<Meaning> meanings;

factory WordApi.fromMap(Map<String, dynamic> json) => WordApi(


word: json["word"],
phonetics: List<Phonetic>.from(
json["phonetics"].map((x) => Phonetic.fromMap(x))),
meanings:
List<Meaning>.from(json["meanings"].map((x) => Meaning.fromMap(x))),
);

Map<String, dynamic> toMap() => {


"word": word,
"phonetics": List<dynamic>.from(phonetics.map((x) => x.toMap())),
"meanings": List<dynamic>.from(meanings.map((x) => x.toMap())),
};
}

class Meaning {
Meaning({
this.partOfSpeech,
this.definitions,
});

final String partOfSpeech;


final List<Definition> definitions;

factory Meaning.fromMap(Map<String, dynamic> json) => Meaning(


partOfSpeech: json["partOfSpeech"],
definitions: List<Definition>.from(
json["definitions"].map((x) => Definition.fromMap(x))),
);

Map<String, dynamic> toMap() => {


"partOfSpeech": partOfSpeech,
"definitions": List<dynamic>.from(definitions.map((x) => x.toMap())),
};
}

class Definition {
Definition({
this.definition,
this.example,
this.synonyms,
});
final String definition;
final String example;
final List<String> synonyms;

factory Definition.fromMap(Map<String, dynamic> json) => Definition(


definition: json["definition"],
example: json["example"],
synonyms: json["synonyms"] == null
? null
: List<String>.from(json["synonyms"].map((x) => x)),
);

Map<String, dynamic> toMap() => {


"definition": definition,
"example": example,
"synonyms": synonyms == null
? null
: List<dynamic>.from(synonyms.map((x) => x)),
};
}

class Phonetic {
Phonetic({
this.text,
this.audio,
});

final String text;


final String audio;

factory Phonetic.fromMap(Map<String, dynamic> json) => Phonetic(


text: json["text"],
audio: json["audio"],
);

Map<String, dynamic> toMap() => {


"text": text,
"audio": audio,
};
}

You might also like