搜索插件、代码仓与 APP 分类

插件详情v1.0.0

byte_flow

字节流是一个纯 Dart、无依赖的库,为列表和字符串提供常见的实用函数。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
197
喜欢数
19
Pub 分数
130

安装插件

flutter pub add byte_flow

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Byte Flow 是一个轻量级、无依赖的 Dart 库,提供列表和字符串的基本实用函数。设计简洁高效,为 Dart 核心类型增添便捷方法,且不引入外部依赖。非常适合希望在多平台数据操作任务中实现干净高效的代码改进的开发者。该库持续维护且开源,便于自定义和贡献。可通过 pub.dev 轻松集成到 Flutter 和 Dart 项目中。

适合场景

  • 字符串操作工具
  • 列表转换辅助工具
  • 应用程序中的数据预处理
  • 跨平台开发
  • 简单、快速的操作
  • 代码可读性增强

主要特点

  • 纯 Dart 实现
  • 无外部依赖
  • 扩展核心 Dart 类型
  • 开源且由社区驱动
  • 轻量且高效
  • Platform-agnostic

适合对象

  • Flutter 开发者
  • 纯 Dart 项目
  • 小型到中型应用
  • 注重最小依赖项的团队
  • 重视代码清晰、可读性的开发者
  • 需要基本数据工具的项目

使用建议

  • 仅限列表和字符串操作
  • 不适用于复杂的数据结构
  • 可能需要额外的逻辑来处理高级用例
  • 适用于简单、重复的任务
  • 不包含高级算法
  • 补充而非替代功能完整的库

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Byte flow

Build Status

Byte flow is a pure dart , dependency less library that provides common utility functions for lists and strings .

Contents

Install

dependencies:
  byte_flow: ^1.0.0

After this run flutter pub get Then import the library

import 'package:byte_flow/byte_flow.dart';

Functions

Byte flow contains helpful utility functions for lists and strings but it's main target is to provide developers rich set of list utilites .

Array

First import the library like this

import 'package:byte_flow/byte_flow.dart' as _;

_.chunk(List list, [int size = 1])

Creates an list of elements split into groups the length of size. If list can't be split evenly, the final chunk will be the remaining elements.

Example

_.chunk(['a', 'b', 'c', 'd'], 2);
// Returns ['a', 'b'],['c', 'd']

_.chunk(['a', 'b', 'c', 'd'], 3)
// Returns ['a', 'b', 'c'],['d']

_.slice(List list, [int start = 0, int end])

Creates a slice of list from start up to, but not including, end.

Example

_.slice([1, 2, 3, 4], 2);
// Returns [3, 4]

_.compact(List list)

Creates an list with all falsey values removed. The values false, null,0, "", and NaN are falsey.

Example

_.compact([0, 1, false, 2, '', 3]);
// Returns [1, 2, 3]

_.compact([1, 2, 'some data', 2, '', 3, false, null]);
// Returns [1, 2, 'some data', 2, 3]

_.drop(List list, [int n = 1])

Creates a slice of list with n elements dropped from the beginning.

Example

_.drop([1, 2, 3]);
// Returns [2,3]

_.drop([1, 2, 3], 2);
// Returns [3]

_.drop([1, 2, 3], 5);
// Returns []

_.drop([1, 2, 3], 0);
// Returns [1, 2, 3]

_.dropRight(List list, [int n = 1])

Creates a slice of list with n elements dropRightped from the beginning.

Example

_.dropRight([1, 2, 3])
// Returns [1,2]
_.dropRight([1, 2, 3], 2)
// Returns [1]
_.dropRight([1, 2, 3], 5)
// Returns []
_.dropRight([1, 2, 3], 0)
// Returns [1, 2, 3]

_.fill(List list, dynamic value, [int start = 0, int end])

Fills elements of list with value from start up to, but not including, end.

Example

_.fill(List(3), 4);
// Returns [4, 4, 4]

_.findIndex(List list, dynamic element)

This method uses dart's default List.indexOf()

Example

_.findIndex(["Jack", "Yash", "Adib", "Alex"], "Adib");
// Returns 2

_.findLastIndex(List list, dynamic element)

This method finds the item in the list from right / last using dart's List.indexOf() method

Example

_.findLastIndex(["Jack", "Yash", "Adib", "Adib"], "Adib");
// Returns 0

