hesape

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2026 License: MIT

README

hesape

The components of the Arandu framework.

hesape is Guarani for illumination. It is to Arandu what Illuminate is to Laravel: the collection the framework is made of, one package per component, under the names a Laravel developer already knows.

import (
    "github.com/arandu-io/hesape/auth"
    "github.com/arandu-io/hesape/http"
    "github.com/arandu-io/hesape/mail"
)

The tree mirrors the clone, directory by directory

laravel_illuminate/ holds all forty-two Illuminate components, cloned whole. This tree is generated from it: every directory that holds PHP classes becomes a Go package at the same path, lowercased, and its doc comment names the files it answers to.

laravel_illuminate/auth/Access/Gate.php   ->  hesape/auth/access
laravel_illuminate/auth/Passwords/        ->  hesape/auth/passwords
laravel_illuminate/database/Eloquent/     ->  hesape/database/eloquent

What is deliberately not mirrored: stubs/, resources/ and views/, which hold data rather than classes, and the eight components that become no package at all -- those keep a single directory whose doc comment says why, so somebody looking for Container finds the reason instead of silence.

One package could not be literal: Support/Defer is support/deferpkg, because defer is a Go keyword.

Every package below exists with its doc comment and nothing else. That is deliberate: the reorganization is specified in full before anything moves, because the attempt before it fixed things one at a time and one at a time does not reorganize a structure.

The specification is docs/31-reorganizacao-hesape.md. It was written by reading all forty-two Illuminate components against the code — 1,070 surfaces — and it names, for each package, which component it answers to, what moves into it and from where, and which existing package splits to make it.

The move happens in phases. Each one ends with the whole tree compiling and the tests passing, so there is no window in which the framework is half moved.

What is not here

Eight Illuminate components become no package at all, each for a reason written down: Conditionable (Go has if in statement position), Container (ADR 0001 — the wiring is explicit and written by hand), Contracts (an interface lives in the package that consumes it), Html and Remote (deleted from Laravel in 5.1), Macroable (a method's receiver must be declared in its own package), Reflection (it is the mechanism this framework's thesis rejects), and Workbench (it is a console generator, so it is aru).

One name differs from Illuminate's: Testing is arandutest, because a path segment called testing shadows the standard library package every _test.go imports — the precedent is net/http/httptest.

Http is http, like Illuminate's. A file that imports it alongside net/http aliases ours, so http goes on meaning net/http as it does everywhere else in Go. ADR 0047 settles it; the collection never shipped an httpx, and this file used to say it did.

Licence

MIT. See LICENSE.md.

Directories

