'use strict'

# Import/Require the local "logic_signal" module
Logic_Signal = require('./logic_signal')

# Require the "nixfilter" module
nixfilter = require('nixfilter')

# A writer for logic signals
logic_signal_writer = (encoding) ->
	(write_bytes) ->
		write = nixfilter.writer.line(encoding)(write_bytes)
		(logic_signal) ->
			write(logic_signal.to_string())
			return

# A writer for logic signals timings
timings_writer = (encoding) ->
	(write_bytes) ->
		write = nixfilter.writer.line(encoding)(write_bytes)
		(logic_signal) ->
			write(logic_signal.to_timings_string())
			return

# What this module exports
module.exports =
	logic_signal: logic_signal_writer
	timings: timings_writer
