You have to implement it; and you will have to experiment a bit as you haven't said what your server actually supplies. Also of note is that Dart's date only supports two timezones: UTC or local time. (The timezone package provides the whole Olsen database for manipulation of other timezones.)
Guessing from the number in the question and when you asked it, let's assume that the date is in UTC, but the server is in UTC+3 (e.g. Athens, Greece).
Start by parsing out the relevant bits:
var raw = '/Date(1559985189000+0300)/';
var numeric = raw.split('(')[1].split(')')[0];
var negative = numeric.contains('-');
var parts = numeric.split(negative ? '-' : '+');
var millis = int.parse(parts[0]);
This will get you a DateTime in the TZ of the phone:
var local = DateTime.fromMillisecondsSinceEpoch(millis);
This will get you the UTC time:
var utc = DateTime.fromMillisecondsSinceEpoch(millis, isUtc: true);
This will get you the offset between Athens and UTC, but is probably useless: (note that even though we can infer that your server is in Athens (or a similar TZ), we cannot get a date in Athens timezone without using the timezone package - Dart just supports UTC or the phone's time, which might be in Zurich)
final multiplier = negative ? -1 : 1;
var offset = Duration(
hours: int.parse(parts[1].substring(0, 2)) * multiplier,
minutes: int.parse(parts[1].substring(2)) * multiplier,
);