{"record":{"id":"1aa4936d2fcfba07","repo":"grafana/k6","slug":"predicate-must-be-a-function","errorCode":null,"errorMessage":"predicate must be a function","messagePattern":"predicate must be a function","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/js/modules/k6/browser/browser/page_mapping.go","lineNumber":1086,"sourceCode":"\tif k6common.IsNullish(opts) {\n\t\treturn ropts, nil, nil\n\t}\n\n\tif fn, ok := sobek.AssertFunction(opts); ok {\n\t\treturn ropts, fn, nil\n\t}\n\n\tobj := opts.ToObject(k6ext.Runtime(ctx))\n\n\tvar pred sobek.Callable\n\tfor _, k := range obj.Keys() {\n\t\tswitch k {\n\t\tcase \"timeout\":\n\t\t\tropts.Timeout = time.Duration(obj.Get(k).ToInteger()) * time.Millisecond\n\t\tcase \"predicate\":\n\t\t\tfn, ok := sobek.AssertFunction(obj.Get(k))\n\t\t\tif !ok {\n\t\t\t\treturn nil, nil, fmt.Errorf(\"predicate must be a function\")\n\t\t\t}\n\t\t\tpred = fn\n\t\tdefault:\n\t\t\treturn nil, nil, fmt.Errorf(\"waitForEvent does not support option: '%s'\", k)\n\t\t}\n\t}\n\n\treturn ropts, pred, nil\n}\n\n// parseSize parses the size options from a Sobek value.\nfunc parseSize(rt *sobek.Runtime, opts sobek.Value) (*common.Size, error) {\n\tsize := &common.Size{}\n\tif k6common.IsNullish(opts) {\n\t\treturn size, nil\n\t}\n\n\tobj := opts.ToObject(rt)","sourceCodeStart":1068,"sourceCodeEnd":1104,"githubUrl":"https://github.com/grafana/k6/blob/93accf6570dcd306ca5e99cc44c393ee3797761b/internal/js/modules/k6/browser/browser/page_mapping.go#L1068-L1104","documentation":"Error \"predicate must be a function\" thrown in grafana/k6.","triggerScenarios":"Thrown at internal/js/modules/k6/browser/browser/page_mapping.go:1086 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"93accf6570dcd306ca5e99cc44c393ee3797761b","analyzedAt":"2026-08-15T21:23:27.118Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}