UNPKG

semantic-network

Version:

A utility library for manipulating a list of links that form a semantic interface to a network of resources.

94 lines (93 loc) 3.23 kB
import { ResourceSync } from '../interfaces/sync/resourceSync'; import { Document, Representation } from '../types/types'; /** * Retrieves a resource (singleton or collection, either directly or through a link relation) and synchronises from * the given document. It then will recurse through all provides `strategies`. * * @example * * ```sync({resource, document})``` * * Resource Document * * sync * +-----+ +-----+ * | | <-----------+ | | * | | | | * +-----+ +-----+ * * @example * * ```sync({resource: collection, document})``` * * resource * Collection Document * * +-----+ * | | * | | * +-----+ sync * X +---+ * X <-----------+ | x | * X +---+ * items * * @example * * ```sync(resource: parentResource, rel, document})``` * * parent resource * Resource Collection Document * * +----------+ * | | * | +-----+ * | Named| | * | | | * | +-----+ sync * | | X +---+ * | | X <-----------+ | x | * +----------+ X +---+ * items * * @example * * ```sync({resource: parentResource, rel, document: parentDocument}) * * parent singleton singleton parent * Resource Resource Document Document * * +----------+ +---------+ * | | sync | | * | +-----+ +-----+ | * | Named| | <-----------+ | |Named | * | | | | | | * | +-----+ +-----+ | * | | | | * | | ^ | | * +----------+ | +---------+ * | * + * looks for * * @example * * ```sync({resource: parentResource, rel, document: parentDocument})``` * * parent resource document parent * Resource Collection Collection Document * * +----------+ +----------+ * | | sync | | * | +-----+ +-----+ | * | Named| | <-----------+ | | | * | | | | | | * | +-----+ +-----+ | * | | X X | | * | | X items items X | | * +----------+ X X +----------+ * * * @param syncAction */ export declare function sync<T extends Representation = Representation, U extends Document = Document>(syncAction: ResourceSync<T, U>): Promise<void>;