aboutsummaryrefslogtreecommitdiff
path: root/node_modules/typedoc/dist/lib/converter/types/array.js.map
blob: b71559c2df2c6ddb011da728231c75fc851761aa (plain)
1
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/lib/converter/types/array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAEjC,4CAAqD;AACrD,4CAAiF;AAIjF;IAAoC,kCAAsB;IAA1D;;IAsDA,CAAC;IAlDG,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;QAEjD,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IACnL,CAAC;IAeD,oCAAW,GAAX,UAAY,OAAgB,EAAE,IAAsB;QAChD,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjE,MAAM,CAAC,IAAI,iBAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAgBD,oCAAW,GAAX,UAAY,OAAgB,EAAE,IAAsB;QAChD,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,MAAM,CAAC,IAAI,iBAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IArDQ,cAAc;QAD1B,sBAAS,CAAC,EAAC,IAAI,EAAE,YAAY,EAAC,CAAC;OACnB,cAAc,CAsD1B;IAAD,qBAAC;CAAA,AAtDD,CAAoC,mCAAsB,GAsDzD;AAtDY,wCAAc","sourcesContent":["import * as ts from 'typescript';\n\nimport { Type, ArrayType } from '../../models/index';\nimport { Component, ConverterTypeComponent, TypeConverter } from '../components';\nimport { Context } from '../context';\n\n@Component({name: 'type:array'})\nexport class ArrayConverter extends ConverterTypeComponent implements TypeConverter<ts.TypeReference, ts.ArrayTypeNode> {\n    /**\n     * Test whether this converter can handle the given TypeScript node.\n     */\n    supportsNode(context: Context, node: ts.ArrayTypeNode): boolean {\n        return node.kind === ts.SyntaxKind.ArrayType;\n    }\n\n    /**\n     * Test whether this converter can handle the given TypeScript type.\n     */\n    supportsType(context: Context, type: ts.TypeReference): boolean {\n        // Is there a better way to detect the {\"type\":\"reference\",\"name\":\"Array\",\"typeArguments\":{...}} types that are in fact arrays?\n        return !!(type.flags & ts.TypeFlags.Object) && !!type.symbol && type.symbol.name === 'Array' && !type.symbol.parent && !!type.typeArguments && type.typeArguments.length === 1;\n    }\n\n    /**\n     * Convert the given array type node to its type reflection.\n     *\n     * This is a node based converter with no type equivalent.\n     *\n     * ```\n     * let someValue: number[];\n     * ```\n     *\n     * @param context  The context object describing the current state the converter is in.\n     * @param node  The array type node that should be converted.\n     * @returns The type reflection representing the given array type node.\n     */\n    convertNode(context: Context, node: ts.ArrayTypeNode): Type {\n        const result = this.owner.convertType(context, node.elementType);\n\n        return new ArrayType(result);\n    }\n\n    /**\n     * Convert the given type reference to its type reflection.\n     *\n     * This is a type based converter, see [[convertTypeReference]] for the node equivalent.\n     *\n     * ```\n     * class SomeClass { }\n     * let someValue: SomeClass;\n     * ```\n     *\n     * @param context  The context object describing the current state the converter is in.\n     * @param type  The type reference that should be converted.\n     * @returns The type reflection representing the given type reference.\n     */\n    convertType(context: Context, type: ts.TypeReference): Type {\n        const result = this.owner.convertType(context, null, type.typeArguments[0]);\n\n        return new ArrayType(result);\n    }\n}\n"]}