UNPKG

chrome-devtools-frontend

Version:
43 lines (39 loc) 1.43 kB
// Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import {createRule} from './utils/ruleCreator.ts'; export default createRule({ name: 'check-enumerated-histograms', meta: { type: 'problem', docs: { description: 'check arguments when recording enumerated histograms', category: 'Possible Errors', }, fixable: 'code', messages: { invalidArgument: 'When calling \'recordEnumeratedHistogram\' the third argument should be of the form \'SomeEnum.MAX_VALUE\'.', }, schema: [], // no options }, defaultOptions: [], create: function(context) { return { CallExpression(node) { if (node.callee.type === 'MemberExpression' && node.callee.object.type === 'Identifier' && node.callee.object.name === 'InspectorFrontendHostInstance' && node.callee.property.type === 'Identifier' && node.callee.property.name === 'recordEnumeratedHistogram') { const argumentNode = node.arguments[2]; if (argumentNode.type !== 'MemberExpression' || argumentNode.property.type !== 'Identifier' || argumentNode.property.name !== 'MAX_VALUE') { context.report({ node, messageId: 'invalidArgument', }); } } }, }; }, });