andrey-ushakov / esc_pos_utils

Basic Flutter/Dart classes for ESC/POS printing
BSD 3-Clause "New" or "Revised" License
147 stars 328 forks source link

Fix to make this class work in a pure dart environment. #116

Open AndreaNicola opened 1 year ago

AndreaNicola commented 1 year ago

I had problems using this lib in a pure dart environment.

../../flutter/packages/flutter/lib/src/services/asset_bundle.dart:8:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' as ui;
       ^
Context: The unavailable library 'dart:ui' is imported through these packages:

    server.dart => package:esc_pos_printer => package:esc_pos_utils => package:flutter => dart:ui
    ...

Detailed import paths for (some of) the these imports:

    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/binding.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/binding.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/binding.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/change_notifier.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/change_notifier.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/change_notifier.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/change_notifier.dart => package:flutter/src/foundation/memory_allocations.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/change_notifier.dart => package:flutter/src/foundation/memory_allocations.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/change_notifier.dart => package:flutter/src/foundation/memory_allocations.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/key.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/memory_allocations.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/memory_allocations.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/foundation.dart => package:flutter/src/foundation/memory_allocations.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/src/services/binding.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/src/services/binding.dart => package:flutter/src/services/binary_messenger.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/src/services/binding.dart => package:flutter/src/services/hardware_keyboard.dart => dart:ui
    server.dart => package:esc_pos_printer/esc_pos_printer.dart => package:esc_pos_printer/src/network_printer.dart => package:esc_pos_utils/esc_pos_utils.dart => package:esc_pos_utils/src/capability_profile.dart => package:flutter/services.dart => package:flutter/src/services/asset_bundle.dart => package:flutter/src/services/binding.dart => package:flutter/src/services/hardware_keyboard.dart => package:flutter/foundation.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
    ...

../../flutter/packages/flutter/lib/src/services/asset_bundle.dart:15:1: Error: Dart library 'dart:ui' is not available on this platform.
export 'dart:ui' show ImmutableBuffer;
^
../../flutter/packages/flutter/lib/src/services/binary_messenger.dart:6:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' as ui;
       ^
../../flutter/packages/flutter/lib/src/services/binary_messenger.dart:9:1: Error: Dart library 'dart:ui' is not available on this platform.
export 'dart:ui' show PlatformMessageResponseCallback;
^
../../flutter/packages/flutter/lib/src/services/binding.dart:8:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' as ui;
       ^
../../flutter/packages/flutter/lib/src/services/binding.dart:22:1: Error: Dart library 'dart:ui' is not available on this platform.
export 'dart:ui' show ChannelBuffers, RootIsolateToken;
^
../../flutter/packages/flutter/lib/src/services/font_loader.dart:5:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui';
       ^
../../flutter/packages/flutter/lib/src/services/hardware_keyboard.dart:5:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' as ui;
       ^
../../flutter/packages/flutter/lib/src/services/hardware_keyboard.dart:12:1: Error: Dart library 'dart:ui' is not available on this platform.
export 'dart:ui' show KeyData;
^

Process finished with exit code 254

The only fast workaround possible for me was transforming capabilities.json in a multiline string ad use it without the need to call:

image

and removing this import:

image

i hope this thing will help someone :-)