{"record":{"id":"6640b92130b4cd8c","repo":"bettercap/bettercap","slug":"no-pipe-decorator-found-on-stringify-type","errorCode":null,"errorMessage":"No Pipe decorator found on ${stringify(type)}","messagePattern":"No Pipe decorator found on (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"modules/ui/ui/vendor.js","lineNumber":34209,"sourceCode":"    }\n    PipeResolver.prototype.isPipe = function (type) {\n        var typeMetadata = this._reflector.annotations(resolveForwardRef(type));\n        return typeMetadata && typeMetadata.some(createPipe.isTypeOf);\n    };\n    /**\n     * Return {@link Pipe} for a given `Type`.\n     */\n    PipeResolver.prototype.resolve = function (type, throwIfNotFound) {\n        if (throwIfNotFound === void 0) { throwIfNotFound = true; }\n        var metas = this._reflector.annotations(resolveForwardRef(type));\n        if (metas) {\n            var annotation = findLast(metas, createPipe.isTypeOf);\n            if (annotation) {\n                return annotation;\n            }\n        }\n        if (throwIfNotFound) {\n            throw new Error(\"No Pipe decorator found on \" + stringify(type));\n        }\n        return null;\n    };\n    return PipeResolver;\n}());\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// http://cldr.unicode.org/index/cldr-spec/plural-rules\nvar PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *","sourceCodeStart":34191,"sourceCodeEnd":34227,"githubUrl":"https://github.com/bettercap/bettercap/blob/8eca2820f3c41d2004434ed5a291d87462caeeb7/modules/ui/ui/vendor.js#L34191-L34227","documentation":"PipeResolver.resolve guard: no @Pipe decorator exists among the type's annotations, yet the type was used where a pipe was expected (declared in a module, or referenced by name in a template's pipe expression). stringify(type) identifies the offending class.","triggerScenarios":"Thrown at modules/ui/ui/vendor.js:34209 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add @Pipe({ name: 'myPipe' }) to the class and implement PipeTransform.transform","Confirm the template pipe name matches the decorator's name property","Remove the class from a module's declarations if it is not actually a pipe"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8eca2820f3c41d2004434ed5a291d87462caeeb7","analyzedAt":"2026-09-02T12:49:00.712Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T16:17:10.729Z"}