1.0.0 • Published 5 months ago

@types/rdf-loaders-registry v1.0.0

Weekly downloads
5
License
MIT
Repository
-
Last release
5 months ago

Installation

npm install --save @types/rdf-loaders-registry

Summary

This package contains type definitions for rdf-loaders-registry (https://github.com/zazuko/rdf-loaders-registry).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rdf-loaders-registry.

index.d.ts

// Type definitions for rdf-loaders-registry 0.3
// Project: https://github.com/zazuko/rdf-loaders-registry
// Definitions by: tpluscode <https://github.com/tpluscode>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.4

import { NamedNode } from 'rdf-js';
import { GraphPointer } from 'clownface';

declare namespace LoaderRegistry {
    type LoadOptions<T extends Record<string, any> = {}> = T & {
        loaderRegistry: LoaderRegistry;
    };

    interface Loader<T, TOptions extends Record<string, any> = {}> {
        (node: GraphPointer, options: LoadOptions<TOptions>): T | Promise<T>;
    }

    interface LoaderRegistry {
        registerLiteralLoader(datatype: string | NamedNode, loader: Loader<any, any>): void;
        registerNodeLoader(type: string | NamedNode, loader: Loader<any, any>): void;
        load<
            T extends any = unknown,
            // tslint:disable-next-line:no-unnecessary-generics
            TLoader extends Loader<T, TOptions> = Loader<T>,
            TOptions extends Record<string, any> = TLoader extends Loader<T, infer U> ? U : {}>(
                node: GraphPointer,
                options?: TOptions): Promise<T> | T | undefined;
        loader(node: GraphPointer): Loader<any, any> | null;
    }
}

// tslint:disable-next-line no-empty-interface
interface LoaderRegistry extends LoaderRegistry.LoaderRegistry {
}

declare class LoaderRegistry {
    _literalLoaders: Map<string, any>;
    _nodeLoaders: Map<string, any>;
}

export = LoaderRegistry;

Additional Details

Credits

These definitions were written by tpluscode.

1.0.0

5 months ago

0.3.9

6 months ago

0.3.6

7 months ago

0.3.5

8 months ago

0.3.8

6 months ago

0.3.7

7 months ago

0.3.4

9 months ago

0.3.3

1 year ago

0.3.2

2 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

4 years ago