Skip to main content
Version: 0.6.x

Module: runtime

ComposeDB runtime module, converting a runtime composite to an executable GraphQL schema.

Installation

npm install @composedb/runtime

Classes

Type Aliases

ComposeRuntimeParams

Ƭ ComposeRuntimeParams: GetSchemaParams & { cache?: DocumentCache | boolean ; ceramic: CeramicApi | string ; context?: Context }


Context

Ƭ Context: Object

Type declaration

NameTypeDescription
ceramicCeramicApiCeramic client instance used internally.
createDoc<Content>(model: string, content: Content) => Promise<ModelInstanceDocument<Content>>Create a new document with the given model and content.
createSingle<Content>(model: string, content: Content, options?: CreateOpts) => Promise<ModelInstanceDocument<Content>>Create a new single document with the given model and content.
getViewerID() => string | nullID of the current viewer (authenticated DID), if set.
isAuthenticated() => booleanReturns whether the Ceramic client instance used internally is authenticated or not. When not authenticated, mutations will fail.
loadDoc<Content>(id: string | CommitID | StreamID, fresh?: boolean) => Promise<ModelInstanceDocument<Content>>Load a document by ID, using the cache if possible.
loaderDocumentLoaderDocument loader instance used internally.
queryConnection(query: ConnectionQuery) => Promise<Connection<ModelInstanceDocument | null>>Query the index for a connection of documents.
queryCount(query: BaseQuery) => Promise<number>Query the index for the total number of documents matching the query parameters.
querySingle(query: BaseQuery) => Promise<ModelInstanceDocument | null>Query the index for a single document.
updateDoc<Content>(id: string | StreamID, content: Content, options?: UpdateDocOptions) => Promise<ModelInstanceDocument<Content>>Update an existing document.

ContextParams

Ƭ ContextParams: Object

Type declaration

NameTypeDescription
cache?DocumentCache | booleanOptional cache for documents.
ceramicCeramicApiCeramic client instance.
fallbackViewerID?string | nullFallback viewer ID to use when the Ceramic instance is not authenticated.

DocumentCache

Ƭ DocumentCache: Object

Type declaration

NameType
clear() => any
delete(id: string) => any
get(id: string) => void | Promise<ModelInstanceDocument<Record<string, any>>>
set(id: string, value: Promise<ModelInstanceDocument<Record<string, any>>>) => any

GetSchemaParams

Ƭ GetSchemaParams: Object

Type declaration

NameTypeDescription
definition?RuntimeCompositeDefinitionRuntime composite definition, created using the Composite development tools.
readonly?booleanSet the schema to read-only, disabling mutations support.
schema?GraphQLSchemaGraphQL Schema to use, ignores the definition and readonly parameters if provided.

Functions

createContext

createContext(params): Context

Parameters

NameType
paramsContextParams

Returns

Context


createGraphQLSchema

createGraphQLSchema(params): GraphQLSchema

Create a GraphQL schema from a runtime composite definition

Parameters

NameType
paramsCreateSchemaParams

Returns

GraphQLSchema


getSchema

getSchema(params): GraphQLSchema

Use or create a GraphQL schema based on the provided parameters.

Parameters

NameType
paramsGetSchemaParams

Returns

GraphQLSchema


printGraphQLSchema

printGraphQLSchema(definition, readonly?): string

Create a GraphQL schema from a runtime composite definition and return its string representation.

Parameters

NameTypeDefault value
definitionRuntimeCompositeDefinitionundefined
readonlybooleanfalse

Returns

string