acdg_foundations 0.1.0
acdg_foundations: ^0.1.0 copied to clipboard
Recriação fiel, em Dart puro e sem dependências, dos protocolos e tipos de valor fundamentais da stdlib do Swift: Optional, Equatable, Hashable, Comparable, Identifiable, Copyable e Escapable.
0.1.0 #
- Versão inicial. Recriação fiel, em Dart puro e sem dependências, dos
protocolos e tipos de valor fundamentais da stdlib do Swift:
Optional<Wrapped>(Some/None) commap,flatMap,??, force-unwrap com trap e pattern matching.- Optional Binding:
if let(ifLet, com cláusulawhere),guard let(guardLet, comelseobrigado a sair do escopo viaNever), escopo encadeadobinding(...)com fallback, eswitchnativo sobreSome/None. Equatable(igualdade de valor viaisEqual).Hashable(Equatable+hash(into:)) comHasherpróprio.Comparable(Equatable+ ordem total via<), interoperável comdart:coreComparable/List.sort.Identifiable+ObjectIdentifier+ReferenceIdentifiable.Copyablee emulação de~Copyable(move-only) viaNonCopyable;BitwiseCopyable(marcador de tipo trivial).Escapablee emulação de~Escapable(lifetime atrelado) viaNonEscapable+borrowing.- String Representation:
CustomStringConvertible(delegatoString),CustomDebugStringConvertible,LosslessStringConvertible(+ fábrica reificada) e as funçõesdescribing/reflecting(=String(describing:)/String(reflecting:)). - Raw Representation:
CaseIterable(allCases≈values) eRawRepresentable(rawValue+init?(rawValue:)reificado). - Cobertura completa da página "Basic Behaviors" da stdlib do Swift.
- Encoding/Decoding/Serialization:
Encodable,Decodable(reificado como fábrica),Codable,Encoder/Decoder, os 8 containers (KeyedEncodingContainer(Protocol),UnkeyedEncodingContainer,SingleValueEncodingContainere os pares de decode),CodingKey,CodingKeyEnum,CodingKeyRepresentable,CodingUserInfoKey,EncodingError/DecodingError(comcodingPath). Coders concretosJSONEncoder/JSONDecoder+JSONSerialization(writer/parser JSON escrito do zero, semdart:convert). - Initialization with Literals:
ExpressibleByIntegerLiteral,…FloatLiteral,…BooleanLiteral,…NilLiteral,…ArrayLiteral,…DictionaryLiteral, a hierarquia de string (…UnicodeScalarLiteral←…ExtendedGraphemeClusterLiteral←…StringLiteral←…StringInterpolation),StringInterpolationProtocol/DefaultStringInterpolation,StaticBigInte os type aliases default — todos osinit(...Literal:)reificados como fábricas.