The pantry Reference Manual

This is the pantry Reference Manual, version 0.0.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 12:49:41 2026 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 pantry

Common Lisp client for Pantry JSON storage service: https://getpantry.cloud

Author

Aleksandar Simic <>

License

BSD

Version

0.0.3

Dependencies
  • dexador (system).
  • com.inuoe.jzon (system).
Source

pantry.asd.

Child Component

pantry.lisp (file).


3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 pantry/pantry.asd

Source

pantry.asd.

Parent Component

pantry (system).

ASDF Systems

pantry.


3.1.2 pantry/pantry.lisp

Source

pantry.asd.

Parent Component

pantry (system).

Packages

pantry.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 pantry

Source

pantry.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: create-basket (client basket-name data)

Create or replace a basket with the given data.

Package

pantry.

Source

pantry.lisp.

Function: delete-basket (client basket-name)

Delete a basket entirely.

Package

pantry.

Source

pantry.lisp.

Function: get-basket (client basket-name)

Get the contents of a basket.

Package

pantry.

Source

pantry.lisp.

Function: get-pantry-details (client)

Get details of the pantry including baskets and their TTL.

Package

pantry.

Source

pantry.lisp.

Function: make-pantry-client (pantry-id)
Package

pantry.

Source

pantry.lisp.

Reader: pantry-client-base-url (instance)
Writer: (setf pantry-client-base-url) (instance)
Package

pantry.

Source

pantry.lisp.

Target Slot

base-url.

Reader: pantry-client-pantry-id (instance)
Writer: (setf pantry-client-pantry-id) (instance)
Package

pantry.

Source

pantry.lisp.

Target Slot

pantry-id.

Function: update-basket (client basket-name data)

Update basket contents (merges with existing data).

Package

pantry.

Source

pantry.lisp.

Function: update-pantry-details (client &key name description)

Update pantry name and/or description.

Package

pantry.

Source

pantry.lisp.


5.1.2 Generic functions

Generic Reader: pantry-error-message (condition)
Package

pantry.

Methods
Reader Method: pantry-error-message ((condition pantry-error))
Source

pantry.lisp.

Target Slot

message.

Generic Reader: pantry-http-error-response-body (condition)
Package

pantry.

Methods
Reader Method: pantry-http-error-response-body ((condition pantry-http-error))
Source

pantry.lisp.

Target Slot

response-body.

Generic Reader: pantry-http-error-status-code (condition)
Package

pantry.

Methods
Reader Method: pantry-http-error-status-code ((condition pantry-http-error))
Source

pantry.lisp.

Target Slot

status-code.


5.1.3 Conditions

Condition: pantry-error
Package

pantry.

Source

pantry.lisp.

Direct superclasses

error.

Direct subclasses

pantry-http-error.

Direct methods

pantry-error-message.

Direct slots
Slot: message
Initargs

:message

Readers

pantry-error-message.

Writers

This slot is read-only.

Condition: pantry-http-error
Package

pantry.

Source

pantry.lisp.

Direct superclasses

pantry-error.

Direct methods
Direct slots
Slot: status-code
Initargs

:status-code

Readers

pantry-http-error-status-code.

Writers

This slot is read-only.

Slot: response-body
Initargs

:response-body

Readers

pantry-http-error-response-body.

Writers

This slot is read-only.


5.1.4 Structures

Structure: pantry-client
Package

pantry.

Source

pantry.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: pantry-id
Initform

pantry::pantry-id

Readers

pantry-client-pantry-id.

Writers

(setf pantry-client-pantry-id).

Slot: base-url
Initform

"https://getpantry.cloud/apiv1/pantry"

Readers

pantry-client-base-url.

Writers

(setf pantry-client-base-url).


5.2 Internals


5.2.1 Ordinary functions

Function: %alist-p (lst)

True if LST looks like an alist: list of cons cells with key-like cars.

Package

pantry.

Source

pantry.lisp.

Function: %json-key-string (key)

Convert a Lisp key to a JSON object key string. Symbols/keywords are downcased by name; numbers and others are stringified.

Package

pantry.

Source

pantry.lisp.

Function: %key-like-p (k)
Package

pantry.

Source

pantry.lisp.

Function: %looks-like-plist-p (lst)

