You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
2.1 KiB
47 lines
2.1 KiB
import type { BlockMap, FlowCollection } from '../parse/cst.js'; |
|
import type { Schema } from '../schema/Schema.js'; |
|
import type { StringifyContext } from '../stringify/stringify.js'; |
|
import { Collection } from './Collection.js'; |
|
import { ParsedNode, Range } from './Node.js'; |
|
import { Pair } from './Pair.js'; |
|
import { Scalar } from './Scalar.js'; |
|
import type { ToJSContext } from './toJS.js'; |
|
export declare type MapLike = Map<unknown, unknown> | Set<unknown> | Record<string | number | symbol, unknown>; |
|
export declare function findPair<K = unknown, V = unknown>(items: Iterable<Pair<K, V>>, key: unknown): Pair<K, V> | undefined; |
|
export declare namespace YAMLMap { |
|
interface Parsed<K extends ParsedNode = ParsedNode, V extends ParsedNode | null = ParsedNode | null> extends YAMLMap<K, V> { |
|
items: Pair<K, V>[]; |
|
range: Range; |
|
srcToken?: BlockMap | FlowCollection; |
|
} |
|
} |
|
export declare class YAMLMap<K = unknown, V = unknown> extends Collection { |
|
static get tagName(): 'tag:yaml.org,2002:map'; |
|
items: Pair<K, V>[]; |
|
constructor(schema?: Schema); |
|
/** |
|
* Adds a value to the collection. |
|
* |
|
* @param overwrite - If not set `true`, using a key that is already in the |
|
* collection will throw. Otherwise, overwrites the previous value. |
|
*/ |
|
add(pair: Pair<K, V> | { |
|
key: K; |
|
value: V; |
|
}, overwrite?: boolean): void; |
|
delete(key: unknown): boolean; |
|
get(key: unknown, keepScalar: true): Scalar<V> | undefined; |
|
get(key: unknown, keepScalar?: false): V | undefined; |
|
get(key: unknown, keepScalar?: boolean): V | Scalar<V> | undefined; |
|
has(key: unknown): boolean; |
|
set(key: K, value: V): void; |
|
/** |
|
* @param ctx - Conversion context, originally set in Document#toJS() |
|
* @param {Class} Type - If set, forces the returned collection type |
|
* @returns Instance of Type, Map, or Object |
|
*/ |
|
toJSON<T extends MapLike = Map<unknown, unknown>>(_?: unknown, ctx?: ToJSContext, Type?: { |
|
new (): T; |
|
}): any; |
|
toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string; |
|
}
|
|
|