'use strict';
import { nodeTypes } from '@flint/infra/analysis/function-analysis';
import { isNameMatch } from '@flint/infra/analysis/name-analysis';
import { isObjectExpression, isArrayExpression } from '@flint/infra/analysis/node-type-type-guards';
import { variableDeclarationKinds } from '@flint/infra/analysis/module-analysis';

var __defProp=Object['defineProperty'],__name=(_0x4a7fcc,_0x37689c)=>__defProp(_0x4a7fcc,'name',{'value':_0x37689c,'configurable':!![]});function findPropertyInObject(_0x133bce,_0x516308){return _0x133bce['find'](_0x2e70e7=>_0x2e70e7['type']===nodeTypes['property']&&isNameMatch(_0x2e70e7['key'],_0x516308));}__name(findPropertyInObject,'findPropertyInObject');function isInsideConstAssertedExpression(_0x119ff1){let _0xb22790=_0x119ff1['parent'];while(_0xb22790){if(_0xb22790['type']===nodeTypes['TSAsExpression']&&_0xb22790['typeAnnotation']['type']===nodeTypes['TSTypeReference']&&_0xb22790['typeAnnotation']['typeName']['type']===nodeTypes['identifier']&&_0xb22790['typeAnnotation']['typeName']['name']===variableDeclarationKinds['const'])return isObjectExpression(_0xb22790['expression'])||isArrayExpression(_0xb22790['expression']);_0xb22790=_0xb22790['parent'];}return ![];}__name(isInsideConstAssertedExpression,'isInsideConstAssertedExpression');

export { findPropertyInObject, isInsideConstAssertedExpression };
