jdiutil 1.0.1
Just-Do-It util mixin, some small util mixin to make (debug) life easier: string interpolation etc ...
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
jdiutil: Just-Do-It util mixin
Some small util mixin to make (debug) life easier:
- string interpolation for easy debug print:
_S
with var name;_s
without var name ToString
will generate string with class fields content, instead of just plain pointer.ReadOnly
,ReadWrite
declare fields without boilerplate codeSingleton
, Low-Lock Singleton Pattern https://wiki.dlang.org/Low-Lock_Singleton_PatternAtomicCounted
, atomic counter
Examples, check app.d:
public import jdiutil;
class Point {
// declare fields
mixin ReadOnly! (int, "x");
mixin ReadWrite!(double, "y");
mixin ReadWrite!(string, "label", "default value");
// atomic counter
mixin AtomicCounted;
// this is a Singleton class!
mixin Singleton!Point;
// debug print string helper
mixin ToString!Point;
}
void main() {
int i = 100;
double d = 1.23456789;
Point thePoint = Point.getSingleton();
// multiple vars separated by ';'
// _S with var name; _s without var name
writeln(mixin(_S!"print with var name: {i; d; thePoint}"));
writeln(mixin(_s!"print without var name: {i; d; thePoint}"));
thePoint.incCount();
logger.info(mixin(_S!"works in logger too: {i; d; thePoint}"));
thePoint.incCount();
string str = mixin(_S!"assign to string with custom format: {i; d%06.2f; thePoint}");
writeln(str);
}
Output:
print with var name: i=100 d=1.23457 thePoint=app.Point(_x=0 _y=nan _label=default value _counter=0)
print without var name: 100 1.23457 app.Point(_x=0 _y=nan _label=default value _counter=0)
2020-06-20T22:31:29.053 [info] app.d:38:main works in logger too: i=100 d=1.23457 thePoint=app.Point(_x=0 _y=nan _label=default value _counter=1)
assign to string with custom format: i=100 d=001.23 thePoint=app.Point(_x=0 _y=nan _label=default value _counter=2)
- Registered by mw
- 1.0.1 released 4 years ago
- mw66/jdiutil
- BSL-1.0
- Copyright © 2020, mw
- Authors:
- Dependencies:
- none
- Versions:
-
1.3.0 2023-Jun-19 1.2.3 2023-Jun-16 1.2.1 2023-May-14 1.2.0 2022-Nov-14 1.1.7 2022-Jul-27 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
121 downloads total
-
- Score:
- 0.7
- Short URL:
- jdiutil.dub.pm