Path Synopsis
Package arandutest holds the helpers a test needs and an application must not use.
Package arandutest holds the helpers a test needs and an application must not use.
Package auth mirrors Illuminate\Auth.
Package auth mirrors Illuminate\Auth.
access
Package access mirrors Illuminate\Auth\Access.
Package access mirrors Illuminate\Auth\Access.
access/events
Package events mirrors Illuminate\Auth\Access\Events.
Package events mirrors Illuminate\Auth\Access\Events.
console
Package console mirrors Illuminate\Auth\Console.
Package console mirrors Illuminate\Auth\Console.
events
Package events mirrors Illuminate\Auth\Events.
Package events mirrors Illuminate\Auth\Events.
listeners
Package listeners mirrors Illuminate\Auth\Listeners.
Package listeners mirrors Illuminate\Auth\Listeners.
middleware
Package middleware mirrors Illuminate\Auth\Middleware.
Package middleware mirrors Illuminate\Auth\Middleware.
notifications
Package notifications mirrors Illuminate\Auth\Notifications.
Package notifications mirrors Illuminate\Auth\Notifications.
passwords
Package passwords mirrors Illuminate\Auth\Passwords.
Package passwords mirrors Illuminate\Auth\Passwords.
users
Package users mirrors the user providers of Illuminate\Auth.
Package users mirrors the user providers of Illuminate\Auth.
Package broadcasting mirrors Illuminate\Broadcasting.
Package broadcasting mirrors Illuminate\Broadcasting.
broadcasters
Package broadcasters mirrors Illuminate\Broadcasting\Broadcasters.
Package broadcasters mirrors Illuminate\Broadcasting\Broadcasters.
bus
Package bus groups jobs: a batch that knows when all of it is done, and a chain that runs one job after another.
Package bus groups jobs: a batch that knows when all of it is done, and a chain that runs one job after another.
events
Package events names the three things that happen to a batch.
Package events names the three things that happen to a batch.
Package cache is the cache: a Repository over a Store, the stores, the locks, the tags and the rate limiter.
Package cache is the cache: a Repository over a Store, the stores, the locks, the tags and the rate limiter.
cachetest
Package cachetest is the contract suite every cache store passes.
Package cachetest is the contract suite every cache store passes.
console
Package console mirrors Illuminate\Cache\Console.
Package console mirrors Illuminate\Cache\Console.
events
Package events mirrors Illuminate\Cache\Events.
Package events mirrors Illuminate\Cache\Events.
ratelimiting
Package ratelimiting mirrors Illuminate\Cache\RateLimiting.
Package ratelimiting mirrors Illuminate\Cache\RateLimiting.
Package collections mirrors Illuminate\Collections.
Package collections mirrors Illuminate\Collections.
arr
Package arr mirrors Illuminate\Support\Arr.
Package arr mirrors Illuminate\Support\Arr.
traits
Package traits mirrors Illuminate\Collections\Traits.
Package traits mirrors Illuminate\Collections\Traits.
Package concurrency mirrors Illuminate\Concurrency.
Package concurrency mirrors Illuminate\Concurrency.
console
Package console mirrors Illuminate\Concurrency\Console.
Package console mirrors Illuminate\Concurrency\Console.
Package conditionable mirrors Illuminate\Conditionable.
Package conditionable mirrors Illuminate\Conditionable.
Package config mirrors Illuminate\Config.
Package config mirrors Illuminate\Config.
Package console is what an application writes its own commands against.
Package console is what an application writes its own commands against.
attributes
Package attributes mirrors Illuminate\Console\Attributes.
Package attributes mirrors Illuminate\Console\Attributes.
contracts
Package contracts mirrors Illuminate\Console\Contracts.
Package contracts mirrors Illuminate\Console\Contracts.
events
Package events mirrors Illuminate\Console\Events.
Package events mirrors Illuminate\Console\Events.
scheduling
Package scheduling is the events an application runs on a clock.
Package scheduling is the events an application runs on a clock.
view
Package view mirrors Illuminate\Console\View.
Package view mirrors Illuminate\Console\View.
view/components
Package components is the set of shapes a command prints in.
Package components is the set of shapes a command prints in.
Package container is Arandu's answer to Illuminate\Container, and the answer is that there is no container.
Package container is Arandu's answer to Illuminate\Container, and the answer is that there is no container.
Package contracts mirrors Illuminate\Contracts, and is deliberately empty.
Package contracts mirrors Illuminate\Contracts, and is deliberately empty.
Package cookie mirrors Illuminate\Cookie.
Package cookie mirrors Illuminate\Cookie.
middleware
Package middleware mirrors Illuminate\Cookie\Middleware.
Package middleware mirrors Illuminate\Cookie\Middleware.
Package database is the data access contract: one connection, one repository shape, and no ORM.
Package database is the data access contract: one connection, one repository shape, and no ORM.
capsule
Package capsule mirrors Illuminate\Database\Capsule.
Package capsule mirrors Illuminate\Database\Capsule.
concerns
Package concerns mirrors Illuminate\Database\Concerns.
Package concerns mirrors Illuminate\Database\Concerns.
conformance
Package conformance is the suite every connector has to pass against a real server.
Package conformance is the suite every connector has to pass against a real server.
connectors
Package connectors mirrors Illuminate\Database\Connectors.
Package connectors mirrors Illuminate\Database\Connectors.
console
Package console mirrors Illuminate\Database\Console.
Package console mirrors Illuminate\Database\Console.
console/factories
Package factories mirrors Illuminate\Database\Console\Factories.
Package factories mirrors Illuminate\Database\Console\Factories.
console/migrations
Package migrations mirrors Illuminate\Database\Console\Migrations.
Package migrations mirrors Illuminate\Database\Console\Migrations.
console/seeds
Package seeds mirrors Illuminate\Database\Console\Seeds.
Package seeds mirrors Illuminate\Database\Console\Seeds.
eloquent
Package eloquent answers Illuminate\Database\Eloquent: the Model, its query Builder, its Collection and soft deletes.
Package eloquent answers Illuminate\Database\Eloquent: the Model, its query Builder, its Collection and soft deletes.
eloquent/attributes
Package attributes mirrors Illuminate\Database\Eloquent\Attributes.
Package attributes mirrors Illuminate\Database\Eloquent\Attributes.
eloquent/casts
Package casts answers Illuminate\Database\Eloquent\Casts: the custom cast contract, the two encoders every cast shares, and the casts Illuminate ships.
Package casts answers Illuminate\Database\Eloquent\Casts: the custom cast contract, the two encoders every cast shares, and the casts Illuminate ships.
eloquent/concerns
Package concerns mirrors Illuminate\Database\Eloquent\Concerns: the traits a model is assembled from.
Package concerns mirrors Illuminate\Database\Eloquent\Concerns: the traits a model is assembled from.
eloquent/factories
Package factories mirrors Illuminate\Database\Eloquent\Factories.
Package factories mirrors Illuminate\Database\Eloquent\Factories.
eloquent/factories/attributes
Package attributes mirrors Illuminate\Database\Eloquent\Factories\Attributes.
Package attributes mirrors Illuminate\Database\Eloquent\Factories\Attributes.
eloquent/relations
Package relations mirrors Illuminate\Database\Eloquent\Relations: the sixteen relation types, and the eager loading that keeps them from being N+1 queries.
Package relations mirrors Illuminate\Database\Eloquent\Relations: the sixteen relation types, and the eager loading that keeps them from being N+1 queries.
eloquent/relations/concerns
Package concerns mirrors Illuminate\Database\Eloquent\Relations\Concerns: the traits the sixteen relation types are assembled from.
Package concerns mirrors Illuminate\Database\Eloquent\Relations\Concerns: the traits the sixteen relation types are assembled from.
events
Package events mirrors Illuminate\Database\Events.
Package events mirrors Illuminate\Database\Events.
migrations
Package migrations mirrors Illuminate\Database\Migrations.
Package migrations mirrors Illuminate\Database\Migrations.
query
Package query mirrors Illuminate\Database\Query.
Package query mirrors Illuminate\Database\Query.
query/grammars
Package grammars mirrors Illuminate\Database\Query\Grammars: one grammar per engine, each one compiling a *query.Builder into the SQL that engine speaks.
Package grammars mirrors Illuminate\Database\Query\Grammars: one grammar per engine, each one compiling a *query.Builder into the SQL that engine speaks.
query/processors
Package processors mirrors Illuminate\Database\Query\Processors: the hook a driver takes to adjust results on the way out of the connection.
Package processors mirrors Illuminate\Database\Query\Processors: the hook a driver takes to adjust results on the way out of the connection.
schema
Package schema mirrors Illuminate\Database\Schema.
Package schema mirrors Illuminate\Database\Schema.
schema/grammars
Package grammars mirrors Illuminate\Database\Schema\Grammars.
Package grammars mirrors Illuminate\Database\Schema\Grammars.
Package encryption mirrors Illuminate\Encryption.
Package encryption mirrors Illuminate\Encryption.
Package events is Illuminate\Events: a dispatcher, its listeners, and an outbox underneath.
Package events is Illuminate\Events: a dispatcher, its listeners, and an outbox underneath.
Package exception is where a failed request stops.
Package exception is where a failed request stops.
Package filesystem is the file contract: what a tenant uploaded, and where it went.
Package filesystem is the file contract: what a tenant uploaded, and where it went.
s3 module
Package foundation boots the application.
Package foundation boots the application.
Package hashing mirrors Illuminate\Hashing.
Package hashing mirrors Illuminate\Hashing.
Package html builds escaped HTML fragments as values.
Package html builds escaped HTML fragments as values.
Package http mirrors Illuminate\Http.
Package http mirrors Illuminate\Http.
client
Package client mirrors Illuminate\Http\Client.
Package client mirrors Illuminate\Http\Client.
client/concerns
Package concerns mirrors Illuminate\Http\Client\Concerns.
Package concerns mirrors Illuminate\Http\Client\Concerns.
client/events
Package events mirrors Illuminate\Http\Client\Events.
Package events mirrors Illuminate\Http\Client\Events.
client/promises
Package promises mirrors Illuminate\Http\Client\Promises.
Package promises mirrors Illuminate\Http\Client\Promises.
concerns
Package concerns mirrors Illuminate\Http\Concerns.
Package concerns mirrors Illuminate\Http\Concerns.
exceptions
Package exceptions mirrors Illuminate\Http\Exceptions.
Package exceptions mirrors Illuminate\Http\Exceptions.
middleware
Package middleware mirrors Illuminate\Http\Middleware.
Package middleware mirrors Illuminate\Http\Middleware.
resources
Package resources mirrors Illuminate\Http\Resources.
Package resources mirrors Illuminate\Http\Resources.
resources/json
Package json mirrors Illuminate\Http\Resources\Json.
Package json mirrors Illuminate\Http\Resources\Json.
resources/jsonapi
Package jsonapi mirrors Illuminate\Http\Resources\JsonApi.
Package jsonapi mirrors Illuminate\Http\Resources\JsonApi.
testing
Package testing mirrors Illuminate\Http\Testing.
Package testing mirrors Illuminate\Http\Testing.
Package image is Illuminate\Image: an image described by what should be done to it, and done to it once, when somebody asks for the result.
Package image is Illuminate\Image: an image described by what should be done to it, and done to it once, when somebody asks for the result.
transformations
Package transformations is Illuminate\Image\Transformations: the twelve things that can be asked of an image, as twelve types.
Package transformations is Illuminate\Image\Transformations: the twelve things that can be asked of an image, as twelve types.
Package jsonschema builds and checks JSON Schema documents.
Package jsonschema builds and checks JSON Schema documents.
types
Package types is the address Illuminate\JsonSchema\Types would have, and it is empty on purpose.
Package types is the address Illuminate\JsonSchema\Types would have, and it is empty on purpose.
log
Package log mirrors Illuminate\Log, and it is the reason this framework exists.
Package log mirrors Illuminate\Log, and it is the reason this framework exists.
context
Package context mirrors Illuminate\Log\Context.
Package context mirrors Illuminate\Log\Context.
context/events
Package events mirrors Illuminate\Log\Context\Events.
Package events mirrors Illuminate\Log\Context\Events.
events
Package events mirrors Illuminate\Log\Events.
Package events mirrors Illuminate\Log\Events.
Package macroable mirrors Illuminate\Macroable.
Package macroable mirrors Illuminate\Macroable.
Package mail sends what an application has to say to somebody.
Package mail sends what an application has to say to somebody.
events
Package events mirrors Illuminate\Mail\Events.
Package events mirrors Illuminate\Mail\Events.
mailables
Package mailables mirrors Illuminate\Mail\Mailables.
Package mailables mirrors Illuminate\Mail\Mailables.
transport
Package transport is the delivery half of mail: the seven ways a rendered message leaves the process.
Package transport is the delivery half of mail: the seven ways a rendered message leaves the process.
Package notifications delivers one short message to one person over the channels that person can be reached on.
Package notifications delivers one short message to one person over the channels that person can be reached on.
channels
Package channels is the three ways the collection can deliver a notification.
Package channels is the three ways the collection can deliver a notification.
console
Package console is the one command the notifications component ships.
Package console is the one command the notifications component ships.
events
Package events names the three things that can happen to a notification on its way out, and builds the hesape/events value that records each of them.
Package events names the three things that can happen to a notification on its way out, and builds the hesape/events value that records each of them.
messages
Package messages is what a notification looks like on a channel.
Package messages is what a notification looks like on a channel.
Package number is Illuminate\Support\Number.
Package number is Illuminate\Support\Number.
Package oauth signs somebody in with an account they already have.
Package oauth signs somebody in with an account they already have.
providers
Package providers is the OAuth 2 authorization code flow, out to the provider and back, with one type per provider on top of it.
Package providers is the OAuth 2 authorization code flow, out to the provider and back, with one type per provider on top of it.
Package pagination is Arandu's Illuminate\Pagination.
Package pagination is Arandu's Illuminate\Pagination.
Package pipeline mirrors Illuminate\Pipeline.
Package pipeline mirrors Illuminate\Pipeline.
Package process runs external programs.
Package process runs external programs.
exceptions
Package exceptions mirrors Illuminate\Process\Exceptions, and holds nothing.
Package exceptions mirrors Illuminate\Process\Exceptions, and holds nothing.
Package queue is work that happens after the response: the Queue contract, the drivers that ship with the collection, and the Worker that drains them.
Package queue is work that happens after the response: the Queue contract, the drivers that ship with the collection, and the Worker that drains them.
attributes
Package attributes is the per-job settings a job carries: how many tries, how long to wait between them, how long the handler may run.
Package attributes is the per-job settings a job carries: how many tries, how long to wait between them, how long the handler may run.
capsule
Package capsule mirrors Illuminate\Queue\Capsule.
Package capsule mirrors Illuminate\Queue\Capsule.
connectors
Package connectors opens queue connections.
Package connectors opens queue connections.
console
Package console is the queue's commands.
Package console is the queue's commands.
console/concerns
Package concerns is what more than one queue command needs.
Package concerns is what more than one queue command needs.
events
Package events is everything the queue announces about itself.
Package events is everything the queue announces about itself.
failed
Package failed is where a job goes when it gives up.
Package failed is where a job goes when it gives up.
jobs
Package jobs is the job itself: what Push takes, and what the worker holds while the work runs.
Package jobs is the job itself: what Push takes, and what the worker holds while the work runs.
middleware
Package middleware wraps the handling of a job.
Package middleware wraps the handling of a job.
redis module
Package reflection mirrors Illuminate\Reflection.
Package reflection mirrors Illuminate\Reflection.
Package remote answers to Illuminate\Remote, and answers that it is not built.
Package remote answers to Illuminate\Remote, and answers that it is not built.
Package routing decides which handler answers a request, and what the address of a handler is called.
Package routing decides which handler answers a request, and what the address of a handler is called.
console
Package console mirrors Illuminate\Routing\Console.
Package console mirrors Illuminate\Routing\Console.
contracts
Package contracts mirrors Illuminate\Routing\Contracts.
Package contracts mirrors Illuminate\Routing\Contracts.
controllers
Package controllers mirrors Illuminate\Routing\Controllers.
Package controllers mirrors Illuminate\Routing\Controllers.
events
Package events mirrors Illuminate\Routing\Events.
Package events mirrors Illuminate\Routing\Events.
exceptions
Package exceptions mirrors Illuminate\Routing\Exceptions.
Package exceptions mirrors Illuminate\Routing\Exceptions.
matching
Package matching holds the four checks that decide whether a route answers a request: its host, its method, its scheme and its path.
Package matching holds the four checks that decide whether a route answers a request: its host, its method, its scheme and its path.
middleware
Package middleware holds the two middlewares that decide whether a request reaches a route at all.
Package middleware holds the two middlewares that decide whether a request reaches a route at all.
rpc module
Package scheduler has moved to console/scheduling.
Package scheduler has moved to console/scheduling.
Package session issues sessions, carries the flash across the redirect that follows a rejected form, and mints the CSRF token bound to the session.
Package session issues sessions, carries the flash across the redirect that follows a rejected form, and mints the CSRF token bound to the session.
console
Package console mirrors Illuminate\Session\Console.
Package console mirrors Illuminate\Session\Console.
middleware
Package middleware mirrors Illuminate\Session\Middleware.
Package middleware mirrors Illuminate\Session\Middleware.
Package str is Illuminate\Support\Str, Illuminate\Support\Stringable and Illuminate\Support\Pluralizer.
Package str is Illuminate\Support\Str, Illuminate\Support\Stringable and Illuminate\Support\Pluralizer.
Package support mirrors Illuminate\Support.
Package support mirrors Illuminate\Support.
arr
Package arr is Illuminate\Support\Arr.
Package arr is Illuminate\Support\Arr.
deferpkg
Package deferpkg mirrors Illuminate\Support\Defer.
Package deferpkg mirrors Illuminate\Support\Defer.
exceptions
Package exceptions mirrors Illuminate\Support\Exceptions.
Package exceptions mirrors Illuminate\Support\Exceptions.
facades
Package facades mirrors Illuminate\Support\Facades.
Package facades mirrors Illuminate\Support\Facades.
testing
Package testing mirrors Illuminate\Support\Testing.
Package testing mirrors Illuminate\Support\Testing.
testing/fakes
Package fakes mirrors Illuminate\Support\Testing\Fakes.
Package fakes mirrors Illuminate\Support\Testing\Fakes.
traits
Package traits mirrors Illuminate\Support\Traits.
Package traits mirrors Illuminate\Support\Traits.
Package testing mirrors Illuminate\Testing.
Package testing mirrors Illuminate\Testing.
concerns
Package concerns mirrors Illuminate\Testing\Concerns.
Package concerns mirrors Illuminate\Testing\Concerns.
constraints
Package constraints mirrors Illuminate\Testing\Constraints.
Package constraints mirrors Illuminate\Testing\Constraints.
exceptions
Package exceptions mirrors Illuminate\Testing\Exceptions.
Package exceptions mirrors Illuminate\Testing\Exceptions.
fluent
Package fluent mirrors Illuminate\Testing\Fluent.
Package fluent mirrors Illuminate\Testing\Fluent.
fluent/concerns
Package concerns mirrors Illuminate\Testing\Fluent\Concerns.
Package concerns mirrors Illuminate\Testing\Fluent\Concerns.
Package translation mirrors Illuminate\Translation.
Package translation mirrors Illuminate\Translation.
Package validation answers to Illuminate\Validation: it checks a submitted request against a set of rules.
Package validation answers to Illuminate\Validation: it checks a submitted request against a set of rules.
Package view is the view layer: kyse for markup, HTMX for interaction, Alpine for ephemeral client state, Tailwind for style.
Package view is the view layer: kyse for markup, HTMX for interaction, Alpine for ephemeral client state, Tailwind for style.
compilers
Package compilers mirrors Illuminate\View\Compilers.
Package compilers mirrors Illuminate\View\Compilers.
compilers/concerns
Package concerns mirrors Illuminate\View\Compilers\Concerns.
Package concerns mirrors Illuminate\View\Compilers\Concerns.
concerns
Package concerns mirrors Illuminate\View\Concerns.
Package concerns mirrors Illuminate\View\Concerns.
engines
Package engines mirrors Illuminate\View\Engines.
Package engines mirrors Illuminate\View\Engines.
middleware
Package middleware mirrors Illuminate\View\Middleware.
Package middleware mirrors Illuminate\View\Middleware.
Package workbench generates a Go module that an Arandu application can import.
Package workbench generates a Go module that an Arandu application can import.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL