dx/dxkit/core/module.sh

9 lines
No EOL
381 B
Bash

#!/usr/bin/env bash
declare -A _LOADED_MODULES=()
readonly _MODULE_AUTO_LOAD_HOOK="on_load"
function module::loaded() { [[ -n "${_LOADED_MODULES["$1"]:-}" ]]; }
function module::has_function() { declare -F "${1}::${2}" >/dev/null 2>&1; }
function module::is_auto_load() { declare -F "${1}::on_load" >/dev/null 2>&1; }
function module::to_namespace() { echo "${1//\//::}"; }