_.head(List list)

Finds the first element in the list Uses dart's List.first property

Example

_.head(["Dart", "Javascript", "Swift"]);
// Returns "Dart"

_.flatten(List list)

Flatten a list , Credit goes to Justin Fagnani

Example

_.flatten([
  [1, 2, 3],
  ['a', 'b', 'c'],
  [true, false, true]
]);
// Returns [1, 2, 3, 'a', 'b', 'c', true, false, true]

_.pairs(List pairs)

This method returns an map composed from key-value pairs.

Example

_.pairs([
  ['a', 1],
  ['b', 2]
]);
// Returns {'a': 1, 'b': 2}

`_.initial(List list)```

Gets all but the last element of list.

Example

_.initial([1, 2, 3]);
// Returns [1, 2]

_.initial([1, 2, 3, 'a', 'b', 'c']);
// Returns [1, 2, 3, 'a', 'b']

_.map(List list, Function(dynamic element, int index, List list) iteratee)

Creates an list of values by running each element of list thru iteratee. The iteratee is invoked with three arguments: (value, index, list).

Example

square(n, index, list) {
  return n*n;
}
_.map([4, 8], square);
// Returns [16, 64]

_.map([4, 8], (n, index, list) {
  return n * 0;
});
// Returns [0, 0]

_.intersect(List<List> arrays)

Creates an list of unique values that are included in all given arrays

Example

final lists = [
  [1, 2, 3],
  [2, 4, 5],
  [2, 8, 9]
];
_.intersect(lists);
// Returns [2]

_.join(List list, [String separator = ','])

Converts all elements in list into a string separated by separator. Uses dart's List.join()

Example

_.join(['a', 'b', 'c'], '~');
// Returns 'a~b~c'

_.last(List list)

Gets the last element of list. Uses dart's List.last property

Example

_.last(["Dart", "Javascript", "Swift"]);
// Returns "Swift"

_.nth(List list, int n)

Gets the element at index n of list. If n is negative, the nth element from the end is returned.

Example

_.nth(['a', 'b', 'c', 'd'], 2);
// Returns 'c'

_.nth(['a', 'b', 'c', 'd'], -1);
// Returns 'd'

_.sortedIndex(List list, dynamic value)

Uses a binary search to determine the lowest index at which value should be inserted into list in order to maintain its sort order. Returns the index at which value should be inserted into list.

Example

_.sortedIndex([30, 50], 60);
// Returns 2

_.sortedIndex([30, 50], 40);
// Returns 1

_.sortedIndex([30, 50], 30);
// Returns 0

_.tail(List list)

Gets all but the first element of list.

Example

_.tail([1, 2, 3]);
// Returns [2, 3]

_.take(List list, [int n = 1])

Creates a slice of list with n elements taken from the beginning. Uses dart's native List.take(n) method

Example

_.take([1, 2, 3], 2);
// Returns [1, 2]

_.takeRight(List list, [int n = 1])

Creates a slice of list with n elements taken from the end.

Example

takeRight([1, 2, 3])
// => [3]
takeRight([1, 2, 3], 2)
// => [2, 3]
takeRight([1, 2, 3], 5)
// => [1, 2, 3]
takeRight([1, 2, 3], 0)
// => []

_.union(List<List> arrays)

Creates an list of unique values, in order

Example

_.union([
  [2],
  [1, 2]
]);

// Returns [2, 1]

_.unzip(List list)

This method Returns the new list of regrouped elements

Example

_.unzip([['a', 1, true], ['b', 2, false]]);
// Returns [['a', 'b'], [1, 2], [true, false]]

_.zip(List a, List b)

Zips two arrays , Credit

Example

_.zip(['a', 'b', 'c'], [1, 2, 3]);
// Returns [['a', 1],['b', 2],['c', 3]]

_.duplicate(List list)

Find duplicate items in an list .

Example

_.duplicate([10, 12, 9, 21, 1, 2, 10]);
// Returns [10]

String

Byte flow libraries string utility collection is poor but still under development . The following functions are stable

_.capitalize(String text)

Capitalizes the given string

Example

_.capitalize("hello world !");
// Returns "Hello world !"

TODO

  • [x] Null safety
  • [ ] Extension support

所属分类

源码仓库

使用此插件的项目

暂无相关数据。