Heuristically determine if LST is a property list (even length, keys in odd positions).

Package

pantry.

Source

pantry.lisp.

Function: build-url (client &rest path-components)

Build a complete URL for the Pantry API.

Package

pantry.

Source

pantry.lisp.

Function: content-to-json (content)

Convert arbitrary CONTENT into a JSON string using ‘normalize-json‘.

Package

pantry.

Source

pantry.lisp.

Function: copy-pantry-client (instance)
Package

pantry.

Source

pantry.lisp.

Function: ensure-json-object (data)

Normalize DATA and ensure a JSON object (hash-table) result. If DATA normalizes to a non-object (array or primitive), wrap it as {"value": <normalized>}.

Package

pantry.

Source

pantry.lisp.

Function: make-request (method url &key content)

Make HTTP request and handle errors.

Package

pantry.

Source

pantry.lisp.

Function: normalize-json (value)

Normalize arbitrary Lisp data into a structure that ‘com.inuoe.jzon:stringify‘ can reliably encode. Supports hash-tables, alists, plists, lists, vectors, numbers, strings, booleans, and dotted pairs. Object keys are converted to downcased strings. Unknown types are stringified.

Package

pantry.

Source

pantry.lisp.

Function: pantry-client-p (object)
Package

pantry.

Source

pantry.lisp.

Function: parse-json-response (response)

Parse JSON response or return as-is if it’s already parsed or a string.

Package

pantry.

Source

pantry.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
B   C   D   E   F   G   M   N   P   U  
Index Entry  Section

%
%alist-p: Private ordinary functions
%json-key-string: Private ordinary functions
%key-like-p: Private ordinary functions
%looks-like-plist-p: Private ordinary functions

(
(setf pantry-client-base-url): Public ordinary functions
(setf pantry-client-pantry-id): Public ordinary functions

B
build-url: Private ordinary functions

C
content-to-json: Private ordinary functions
copy-pantry-client: Private ordinary functions
create-basket: Public ordinary functions

D
delete-basket: Public ordinary functions

E
ensure-json-object: Private ordinary functions

F
Function, %alist-p: Private ordinary functions
Function, %json-key-string: Private ordinary functions
Function, %key-like-p: Private ordinary functions
Function, %looks-like-plist-p: Private ordinary functions
Function, (setf pantry-client-base-url): Public ordinary functions
Function, (setf pantry-client-pantry-id): Public ordinary functions
Function, build-url: Private ordinary functions
Function, content-to-json: Private ordinary functions
Function, copy-pantry-client: Private ordinary functions
Function, create-basket: Public ordinary functions
Function, delete-basket: Public ordinary functions
Function, ensure-json-object: Private ordinary functions
Function, get-basket: Public ordinary functions
Function, get-pantry-details: Public ordinary functions
Function, make-pantry-client: Public ordinary functions
Function, make-request: Private ordinary functions
Function, normalize-json: Private ordinary functions
Function, pantry-client-base-url: Public ordinary functions
Function, pantry-client-p: Private ordinary functions
Function, pantry-client-pantry-id: Public ordinary functions
Function, parse-json-response: Private ordinary functions
Function, update-basket: Public ordinary functions
Function, update-pantry-details: Public ordinary functions

G
Generic Function, pantry-error-message: Public generic functions
Generic Function, pantry-http-error-response-body: Public generic functions
Generic Function, pantry-http-error-status-code: Public generic functions
get-basket: Public ordinary functions
get-pantry-details: Public ordinary functions

M
make-pantry-client: Public ordinary functions
make-request: Private ordinary functions
Method, pantry-error-message: Public generic functions
Method, pantry-http-error-response-body: Public generic functions
Method, pantry-http-error-status-code: Public generic functions

N
normalize-json: Private ordinary functions

P
pantry-client-base-url: Public ordinary functions
pantry-client-p: Private ordinary functions
pantry-client-pantry-id: Public ordinary functions
pantry-error-message: Public generic functions
pantry-error-message: Public generic functions
pantry-http-error-response-body: Public generic functions
pantry-http-error-response-body: Public generic functions
pantry-http-error-status-code: Public generic functions
pantry-http-error-status-code: Public generic functions
parse-json-response: Private ordinary functions

U
update-basket: Public ordinary functions
update-pantry-details: Public ordinary functions