
package Text::Wigwam::ApiJr;

    use strict;
    use warnings;
    our $VERSION = '0.01';

    # A preliminary (immature) API object to be used for initializing
    # plug-ins and modules.

    sub new { return bless { globals => $_[1] }, ref($_[0]) || $_[0]  }
    sub globals { $_[0]->{globals} }
     # Globals methods
    sub eflag          { return shift->globals->eflag(@_) }
    sub eflag_info     { return shift->globals->eflag_info(@_) }
    sub set_global     { return shift->globals->set_global(@_) }
    sub get_global     { return shift->globals->get_global(@_) }
    sub get_global_ref { return shift->globals->get_global_ref(@_) }
    sub add_global     { return shift->globals->add_global(@_) }
    sub del_global     { return shift->globals->del_global(@_) }
    sub push_global    { return shift->globals->push_global(@_) }
    sub new_eflag      { return shift->globals->new_eflag(@_) }
    sub new_fatal      { return shift->globals->new_fatal(@_) }
    sub new_subst      { return shift->globals->new_subst(@_) }
    sub new_global     { return shift->globals->new_global(@_) }
    sub global_exists  { return shift->globals->global_exists(@_) }
    sub kill_global    { return shift->globals->kill_global(@_) }
    sub list_globals   { return shift->globals->list_globals(@_) }
    sub list_eflags    { return shift->globals->list_eflags(@_) }
    sub reset_eflags   { return shift->globals->reset_eflags(@_) }
    sub inc_scope      { return shift->globals->inc_scope(@_) }
    sub dec_scope      { return shift->globals->dec_scope(@_) }

    sub init_libs {
        no strict 'refs';
        my ($self, @libs) = @_;
        my $library;
        $library = "Text::Wigwam::Library::${_}::init_lib" and defined &$library and $library->($self)
           for @libs;
    }

1;
