import { xLuceneTypeConfig } from '@terascope/types'; import BaseType from '../base-type.js'; import { GraphQLType, TypeESMapping, DuckDBTypeConfig } from '../../interfaces.js'; /** * A nested JSON object. * * - **ES/OpenSearch mapping:** `{ type: 'object' }`, or `{ type: 'nested' }` * when `array: true`. The `nested` type preserves the independence of each * array element for querying (an `object` array flattens its values). When * `indexed: false` the object is disabled via `enabled: false` (not * `index: false`). * - **GraphQL:** a `JSONObject` custom scalar (the `scalar JSONObject` * definition is emitted alongside the field). * - **xLucene:** `Object`. * * @example * const config: DataTypeConfig = { * version: 1, * fields: { metadata: { type: 'Object' } } * }; */ export default class ObjectType extends BaseType { toESMapping(): TypeESMapping; toGraphQL(): GraphQLType; toXlucene(): xLuceneTypeConfig; /** * The DuckDB column type for this field. * JSON, because an Object with no declared children has no known shape. An Object * with declared children becomes a GroupType, which maps to a STRUCT instead. */ toDuckDB(): DuckDBTypeConfig; } //# sourceMappingURL=object.d.ts.map