UNPKG

1.3 kBTypeScriptView Raw
1import { Term } from "./term";
2import { NamedNode } from "./named-node";
3import { NamedNodeLike } from "./named-node";
4export declare function isLiteralLike<Value extends string = string>(given: unknown, value?: Value): given is LiteralLike<Value>;
5export declare function isLiteral<Value extends string = string>(given: unknown, value?: Value): given is Literal<Value>;
6export interface Literal<Value extends string = string, Language extends string = string, DataType extends NamedNode = NamedNode> extends Term<"Literal", Value> {
7 readonly language: Language;
8 readonly datatype: DataType;
9 equals(other: unknown): other is LiteralLike<Value>;
10}
11export declare class Literal<Value extends string = string, Language extends string = string, DataType extends NamedNode = NamedNode> extends Term<"Literal", Value> implements Literal<Value, Language, DataType> {
12 readonly language: Language;
13 readonly datatype: DataType;
14 constructor(value: Value, language: Language, datatype: DataType);
15 toJSON(): {
16 termType: "Literal";
17 value: Value;
18 language: Language;
19 datatype: DataType;
20 };
21}
22export declare type LiteralLike<Value extends string = string> = Pick<Literal<Value>, "termType" | "value" | "language"> & {
23 datatype?: NamedNodeLike;
24};