summaryrefslogtreecommitdiff
path: root/node_modules/yaml/parse-cst.d.ts
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-01-21 14:39:46 +0100
committerMinteck <contact@minteck.org>2022-01-21 14:39:46 +0100
commit3a04cb197f152f171fba679663a91a9bb61d710e (patch)
tree825d8f9b0daab3e434d85704144ca87492da9b92 /node_modules/yaml/parse-cst.d.ts
parentc2aa7bf38fb30de2d04f87f8e7780e4c768ae6b1 (diff)
downloadcobalt-3a04cb197f152f171fba679663a91a9bb61d710e.tar.gz
cobalt-3a04cb197f152f171fba679663a91a9bb61d710e.tar.bz2
cobalt-3a04cb197f152f171fba679663a91a9bb61d710e.zip
Add config management
Diffstat (limited to 'node_modules/yaml/parse-cst.d.ts')
-rw-r--r--node_modules/yaml/parse-cst.d.ts191
1 files changed, 191 insertions, 0 deletions
diff --git a/node_modules/yaml/parse-cst.d.ts b/node_modules/yaml/parse-cst.d.ts
new file mode 100644
index 0000000..9fd2ebf
--- /dev/null
+++ b/node_modules/yaml/parse-cst.d.ts
@@ -0,0 +1,191 @@
+import { Type, YAMLSyntaxError } from './util'
+
+export default function parseCST(str: string): ParsedCST
+
+export interface ParsedCST extends Array<CST.Document> {
+ setOrigRanges(): boolean
+}
+
+export namespace CST {
+ interface Range {
+ start: number
+ end: number
+ origStart?: number
+ origEnd?: number
+ isEmpty(): boolean
+ }
+
+ interface ParseContext {
+ /** Node starts at beginning of line */
+ atLineStart: boolean
+ /** true if currently in a collection context */
+ inCollection: boolean
+ /** true if currently in a flow context */
+ inFlow: boolean
+ /** Current level of indentation */
+ indent: number
+ /** Start of the current line */
+ lineStart: number
+ /** The parent of the node */
+ parent: Node
+ /** Source of the YAML document */
+ src: string
+ }
+
+ interface Node {
+ context: ParseContext | null
+ /** if not null, indicates a parser failure */
+ error: YAMLSyntaxError | null
+ /** span of context.src parsed into this node */
+ range: Range | null
+ valueRange: Range | null
+ /** anchors, tags and comments */
+ props: Range[]
+ /** specific node type */
+ type: Type
+ /** if non-null, overrides source value */
+ value: string | null
+
+ readonly anchor: string | null
+ readonly comment: string | null
+ readonly hasComment: boolean
+ readonly hasProps: boolean
+ readonly jsonLike: boolean
+ readonly rangeAsLinePos: null | {
+ start: { line: number; col: number }
+ end?: { line: number; col: number }
+ }
+ readonly rawValue: string | null
+ readonly tag:
+ | null
+ | { verbatim: string }
+ | { handle: string; suffix: string }
+ readonly valueRangeContainsNewline: boolean
+ }
+
+ interface Alias extends Node {
+ type: Type.ALIAS
+ /** contain the anchor without the * prefix */
+ readonly rawValue: string
+ }
+
+ type Scalar = BlockValue | PlainValue | QuoteValue
+
+ interface BlockValue extends Node {
+ type: Type.BLOCK_FOLDED | Type.BLOCK_LITERAL
+ chomping: 'CLIP' | 'KEEP' | 'STRIP'
+ blockIndent: number | null
+ header: Range
+ readonly strValue: string | null
+ }
+
+ interface BlockFolded extends BlockValue {
+ type: Type.BLOCK_FOLDED
+ }
+
+ interface BlockLiteral extends BlockValue {
+ type: Type.BLOCK_LITERAL
+ }
+
+ interface PlainValue extends Node {
+ type: Type.PLAIN
+ readonly strValue: string | null
+ }
+
+ interface QuoteValue extends Node {
+ type: Type.QUOTE_DOUBLE | Type.QUOTE_SINGLE
+ readonly strValue:
+ | null
+ | string
+ | { str: string; errors: YAMLSyntaxError[] }
+ }
+
+ interface QuoteDouble extends QuoteValue {
+ type: Type.QUOTE_DOUBLE
+ }
+
+ interface QuoteSingle extends QuoteValue {
+ type: Type.QUOTE_SINGLE
+ }
+
+ interface Comment extends Node {
+ type: Type.COMMENT
+ readonly anchor: null
+ readonly comment: string
+ readonly rawValue: null
+ readonly tag: null
+ }
+
+ interface BlankLine extends Node {
+ type: Type.BLANK_LINE
+ }
+
+ interface MapItem extends Node {
+ type: Type.MAP_KEY | Type.MAP_VALUE
+ node: ContentNode | null
+ }
+
+ interface MapKey extends MapItem {
+ type: Type.MAP_KEY
+ }
+
+ interface MapValue extends MapItem {
+ type: Type.MAP_VALUE
+ }
+
+ interface Map extends Node {
+ type: Type.MAP
+ /** implicit keys are not wrapped */
+ items: Array<BlankLine | Comment | Alias | Scalar | MapItem>
+ }
+
+ interface SeqItem extends Node {
+ type: Type.SEQ_ITEM
+ node: ContentNode | null
+ }
+
+ interface Seq extends Node {
+ type: Type.SEQ
+ items: Array<BlankLine | Comment | SeqItem>
+ }
+
+ interface FlowChar {
+ char: '{' | '}' | '[' | ']' | ',' | '?' | ':'
+ offset: number
+ origOffset?: number
+ }
+
+ interface FlowCollection extends Node {
+ type: Type.FLOW_MAP | Type.FLOW_SEQ
+ items: Array<
+ FlowChar | BlankLine | Comment | Alias | Scalar | FlowCollection
+ >
+ }
+
+ interface FlowMap extends FlowCollection {
+ type: Type.FLOW_MAP
+ }
+
+ interface FlowSeq extends FlowCollection {
+ type: Type.FLOW_SEQ
+ }
+
+ type ContentNode = Alias | Scalar | Map | Seq | FlowCollection
+
+ interface Directive extends Node {
+ type: Type.DIRECTIVE
+ name: string
+ readonly anchor: null
+ readonly parameters: string[]
+ readonly tag: null
+ }
+
+ interface Document extends Node {
+ type: Type.DOCUMENT
+ directives: Array<BlankLine | Comment | Directive>
+ contents: Array<BlankLine | Comment | ContentNode>
+ readonly anchor: null
+ readonly comment: null
+ readonly tag: null
+ }
+}