mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-12 04:50:18 +00:00
add @rdfjs/fetch-lite and @rdfjs/formats-common (#41679)
* feat: add @rdfjs/formats-common * feat: add @rdfjs/fetch-lite * combine with PR for formats-common * update to latest rdf-js * update to latest rdf-js
This commit is contained in:
committed by
Wesley Wigham
parent
0b811831be
commit
b1f277e1cd
Vendored
+33
@@ -0,0 +1,33 @@
|
||||
// Type definitions for @rdfjs/fetch-lite 2.0
|
||||
// Project: https://github.com/rdfjs-base/fetch-lite
|
||||
// Definitions by: tpluscode <https://github.com/tpluscode>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
import { DatasetCoreFactory, DatasetCore, Quad, Stream, BaseQuad } from 'rdf-js';
|
||||
import formats = require('@rdfjs/formats-common');
|
||||
|
||||
declare namespace rdfFetch {
|
||||
interface FormatsInit extends RequestInit {
|
||||
formats: Pick<typeof formats, 'parsers'>;
|
||||
fetch?: typeof fetch;
|
||||
}
|
||||
|
||||
interface FactoryInit<D extends DatasetCore<OutQuad, InQuad>, OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad> extends FormatsInit {
|
||||
factory: DatasetCoreFactory<OutQuad, InQuad, D>;
|
||||
}
|
||||
|
||||
interface RdfFetchResponse<Q extends BaseQuad = Quad> extends Response {
|
||||
quadStream(): Stream<Q>;
|
||||
}
|
||||
|
||||
interface DatasetResponse<D extends DatasetCore<OutQuad, InQuad>, OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad> extends RdfFetchResponse<OutQuad> {
|
||||
dataset(): D;
|
||||
}
|
||||
}
|
||||
|
||||
declare function rdfFetch(url: string, options: rdfFetch.FormatsInit): Promise<rdfFetch.RdfFetchResponse>;
|
||||
declare function rdfFetch <D extends DatasetCore<OutQuad, InQuad>, OutQuad extends BaseQuad = Quad, InQuad extends BaseQuad = OutQuad>(
|
||||
url: string,
|
||||
options: rdfFetch.FactoryInit<D, OutQuad, InQuad>): Promise<rdfFetch.DatasetResponse<D, OutQuad, InQuad>>;
|
||||
|
||||
export = rdfFetch;
|
||||
@@ -0,0 +1,37 @@
|
||||
import fetch = require('@rdfjs/fetch-lite');
|
||||
import { SinkMap } from '@rdfjs/sink-map';
|
||||
import { Stream, Dataset, Quad, DatasetCoreFactory } from 'rdf-js';
|
||||
import { EventEmitter } from 'events';
|
||||
|
||||
const formats: {
|
||||
parsers: SinkMap<EventEmitter, Stream>;
|
||||
} = <any> {};
|
||||
|
||||
async function fetchString(): Promise<string> {
|
||||
const response = await fetch('http://example.com', { formats });
|
||||
return response.text();
|
||||
}
|
||||
|
||||
async function fetchQuadStream(): Promise<Stream> {
|
||||
const response = await fetch('http://example.com', { formats });
|
||||
return response.quadStream();
|
||||
}
|
||||
|
||||
interface QuadExt extends Quad {
|
||||
toCanonical(): string;
|
||||
}
|
||||
|
||||
interface DatasetX extends Dataset<QuadExt> {
|
||||
toCanonical(): string;
|
||||
}
|
||||
const factory: DatasetCoreFactory<QuadExt, QuadExt, DatasetX> = <any> {};
|
||||
|
||||
async function fetchDataset(): Promise<DatasetX> {
|
||||
const response = await fetch('http://example.com', { formats, factory });
|
||||
return response.dataset();
|
||||
}
|
||||
|
||||
async function fetchTypedStream(): Promise<Stream<QuadExt>> {
|
||||
const response = await fetch('http://example.com', { formats, factory });
|
||||
return response.quadStream();
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"paths": {
|
||||
"@rdfjs/fetch-lite": [
|
||||
"rdfjs__fetch-lite"
|
||||
],
|
||||
"@rdfjs/formats-common": [
|
||||
"rdfjs__formats-common"
|
||||
],
|
||||
"@rdfjs/sink-map": [
|
||||
"rdfjs__sink-map"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"rdfjs__fetch-lite-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// Type definitions for @rdfjs/formats-common 2.0
|
||||
// Project: https://github.com/rdfjs-base/formats-common
|
||||
// Definitions by: tpluscode <https://github.com/tpluscode>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
import { SinkMap } from '@rdfjs/sink-map';
|
||||
import { Stream } from 'rdf-js';
|
||||
import { EventEmitter } from 'events';
|
||||
|
||||
declare const formats: {
|
||||
parsers: SinkMap<EventEmitter, Stream>;
|
||||
serializers: SinkMap<Stream, EventEmitter>;
|
||||
};
|
||||
|
||||
export = formats;
|
||||
@@ -0,0 +1,7 @@
|
||||
import formats = require('@rdfjs/formats-common');
|
||||
import { Stream } from 'rdf-js';
|
||||
import { SinkMap } from '@rdfjs/sink-map';
|
||||
import { EventEmitter } from 'events';
|
||||
|
||||
const parsers: SinkMap<EventEmitter, Stream> = formats.parsers;
|
||||
const serializers: SinkMap<Stream, EventEmitter> = formats.serializers;
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictFunctionTypes": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"paths": {
|
||||
"@rdfjs/sink-map": [
|
||||
"rdfjs__sink-map"
|
||||
],
|
||||
"@rdfjs/formats-common": [
|
||||
"rdfjs__formats-common"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"rdfjs__formats-common-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user