---
name: "KiokuDB::Role::API"
section: "3pm"
platform: "linux"
package: "libkiokudb-perl"
version: "0.57-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/KiokuDB::Role::API"
---

# KiokuDB::Role::API(3pm)

Role for KiokuDB api (used to setup delegations).

## NAME

KiokuDB::Role::API - Role for KiokuDB api (used to setup delegations).

## VERSION

version 0.57

## SYNOPSIS

```
    has directory => (
        isa => "KiokuDB",
        handles => "KiokuDB::Role::API",
    );
```

## DESCRIPTION

This role provides `"requires"` declarations for the runtime methods of KiokuDB. This is useful for setting up delegations.

This is used in e.g. KiokuX::User.

## METHODS

- new\_scope

  - txn\_do

  - lookup

  - exists

  - store

  - insert

  - update

  - deep\_update

  - delete

  - is\_root

  - set\_root

  - unset\_root

  - search

  - all\_objects

  - root\_set

  - grep

  - scan

  - clear\_live\_objects

  - new\_scope

  - object\_to\_id

  - objects\_to\_ids

  - id\_to\_object

  - ids\_to\_objects

  - live\_objects

  - directory

  The `"directory"` method should be used to fetch the actual KiokuDB delegate. This will work no matter how deeply it is nested.

## AUTHOR

Yuval Kogman \<nothingmuch@woobling.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
