// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'directive.dart';

// **************************************************************************
// BuiltValueGenerator
// **************************************************************************

class _$Directive extends Directive {
  @override
  final String? as;
  @override
  final String url;
  @override
  final DirectiveType type;
  @override
  final List<String> show;
  @override
  final List<String> hide;
  @override
  final bool deferred;

  factory _$Directive([void Function(DirectiveBuilder)? updates]) =>
      (new DirectiveBuilder()..update(updates)).build() as _$Directive;

  _$Directive._({
    this.as,
    required this.url,
    required this.type,
    required this.show,
    required this.hide,
    required this.deferred,
  }) : super._() {
    BuiltValueNullFieldError.checkNotNull(url, r'Directive', 'url');
    BuiltValueNullFieldError.checkNotNull(type, r'Directive', 'type');
    BuiltValueNullFieldError.checkNotNull(show, r'Directive', 'show');
    BuiltValueNullFieldError.checkNotNull(hide, r'Directive', 'hide');
    BuiltValueNullFieldError.checkNotNull(deferred, r'Directive', 'deferred');
  }

  @override
  Directive rebuild(void Function(DirectiveBuilder) updates) =>
      (toBuilder()..update(updates)).build();

  @override
  _$DirectiveBuilder toBuilder() => new _$DirectiveBuilder()..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is Directive &&
        as == other.as &&
        url == other.url &&
        type == other.type &&
        show == other.show &&
        hide == other.hide &&
        deferred == other.deferred;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, as.hashCode);
    _$hash = $jc(_$hash, url.hashCode);
    _$hash = $jc(_$hash, type.hashCode);
    _$hash = $jc(_$hash, show.hashCode);
    _$hash = $jc(_$hash, hide.hashCode);
    _$hash = $jc(_$hash, deferred.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(r'Directive')
          ..add('as', as)
          ..add('url', url)
          ..add('type', type)
          ..add('show', show)
          ..add('hide', hide)
          ..add('deferred', deferred))
        .toString();
  }
}

class _$DirectiveBuilder extends DirectiveBuilder {
  _$Directive? _$v;

  @override
  String? get as {
    _$this;
    return super.as;
  }

  @override
  set as(String? as) {
    _$this;
    super.as = as;
  }

  @override
  String? get url {
    _$this;
    return super.url;
  }

  @override
  set url(String? url) {
    _$this;
    super.url = url;
  }

  @override
  DirectiveType? get type {
    _$this;
    return super.type;
  }

  @override
  set type(DirectiveType? type) {
    _$this;
    super.type = type;
  }

  @override
  List<String> get show {
    _$this;
    return super.show;
  }

  @override
  set show(List<String> show) {
    _$this;
    super.show = show;
  }

  @override
  List<String> get hide {
    _$this;
    return super.hide;
  }

  @override
  set hide(List<String> hide) {
    _$this;
    super.hide = hide;
  }

  @override
  bool get deferred {
    _$this;
    return super.deferred;
  }

  @override
  set deferred(bool deferred) {
    _$this;
    super.deferred = deferred;
  }

  _$DirectiveBuilder() : super._();

  DirectiveBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      super.as = $v.as;
      super.url = $v.url;
      super.type = $v.type;
      super.show = $v.show;
      super.hide = $v.hide;
      super.deferred = $v.deferred;
      _$v = null;
    }
    return this;
  }

  @override
  void replace(Directive other) {
    ArgumentError.checkNotNull(other, 'other');
    _$v = other as _$Directive;
  }

  @override
  void update(void Function(DirectiveBuilder)? updates) {
    if (updates != null) updates(this);
  }

  @override
  Directive build() => _build();

  _$Directive _build() {
    final _$result =
        _$v ??
        new _$Directive._(
          as: as,
          url: BuiltValueNullFieldError.checkNotNull(url, r'Directive', 'url'),
          type: BuiltValueNullFieldError.checkNotNull(
            type,
            r'Directive',
            'type',
          ),
          show: BuiltValueNullFieldError.checkNotNull(
            show,
            r'Directive',
            'show',
          ),
          hide: BuiltValueNullFieldError.checkNotNull(
            hide,
            r'Directive',
            'hide',
          ),
          deferred: BuiltValueNullFieldError.checkNotNull(
            deferred,
            r'Directive',
            'deferred',
          ),
        );
    replace(_$result);
    return _$result;
  }
}

// ignore_for_file: deprecated_member_use_from_same_package,type=lint
