pub repository
mirror.p-hatan.irbot
0.11.1A collection of (mostly) general libraries to make working with Dart more productive.
Readme
BOT!
The Dart Bag-of-Tricks
A collection of (mostly) general libraries to make working with Dart more productive.
Starting by porting bits of the PL javascript library and Google's Closure javascript library to enable some interesting scenarios.
Projects using BOT
- chrome.dart - Dart interop with chrome.* APIs for Chrome Packaged Apps
- Pop, Pop, Win! - Minesweeper with balloons
- qr.dart - Generate QR codes
- vote.dart - Simulate, run, and calculate elections with different election methods
- Dart Widgets - Reusable Web Components
Try It Now
The Dart Bag-of-Tricks (BOT) is hosted on pub.dartlang.org.
Add the BOT package to your pubspec.yaml file, selecting a version range that works with your version of the SDK. For example:
dependencies:
bot: ">=0.9.0 <0.10.0" # works with M2 SDK (r16251)
Versions change within the range when we release small bug fixes, but it changes outside of the range on any breaking change. See the changelog to find the version that works best for you.
If you'd like to track bleeding edge developments, you can reference the the GitHub repository directly:
dependencies:
bot:
git: https://github.com/kevmoo/bot.dart.git
Versioning
- We follow Semantic Versioning.
- We are not planning a V1 for BOT until Dart releases V1.
- In the mean time, the version will remain
0.Y.Z. - Changes to the minor version - Y - will indicate breaking changes.
- Changes to the patch version - Z - indicate non-breaking changes.
- In the mean time, the version will remain
Dart SDK dependency
- We're going to try to keep BOT in line with the latest integration build of the Dart SDK and Editor.
- At this point, each SDK release tends to introduce breaking changes, which usually require breaking changes in BOT.
- Keep an eye on the changelog to see how BOT aligns with each SDK release.
The libraries
The Bag-of-Tricks is two sets of libraries: bot and hop.
bot
bot -- default library
- No dependencies on 3rd-party libraries.
- Usable for browser-based projects and non-browser projects.
attached
- A general model for supporting extensible, runtime-defined events and properties on supported objects.
- This functionality is inspired by the Dependency Object/Property model in WPF/Silverlight.
collection
Array2dGroupingof collectionsReadOnlyCollection
color
RgbColor,HslColorwith associated conversions back and forthRgbColorsupports to/from hex
events
- Easily raise and subscribe to events with custom, type-safe event objects.
math
- Mostly classes related to 2D geometry and graphicsgeometry-related classes
Coordinate,Box,Size,Vector,AffineTransfrom
bot_async
FutureValue: an abstract model for async conversions viaFuture<T>SendPortValue: an implementation ofFutureValueusing isolates.
bot_retained
- A library for creating interactive content using HTML5 Canvas.
hop
hop - core task runtime
- An object-oriented framework creating and reusing scripts in Dart.
- Easy to create command-line scripts.
- Define functionality in libraries. Add and update them with
pub. - Nice touches for free: bash command completion, help, helpful exit codes
hop_tasks
- A collection of tasks and task helpers.
- Unit tests
- dart2js
- dartdoc
- git
Authors
- Kevin Moore (@kevmoo)
- Andreas Köberle (@eskimobloood)
- You? File bugs. Fork and Fix bugs. Let's build this community.
Changelog
Changelog - Dart Bag of Tricks
0.11.1 - 24 Jan 2013 (SDK 0.3.1.2 r17463)
hop
- NEW! Extra arguments after the task name are passed to the Task via
an
argumentsproperty onTaskContext
hop_tasks
createUnitTestTasknow uses extra arguments to filter the set of tests that are run
0.11.0 - 22 Jan 2013 (SDK 0.3.1.1 r17328)
No features were knowingly added, removed, or changed but a lot of code was churned to support the updated SDK.
0.10.0 - 09 Jan 2013 (SDK 0.2.10.1 r16761)
- BREAKING Import file names have been updated to include the
bot_prefix.import 'package:bot/bot_retained.dart';instead ofimport 'package:bot/retained.dart';
bot
- BREAKING
Vector.getAnglereports a valid value Array2dcan now be zero width, and non-zero height
bot_html
- NEW!
getTimeoutFuturehelper. Wrapswindow.setTimeoutwith niceFuturesemantics.
bot_io
- NEW!
TempDir - NEW!
IoHelper
bot_retained
MouseManager- BREAKING Renamed from
ClickManager - Learned how to set cursor for individual
Thinginstances - Learned drag events for
Thinginstances
- BREAKING Renamed from
CanvasThingnow correctly invalidates child draw when transform changes
bot_test
- NEW! test methods:
expectFutureCompleteandexpectFutureFail - NEW!
throwsAssertionErrormatcher
hop
- FIX having zero tasks does not cause a exceptions
hop_tasks
- BREAKING Renamed
createStartProcessTasktocreateProcessTask- Changed the return type to
Task - Made
argsargument optional - Added optional
descriptionargument
- Changed the return type to
createDart2JsTaskadded named paramsliveTypeAnalysisandrejectDeprecatedFeatures
0.9.0 - 18 Dec 2012 (SDK M2 0.2.9.7 r16251)
hop_tasks
- BREAKING
dartdocnow requirespackageDirparam. With recent SDK updates, one can now generate docs for libraries that use external packages. - dart2js: added optional packageRoot, output, allowUnsafeEval args
0.8.0 - 11 Dec 2012 (SDK r15948)
BREAKING Moved dependencies on SDK libraries to versions on pub.dartlang.org.
bot
- NEW Added
lerpto top-level math functions. AffineTransform- NEW learned a new constructor -
fromTranslate - NEW learned
lerpTxfunction
- NEW learned a new constructor -
bot_retained
- BREAKING Massive rename. Element is way to overloaded, hence names like 'PElement'. Going with 'Thing'. Not ideal, but not overloaded.
Thing- NEW learned
alpha-- or at least uses it now - BREAKING a tiny change to how dirty state is tracked to allow thingss to effectively request animation in
drawOverride. - BREAKING Eliminated 'cacheEnabled' ctor argument.
- BREAKING Removed
clipproperty. It wasn't doing anything.
- NEW learned
- BREAKING
ShapeThingconstructor now uses named arguments. - NEW
NavLayer-- copied from the Javascript library. Pretty fun. - NEW
HorizontalAlignmentandVerticalAlignment - NEW
RetainedUtillearnedgetOffsetVector - NEW
SubCanvasThing-- similiar toImageThing, but for drawing contents of a canvas. - NEW
TextThingAn element to display text. Lot's of work to do, but a good start. - NEW
StageWrapper- handles requesting frames and drawing them when the stage updates. - Added nifty
_RetainedEnumas a relatively safe, private subclass for other enum types.
0.7.0 - 27 Nov 2012 (SDK r15355)
bot
- BREAKING Renamed exception classes to align with Dart naming conventions.
- BREAKING Slight changes to
requiresmethods,DetailedArgumentException
hop
- BREAKING Almost everything has changed.
- Multi-line output is indented correctly.
io
- BREAKING
io.Coloris nowio.AnsiColor - BREAKING Removed
prntandprntLine. A bit silly, no?
html
CanvasUtillearnedsetTransform
retained
- BREAKING Moved
CanvasUtiltobot_htmllib
0.6.0 - 19 Nov 2012 (SDK r15042)
- BREAKING Merged
hopback in. Circular dependencies just make no sense. - BREAKING Moved
qrinto its own repository. - A bunch of fixes to support more recent Dart release.
0.5.0 -- 6 Nov 2012 (SDK r14554)
- BREAKING Changes to align with Dart r14554.
0.4.0 -- 25 October 2012 (SDK r13851)
bot
- BREAKING Changes to align with new Sequence types
0.3.0 -- 24 October 2012 (SDK r13851)
- BREAKING Changes to align with Dart integration build v13851
0.2.1 -- 22 October 2012 (SDK r13679, M1)
- Moved
hopfiles intotooldir. These are for devs working withbot.dartnot end users.
0.2.0 -- 21 October 2012 (SDK r13679, M1)
bot
DetailedIllegalArgumentExceptionctor is nowconst- Removed private
_SimpleSet. Not used.
hop - New
- An attempt to create a process management system similiar to Rake in the Ruby world or Cake in the CoffeeScript world.
- Moved
test,dart2js, anddocsto this new system. - Naming: A play off frog. Which is a play off dart. As in "dart frog" and "frog hop". Yeah a stretch, but it's short.
retained - Breaking Changes
PElement.drawrenamed to_stageDrawPElement.updatedevent removed- Renamed
ElementParentImpltoParentElement - Moved logic for handling children from
PElementtoParentElement
0.1.0 - 16 October 2012 (SDK r13679)
- Aligned with M1 build of Dart r13679
Installing
export PUB_HOSTED_URL=https://pub.mirror.p-hatan.ir
flutter pub add botpubspec.yaml
name: bot
author: Kevin Moore <kevin@thinkpixellab.com>
homepage: https://github.com/kevmoo/bot.dart
version: 0.11.1
description: A collection of (mostly) general libraries to make working with Dart more productive.
dependencies:
args: '>=0.3.1+1'
meta: '>=0.3.1+1'
logging: '>=0.3.1+1'
unittest: '>=0.3.1+1'
Version history
| Version | Published | Archive | SHA-256 |
|---|---|---|---|
| 0.0.1 | 2012-10-10T19:25:30.737170Z | Download | 90cd12713438aa1f116e8bd07a9eb882767462db54fcd9738161bd6e82107a6c |
| 0.1.0 | 2012-10-17T19:47:09.562540Z | Download | 20ae4fb526553c0f780e58185bbefca73c1031cd9b2163099be746e8724fb76e |
| 0.2.1 | 2012-10-23T18:07:20.183480Z | Download | 408828aed351bd84f1c293ce384b060be67d2eae247981ba70c491ad963f4b67 |
| 0.6.0 | 2012-11-20T20:29:15.358720Z | Download | ef3190b74de00cf640e2817b7787a6c1a2079453a326b887650566b471a40f47 |
| 0.7.0 | 2012-11-28T19:32:39.098860Z | Download | 80af23f3bdf35411ed18efcdc9ba260f1297ab27966c66d2e26da0d173fbba68 |
| 0.8.0 | 2012-12-12T23:24:25.932790Z | Download | 6afea81666228a67402ace75335b31baceb5a0b7590b13414fe636248dcdc5ab |
| 0.9.0-beta | 2012-12-15T17:54:54.193530Z | Download | afbdc5379515f75c2fecdd0ef5964bb6afe8bb732b22251d5a6e14e83fe4e908 |
| 0.9.0-beta2 | 2012-12-17T07:49:53.160540Z | Download | 1ae2cc0736a8a91e66bc3afc53d8cab7b8029bd6508358aa1c6e37bb54678f5d |
| 0.9.0-rc | 2012-12-18T20:08:00.473350Z | Download | d5f27af5386fd28ff753fcd14b3478831253198b44c8471cd2358cdef758db9b |
| 0.9.0 | 2012-12-18T22:33:11.755560Z | Download | 02ca430cd6addcbeb213fd4ee581e4dec1e4a40bcb347ef485a7572394aa21f8 |
| 0.10.0 | 2013-01-09T16:16:10.064160Z | Download | 9712cc6c84fd58abc6bb1ce9c1065021c679913aee51d66c9129cf8133972411 |
| 0.11.0 | 2013-01-22T22:20:57.450760Z | Download | 43fe622ee4159d5e075d28ebfa5c221f0c94658f5b27d5d96d6ec6405a6d0d5c |
| 0.11.1 | 2013-01-24T15:17:36.087920Z | Download | 2f3f0a71d7679a50bcfacccdbba829b8a3692feb4628a85d113c353f165ac14c |
| 0.11.2 | 2013-01-28T20:57:20.017720Z | Download | 245c24f5a3259ec465ed652d63ae12d3b74c20ee59e54bedce5c2d7bda219239 |
| 0.11.3 | 2013-01-29T17:18:15.448890Z | Download | ccc5a4e8c0f1055fbcc4918f3367fab1a6f7bd0b1476d3b35688c7054168122e |
| 0.11.4-beta | 2013-01-31T16:08:51.415860Z | Download | ba4aaf627922f2cd17750cd4d985fdf092133fb22522da0cb194cf36b57f5ac5 |
| 0.11.4 | 2013-01-31T16:21:52.887800Z | Download | 13daa9fabf7e6995f0f3f48e1bd5dc6fba6d463e76fc7ac2116122affbda814d |
| 0.12.0 | 2013-02-05T19:44:34.001530Z | Download | 4bce6cf676469f503f74345010136d6a98dbf838aa451edb5807c8413941ee45 |
| 0.12.1 | 2013-02-06T04:14:49.512510Z | Download | 5830c2e220faf86b23bf5529b103bcb798de67886f866061ff4d04b0d10a3f17 |
| 0.13.0 | 2013-02-08T15:40:28.643660Z | Download | 12576e1a61b2e8f4b26fd84ea1d2103b889070c9d0c8b0c8ad6b9cbaf561f31a |
| 0.13.1 | 2013-02-09T18:03:06.073690Z | Download | 2db1e2b7bf1de860da2177af3d23dd8a3679868d934010ae9edf1647015a1f8b |
| 0.14.0 | 2013-02-20T22:13:09.871520Z | Download | 9957c10d025d263af78945036225dbf1854efc9136707e30641459deb92c50bf |
| 0.14.1 | 2013-02-23T20:40:55.255580Z | Download | 4c7c8e1b39ff84f9eca3fe593f44aaed523021bc5c509f6cbea06abeab666693 |
| 0.14.2 | 2013-02-25T22:47:09.418640Z | Download | 9d50430085ae8b3a38e233684e3d451e71eca4b6b985efb15e340f6a183fc184 |
| 0.15.0 | 2013-03-06T15:18:14.269480Z | Download | 4cc86d2ba6949ba5fd0f0ef721747d44b2b43850744323e74ba31563da82a77e |
| 0.15.0+1 | 2013-03-12T01:53:13.798800Z | Download | e6ad8f3dbcaf4ce94e8de015007a26f7606b480c7d73c7c8acbf2b18908e0ae1 |
| 0.15.0+2 | 2013-03-12T20:54:04.231240Z | Download | e95cd1a1b544fd075515e0752dd0d5ca464e7aa67287b0d5ef8c9b57b4f46d53 |
| 0.16.0 | 2013-03-19T15:30:48.696870Z | Download | 9716b20ba40145beb283ba9abe2213a7fd20fc98039d68e5b517ee403d79eb52 |
| 0.16.1 | 2013-03-25T22:03:15.518590Z | Download | e02ab2fcc810f1ccf5a44dc664da18bd9f7b3d7a99c359e7e1a7c837a4d37127 |
| 0.16.2 | 2013-04-03T19:58:35.206800Z | Download | d83cf61f1c258824ceaf45acb9686588070f5d46bcb261ebe93ee61643a4bd4a |
| 0.16.3-dev | 2013-04-09T14:10:41.507930Z | Download | 8150b6c4cf2b6ef5ef9c34ab7c15de507b1e8c69edccfaace1d3a922fe9939b0 |
| 0.16.3+1 | 2013-04-09T14:17:06.485260Z | Download | b1f38d63e8e74a9e1f6ea93a8bd37b589686cc732bed91235c4ee6a73b7d4e59 |
| 0.20.0-dev | 2013-04-17T20:03:27.581730Z | Download | 5257391b28aa3c90ddb02317760fee04280519ffb937ee7d3b98e2a06f42327a |
| 0.20.0 | 2013-04-17T20:36:48.359670Z | Download | b97143a585f5c764cdce14d7cf6bb97f20c2feddc66aa2127bef1d9bf6f78d8d |
| 0.20.1 | 2013-04-29T21:31:58.211330Z | Download | 408137fe5000b881a0dc8f906ff115d20ee855463a99692a29b9067e6e131904 |
| 0.21.0 | 2013-06-04T20:00:57.531630Z | Download | b9b097a0fda42ac8736d7567776b4b6818175c9af6c6e7a8349509fddbc210fb |
| 0.22.0 | 2013-06-20T16:31:29.299730Z | Download | 022228b4ccb5351e16c4b77f9286de5be2e8b71a1dc4827e17afffc4926b511d |
| 0.22.1 | 2013-07-11T18:34:37.396020Z | Download | 425bb96a2b694d9d49260431570389aa784ffb76dbece1426041d1d37581dfc9 |
| 0.22.2 | 2013-07-19T00:04:42.411180Z | Download | a9b2201d23465a3c83a7e16f188cca0392f9e5fceb7f2f6a4807ed9e12032b64 |
| 0.23.0 | 2013-07-24T19:19:30.842970Z | Download | ae0318e562ac064e5594f7ad6b878ddb3fd112ca95bd50ea1838312e8067c2e4 |
| 0.23.1 | 2013-09-24T16:07:20.203500Z | Download | d82c5953695321eb163736d8804149548bf271c27b184ba1b35a32a0fde8f471 |
| 0.24.0 | 2013-10-09T21:30:34.161170Z | Download | c16e64f244898da7efb4b0bf9261b02c96555fe4dd66ff2d4d1f25678deedd8e |
| 0.25.0 | 2013-11-08T01:38:06.878870Z | Download | 04590ca2aee6ed930d4f33e7aa5f1cb68e556cdb5bb2ff533a6acfc69962e160 |
| 0.25.1 | 2013-11-08T18:31:38.603170Z | Download | ab07f729c695096bab38c064f746470da7b5b54283cc108b80a9fdfd41a681c8 |
| 0.25.2 | 2013-11-24T20:32:23.303460Z | Download | 5d73cf3e08e5b3c496ba59bd782fe6415f63f6ffa3bfbe11769c475b2390db2d |
| 0.25.3 | 2013-11-25T02:14:04.489310Z | Download | e696adc2ab2924b8b95718d8907ad0124a0b3446dbbcbc04e2a52663efd86c73 |
| 0.26.0 | 2013-12-10T02:47:23.431700Z | Download | d6b0a3cc3e31c048084d4fe8f08a624c999e8037d18b1af86a56827bc31c0b6b |
| 0.26.0+1 | 2014-02-08T01:49:44.175480Z | Download | 59ea13a6da5348376320f64b6992ff3512aeecc4dd8b56958600ebcb38e0750f |
| 0.26.1 | 2014-03-17T22:50:27.889320Z | Download | 3a075957679fcaca32544e9ecdd36dc3b65a9610e58853e9022c638087431994 |
| 0.26.1+1 | 2014-03-17T23:25:39.305980Z | Download | 295c11f10b94ab0121193898008aec4281ccd7de1a008d52f76cf3e176f98a71 |
| 0.26.2 | 2014-04-11T22:49:31.299050Z | Download | 4d3afdad2589d4273ce693ceed1afdf0fe56d4a83b57a7698eb4a30544f9e8b3 |
| 0.27.0 | 2014-05-06T19:34:39.441090Z | Download | f4660a279cd77230802fb09ab457b56b445ea7c876d3e2f66a1e1317f485a7f5 |
| 0.27.0+1 | 2014-05-13T19:45:21.782830Z | Download | a092c677211a861bf49bd9fa12ce680dd5788fb15a8fc62df4041fce9464a2e3 |
| 0.27.0+2 | 2014-05-25T19:44:40.656680Z | Download | 2d7821dff575eef6c5744490dbcc13b7b1cc3b634f8833b1d14d27e9410f4faf |
| 0.28.0 | 2014-12-29T22:37:46.322230Z | Download | 340902c338492d5366baf0180c3b3ab78bf2a54e04b428b0f57fed037dce04f0 |
Dependencies
args "\u003e=0.3.1+1"
logging "\u003e=0.3.1+1"
meta "\u003e=0.3.1+1"
unittest "\u003e=0.3.1+1"