lib/extends/_directoryToStream.js
function _directoryToStream (directory, separator, callback) {

			if ("undefined" === typeof directory) {
				throw new ReferenceError("missing \"directory\" argument");
			}
				else if ("string" !== typeof directory) {
					throw new TypeError("\"directory\" argument is not a string");
				}
				else if ("" === directory.trim()) {
					throw new Error("\"directory\" argument is empty");
				}

			else if ("undefined" === typeof callback && "undefined" === typeof separator) {
				throw new ReferenceError("missing \"callback\" argument");
			}
				else if ("function" !== typeof callback && "function" !== typeof separator) {
					throw new TypeError("\"callback\" argument is not a function");
				}

			else {

				extractFiles(directory, (err, files) => {
					const _callback = "undefined" === typeof callback ? separator : callback;
					return err ? _callback(err) : filesToStream(files, separator, _callback);
				});

			}

		}
function _directoryToStream (directory, separator, callback) {

			if ("undefined" === typeof directory) {
				throw new ReferenceError("missing \"directory\" argument");
			}
				else if ("string" !== typeof directory) {
					throw new TypeError("\"directory\" argument is not a string");
				}
				else if ("" === directory.trim()) {
					throw new Error("\"directory\" argument is empty");
				}

			else if ("undefined" === typeof callback && "undefined" === typeof separator) {
				throw new ReferenceError("missing \"callback\" argument");
			}
				else if ("function" !== typeof callback && "function" !== typeof separator) {
					throw new TypeError("\"callback\" argument is not a function");
				}

			else {

				extractFiles(directory, (err, files) => {
					const _callback = "undefined" === typeof callback ? separator : callback;
					return err ? _callback(err) : filesToStream(files, separator, _callback);
				});

			}

		}
function _directoryToStream ( directory , separator , callback ) { if ( "undefined" === typeof directory ) { throw new ReferenceError ( "missing \"directory\" argument" ) ; } else if ( "string" !== typeof directory ) { throw new TypeError ( "\"directory\" argument is not a string" ) ; } else if ( "" === directory . trim ( ) ) { throw new Error ( "\"directory\" argument is empty" ) ; } else if ( "undefined" === typeof callback && "undefined" === typeof separator ) { throw new ReferenceError ( "missing \"callback\" argument" ) ; } else if ( "function" !== typeof callback && "function" !== typeof separator ) { throw new TypeError ( "\"callback\" argument is not a function" ) ; } else { extractFiles ( directory , ( err , files ) => { const _callback = "undefined" === typeof callback ? separator : callback ; return err ? _callback ( err ) : filesToStream ( files , separator , _callback ) ; } ) ; } }
methods 
Async directoryToStream
@param {string} directory : directory to work with
@param {string} separator : used to separate content (can be "")
@param {function|null} callback : operation's result
@returns {void}
methods Async directoryToStream