Skip to content

GitHub 源码lib/src/utils/fast_extension/

概览

通过 import 'package:fast_package/fast_package.dart'; 使用 Dart extension,在 String / 可空字符串、可空 bool / int / double / num 以及非空 num 上提供命名转换、空值默认值与常用数值判断。扩展方法为 getter 或实例方法,不改变原类型定义。

扩展接收者作用概要
FastStringExtensionString驼峰 / 蛇形 / 短横线命名、isValidUrl
FastStringNullSafeExtensionString?空串默认、可选默认、非空断言
FastBoolNullSafeExtensionbool?默认 false / true、可选默认
FastNumExtensionnum区间判断、整除判断
FastNumNullSafeExtensionnum? / int? / double?各类型空值默认与 nullSafeThrow

字符串命名

FastStringExtension 按单词边界(空格、-_. 及驼峰切分)拆分后重组;空字符串返回 ''

基础使用示例

dart
'hello_world'.toCamelCase;      // helloWorld
'user-name'.toPascalCase;       // UserName
'helloWorld'.toSnakeCase;       // HELLO_WORLD
'FirstName'.toSnakeCaseLower;   // first_name
'hello_world'.toKebabCase;      // hello-world

'https://example.com'.isValidUrl; // true

完整 API 参考


toCamelCase / toPascalCase

小驼峰(首单词首字母小写)与大驼峰(各单词首字母大写)。

类型说明
返回值String(getter)命名转换结果;isEmpty 时为 ''

toSnakeCase / toSnakeCaseLower

大蛇形(全大写 + _)与小蛇形(全小写 + _)。

类型说明
返回值String(getter)单词间用 _ 连接。

toKebabCase

短横线命名(全小写 + -)。

类型说明
返回值String(getter)单词间用 - 连接。

isValidUrl

用内置正则粗略判断是否为 URL(含可选 http/https 前缀)。

类型说明
返回值bool(getter)匹配则 true

字符串空安全

FastStringNullSafeExtension on String?

基础使用示例

dart
String? name;
name.nullSafeOrEmpty;           // ''
name.nullSafe(value: 'guest');  // guest
name.isNullOrEmpty;             // true

name.nullSafeThrow(); // null 时抛出 ArgumentError(可传 message / exception)

完整 API 参考


nullSafeOrEmpty

类型说明
返回值String(getter)null''

nullSafe

参数类型必填说明
valueString?null 时的备用值;仍为空则走 nullSafeOrEmpty
返回值类型说明
String非空则用 this,否则用 value 再兜底。

nullSafeThrow

参数类型必填说明
exceptionException?自定义异常;默认 ArgumentError
messageString?默认错误文案(无 exception 时)。
返回值类型说明
String非空时返回自身。

isNullOrEmpty

类型说明
返回值bool(getter)null''true

布尔空安全

FastBoolNullSafeExtension on bool?

基础使用示例

dart
bool? flag;
flag.nullSafeOrFalse;  // false
flag.nullSafeOrTrue;   // true
flag.nullSafe(value: true); // true

完整 API 参考

API返回值说明
nullSafeOrFalseboolnullfalse
nullSafeOrTrueboolnulltrue
nullSafe({bool? value})boolvalue 兜底,再经 nullSafeOrFalse
nullSafeThrow({Exception? exception})boolnull 时抛错,否则返回自身

数值工具

FastNumExtension on num(非空数值)。

基础使用示例

dart
5.isBetween(1, 10);   // true(边界含端点,参数顺序无关)
10.isDivisibleBy(2);  // true
10.isDivisibleBy(0);  // false(除数为 0)

完整 API 参考


isBetween

参数类型必填说明
betweenOnenum区间一端
betweenTwonum区间另一端
返回值类型说明
boolthis 落在闭区间内

isDivisibleBy

参数类型必填说明
divisornum除数;为 0 时返回 false
返回值类型说明
bool能否整除

数值空安全

int?double?num? 分别提供对应扩展;API 形态一致,默认值分别为 00.00

基础使用示例

dart
int? count;
count.nullSafeOrEmpty;        // 0
count.nullSafe(value: 42);    // 42
count.nullSafeThrow();        // null → ArgumentError

double? rate;
rate.nullSafeOrEmpty;         // 0.0

完整 API 参考

各类型均包含:

API说明
nullSafeOrEmptynull 时返回该类型零值
nullSafe({T? value})可选默认值后再零值兜底
nullSafeThrow({Exception? exception})非空断言

类型对应:FastIntNullSafeExtensionFastDoubleNullSafeExtensionFastNumNullSafeExtension

基于 MIT 许可证发布