aboutsummaryrefslogtreecommitdiff
path: root/node_modules/typedoc/dist/lib/converter/types/tuple.js.map
blob: 72ce803d94d73d9fceca5bc6f828006fc2bd1fa1 (plain)
1
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../../src/lib/converter/types/tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAEjC,kDAAyD;AACzD,4CAA+E;AAI/E,IAAa,cAAc;IAAS,kCAAsB;IAA1D;;IA8DA,CAAC;IA1DG,qCAAY,GAAZ,UAAa,OAAgB,EAAE,IAAsB;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;IACjD,CAAC;IAKD,qCAAY,GAAZ,UAAa,OAAgB,EAAE,IAAsB;QACjD,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAeD,oCAAW,GAAX,UAAY,OAAgB,EAAE,IAAsB;QAApD,iBASC;QARG,IAAI,QAAgB,CAAC;QACrB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAlC,CAAkC,CAAC,CAAC;QAChF,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,QAAQ,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,IAAI,iBAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAeD,oCAAW,GAAX,UAAY,OAAgB,EAAE,IAAsB;QAApD,iBASC;QARG,IAAI,QAAgB,CAAC;QACrB,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACrB,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,KAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAxC,CAAwC,CAAC,CAAC;QACvF,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,QAAQ,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,IAAI,iBAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACL,qBAAC;AAAD,CAAC,AA9DD,CAAoC,mCAAsB,GA8DzD;AA9DY,cAAc;IAD1B,sBAAS,CAAC,EAAC,IAAI,EAAE,YAAY,EAAC,CAAC;GACnB,cAAc,CA8D1B;AA9DY,wCAAc","sourcesContent":["import * as ts from 'typescript';\n\nimport {Type, TupleType} from '../../models/types/index';\nimport {Component, ConverterTypeComponent, TypeConverter} from '../components';\nimport {Context} from '../context';\n\n@Component({name: 'type:tuple'})\nexport class TupleConverter extends ConverterTypeComponent implements TypeConverter<ts.TypeReference, ts.TupleTypeNode> {\n    /**\n     * Test whether this converter can handle the given TypeScript node.\n     */\n    supportsNode(context: Context, node: ts.TupleTypeNode): boolean {\n        return node.kind === ts.SyntaxKind.TupleType;\n    }\n\n    /**\n     * Test whether this converter can handle the given TypeScript type.\n     */\n    supportsType(context: Context, type: ts.TypeReference): boolean {\n        return !!(type.objectFlags & ts.ObjectFlags.Tuple);\n    }\n\n    /**\n     * Convert the given tuple type node to its type reflection.\n     *\n     * This is a node based converter, see [[convertTupleType]] for the type equivalent.\n     *\n     * ```\n     * let someValue: [string,number];\n     * ```\n     *\n     * @param context  The context object describing the current state the converter is in.\n     * @param node  The tuple type node that should be converted.\n     * @returns The type reflection representing the given tuple type node.\n     */\n    convertNode(context: Context, node: ts.TupleTypeNode): TupleType {\n        let elements: Type[];\n        if (node.elementTypes) {\n            elements = node.elementTypes.map((n) => this.owner.convertType(context, n));\n        } else {\n            elements = [];\n        }\n\n        return new TupleType(elements);\n    }\n\n    /**\n     * Convert the given tuple type to its type reflection.\n     *\n     * This is a type based converter, see [[convertTupleTypeNode]] for the node equivalent.\n     *\n     * ```\n     * let someValue: [string,number];\n     * ```\n     *\n     * @param context  The context object describing the current state the converter is in.\n     * @param type  The tuple type that should be converted.\n     * @returns The type reflection representing the given tuple type.\n     */\n    convertType(context: Context, type: ts.TypeReference): TupleType {\n        let elements: Type[];\n        if (type.typeArguments) {\n            elements = type.typeArguments.map((t) => this.owner.convertType(context, null, t));\n        } else {\n            elements = [];\n        }\n\n        return new TupleType(elements);\n    }\n}\n"]}