dart_node_core 0.12.0-beta copy "dart_node_core: ^0.12.0-beta" to clipboard
dart_node_core: ^0.12.0-beta copied to clipboard

Platformweb

Core JS interop utilities for dart_node packages

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.

0
likes
140
points
136
downloads

Publisher

verified publisherchristianfindlay.com

Weekly Downloads

Core JS interop utilities for dart_node packages

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

austerity, nadz, node_preamble

More

Packages that depend on dart_node_core