boot static method

void boot()

Implementation

static void boot() {
  if (_boot) return;
  _boot = true;

  Time.boot();

  JsonDecoder.registerTypeDecoder(Decimal, (o, d, t) => Decimal.from(o));

  JsonDecoder.registerTypeDecoder(
      DynamicInt, (o, d, t) => DynamicInt.from(o));

  JsonDecoder.registerTypeDecoder(
      DynamicNumber, (o, d, t) => DynamicNumber.from(o));

  JsonDecoder.registerTypeDecoder(EntityReference, (o, jsonDecoder, t) {
    var entityCache = jsonDecoder?.entityCache;
    var entityProvider = entityCache?.asEntityProvider;
    if (t.isValidEntityReferenceType) {
      return t.arguments0!.toEntityReference(o,
          entityProvider: entityProvider, entityCache: entityCache);
    } else {
      return EntityReference.from(o,
          entityProvider: entityProvider, entityCache: entityCache);
    }
  });

  JsonDecoder.registerTypeDecoder(EntityReferenceList, (o, jsonDecoder, t) {
    var entityCache = jsonDecoder?.entityCache;
    var entityProvider = entityCache?.asEntityProvider;
    if (t.isValidEntityReferenceListType) {
      return t.arguments0!.toEntityReferenceList(o,
          entityProvider: entityProvider, entityCache: entityCache);
    } else {
      return EntityReferenceList.from(o,
          entityProvider: entityProvider, entityCache: entityCache);
    }
  });
}