TermsAcceptance class abstract

Pure terms-of-service acceptance unit for signup (#28).

No stdin, no stdout, no Dio, no exit() here — that is what makes this testable without a stdin harness (the CLI suite has none) and what #28's command shell wraps: it reads the answer, this decides what it means.

Constructors

TermsAcceptance()

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

isYes(String answer) → bool
y/yes, case- and whitespace-insensitively. Anything else — n, no, ye, yeah, empty — is a refusal.
promptText() → String
refusalMessage({required bool hasTerminal, required bool acceptFlag}) → String?
Mirrors LoginCommand.ciRefusalMessage: null when it's fine to proceed (a real terminal to prompt on, or the flag already given), else the refusal naming --accept-terms. Must be consulted — and obeyed — before any network call or account creation, so a refused run leaves no orphaned Firebase Auth user.

Constants

privacyUrl → const String
Copied from lib/constants/constants.dart (AppConstants .privacyPolicyUrl) in the main app — packages/cli cannot import from lib/. Keep both copies in sync if the document ever moves.
question → const String
termsUrl → const String
Copied from lib/constants/constants.dart (AppConstants .termsAndConditionsUrl) in the main app — packages/cli cannot import from lib/. Keep both copies in sync if the document ever moves.