import { type_manager } from "./functions.js"; class file { #name; #path; #extension; constructor(path, windows_like = false) { if (!type_manager.is_string(path)) { throw "Path tu the file must be string."; } path = path.trim(); if (path.length === 0) { throw "Path of the file can not be empty."; } const separator = windows_like ? "\\" : "/"; const dirs = path.split(separator); const full_filename = dirs.pop().trim(); const filename_parts = full_filename.split("."); this.#name = filename_parts.shift(); this.#extension = filename_parts.join(".") this.#path = dirs.join("/"); } get full_path() { if (this.#path.length === 0) { return this.filename; } return this.#path + "/" + this.filename; } get filename() { if (this.#extension.length === 0) { return this.#name; } return this.#name + "." + this.#extension; } get name() { return this.#name; } get extension() { return this.#extension; } get path() { return this.#path; } get type() { return this.#extension; } } export { file };