@microsoft/kiota-abstractions
Version:
Core abstractions for kiota generated libraries in TypeScript and JavaScript
104 lines • 3.87 kB
TypeScript
/**
* -------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License.
* See License in the project root for license information.
* -------------------------------------------------------------------------------------------
*/
import type { Guid } from "../utils/guidUtils.js";
import type { DateOnly } from "../dateOnly.js";
import type { Duration } from "../duration.js";
import type { TimeOnly } from "../timeOnly.js";
import type { Parsable } from "./parsable.js";
import type { ParsableFactory } from "./parsableFactory.js";
/**
* Interface for a deserialization node in a parse tree. This interface provides an abstraction layer over serialization formats, libraries and implementations.
*/
export interface ParseNode {
/**
* Gets the string value of the node.
* @returns the string value of the node.
*/
getStringValue(): string | undefined;
/**
* Gets a new parse node for the given identifier.
* @param identifier the identifier of the current node property.
* @returns a new parse node for the given identifier.
*/
getChildNode(identifier: string): ParseNode | undefined;
/**
* Gets the boolean value of the node.
* @returns the boolean value of the node.
*/
getBooleanValue(): boolean | undefined;
/**
* Gets the Number value of the node.
* @returns the Number value of the node.
*/
getNumberValue(): number | undefined;
/**
* Gets the Guid value of the node.
* @returns the Guid value of the node.
*/
getGuidValue(): Guid | undefined;
/**
* Gets the Date value of the node.
* @returns the Date value of the node.
*/
getDateValue(): Date | undefined;
/**
* Gets the Duration value of the node.
* @returns the Duration value of the node.
*/
getDurationValue(): Duration | undefined;
/**
* Gets the DateOnly value of the node.
* @returns the DateOnly value of the node.
*/
getDateOnlyValue(): DateOnly | undefined;
/**
* Gets the TimeOnly value of the node.
* @returns the TimeOnly value of the node.
*/
getTimeOnlyValue(): TimeOnly | undefined;
/**
* Gets the collection of primitive values of the node.
* @returns the collection of primitive values of the node.
*/
getCollectionOfPrimitiveValues<T>(): T[] | undefined;
/**
* Gets the collection of object values of the node.
* @returns the collection of object values of the node.
*/
getCollectionOfObjectValues<T extends Parsable>(parsableFactory: ParsableFactory<T>): T[] | undefined;
/**
* Gets the model object value of the node.
* @returns the model object value of the node.
*/
getObjectValue<T extends Parsable>(parsableFactory: ParsableFactory<T>): T;
/**
* Gets the Enum values of the node.
* @returns the Enum values of the node.
*/
getCollectionOfEnumValues<T>(type: any): T[];
/**
* Gets the Enum value of the node.
* @returns the Enum value of the node.
*/
getEnumValue<T>(type: any): T | undefined;
/**
* Gets the callback called before the node is deserialized.
* @returns the callback called before the node is deserialized.
*/
onBeforeAssignFieldValues: ((value: Parsable) => void) | undefined;
/**
* Gets the callback called after the node is deserialized.
* @returns the callback called after the node is deserialized.
*/
onAfterAssignFieldValues: ((value: Parsable) => void) | undefined;
/**
* Gets the byte array value of the node.
* @returns the byte array value of the node.
*/
getByteArrayValue(): ArrayBuffer | undefined;
}
//# sourceMappingURL=parseNode.d.ts.map