dart_node_core
dart_node_core is the foundation layer that all other dart_node packages build upon. It provides low-level JavaScript interop utilities, Node.js bindings, and console helpers.
Installation
dependencies:
dart_node_core: ^0.11.0-beta
Core Utilities
Console Logging
import 'package:dart_node_core/dart_node_core.dart';
void main() {
consoleLog('Hello, world!'); // stdout
consoleError('Something went wrong'); // stderr
}
Requiring Node.js Modules
import 'package:dart_node_core/dart_node_core.dart';
void main() {
// Load a Node.js built-in module
final fs = requireModule('fs');
// Load an npm package
final express = requireModule('express');
}
Accessing Global Objects
import 'package:dart_node_core/dart_node_core.dart';
void main() {
// Access global JavaScript objects
final process = getGlobal('process');
}
Interop Helpers
Converting Between Dart and JavaScript
Uses dart:js_interop for type-safe conversions:
import 'dart:js_interop';
void main() {
// Dart to JS
final jsString = 'hello'.toJS;
final jsNumber = 42.toJS;
final jsList = [1, 2, 3].jsify();
// JS to Dart
final dartString = jsString.toDart;
}
FP Extensions
Functional programming utilities:
import 'package:dart_node_core/dart_node_core.dart';
String? getName() => 'World';
void main() {
// Pattern match on nullable values
String? name = getName();
final result = name.match(
some: (n) => 'Hello, $n',
none: () => 'No name provided',
);
// Apply transformations
final length = 'hello'.let((s) => s.length);
}
Source Code
The source code is available on GitHub.