instance static method
Implementation
static EntityAnnotation instance(Map<dynamic, dynamic> annotation) {
var entities = <Entity>[];
for (dynamic entity in annotation['entities']) {
var type = entity['type'];
var raw = entity['raw'];
switch (type) {
case Entity.TYPE_ADDRESS:
entities.add(AddressEntity(raw));
break;
case Entity.TYPE_URL:
entities.add(UrlEntity(raw));
break;
case Entity.TYPE_PHONE:
entities.add(PhoneEntity(raw));
break;
case Entity.TYPE_EMAIL:
entities.add(EmailEntity(raw));
break;
case Entity.TYPE_DATE_TIME:
entities.add(DateTimeEntity(raw.toString(),
entity['dateTimeGranularity'], entity['timestamp']));
break;
case Entity.TYPE_FLIGHT_NUMBER:
entities
.add(FlightNumberEntity(raw, entity['code'], entity['number']));
break;
case Entity.TYPE_IBAN:
entities.add(IbanEntity(raw, entity['iban'], entity['code']));
break;
case Entity.TYPE_ISBN:
entities.add(IsbnEntity(raw, entity['isbn']));
break;
case Entity.TYPE_MONEY:
entities.add(MoneyEntity(raw, entity['fraction'], entity['integer'],
entity['unnormalized']));
break;
case Entity.TYPE_PAYMENT_CARD:
entities
.add(PaymentCardEntity(raw, entity['network'], entity['number']));
break;
case Entity.TYPE_TRACKING_NUMBER:
entities.add(
TrackingNumberEntity(raw, entity['carrier'], entity['number']));
break;
default:
}
}
return EntityAnnotation._(
annotation['start'], annotation['end'], annotation['text'], entities);
}