{"version":3,"file":"ruleEngine.mjs","sources":["../../src/types/enums.ts","../../src/utils/isObjectOrUndefined.ts","../../src/utils/isNumber.ts","../../src/matchers/index.ts","../../src/matchers/equals.ts","../../src/matchers/notEquals.ts","../../src/matchers/exists.ts","../../src/matchers/notexists.ts","../../src/matchers/greaterThan.ts","../../src/matchers/greaterThanEquals.ts","../../src/matchers/lessThan.ts","../../src/matchers/lessThanEquals.ts","../../src/matchers/contains.ts","../../src/matchers/notContains.ts","../../src/matchers/startsWith.ts","../../src/matchers/endsWith.ts","../../src/utils/isUndefined.ts","../../src/historical.ts","../../src/model.ts","../../src/parser.ts","../../src/executors/target/id-factory.ts","../../src/utils/memoize.ts","../../src/utils/isDefined.ts","../../src/utils/hashing.ts","../../src/executors/target/context-factory.ts","../../src/executors/target/target-rules-executor.ts","../../src/executors/target/validator.ts","../../src/executors/constants.ts","../../src/executors/target/identity-extractor.ts","../../src/index.ts","../../src/executors/index.ts","../../src/executors/default/default-rules-executor.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ConditionType","MatcherType","LogicType","SearchType","isObjectOrUndefined","value","isNumber","MATCHERS","MatcherType_EQUALS","matches","context","key","values","contextValue","String","toLowerCase","i","length","MatcherType_NOT_EQUALS","MatcherType_EXISTS","MatcherType_NOT_EXISTS","MatcherType_GREATER_THAN","needle","MatcherType_GREATER_THAN_OR_EQUAL_TO","MatcherType_LESS_THAN","MatcherType_LESS_THAN_OR_EQUAL_TO","MatcherType_CONTAINS","indexOf","MatcherType_NOT_CONTAINS","MatcherType_STARTS_WITH","startsWith","MatcherType_ENDS_WITH","endsWith","isUndefined","EVENT_ID","EVENT_TYPE","VALID_EVENT_TYPES","VALID_EVENT_IDS","detectKeyName","properties","Error","normalizeEvent","originalEvent","event","structuredClone","forEach","keyName","normalizedKeyName","createCondition","type","definition","evaluate","options","toString","createMatcherDefinition","matcherKey","matcher","getMatcher","createHistoricalDefinition","events","from","to","searchType","eventCount","Infinity","reduce","mostRecent","index","eventHash","generateEventHash","contextEvent","mostRecentTimestamp","timestamps","filter","t","pop","timestamp","queryAndCountMostRecentEvent","previousEventTimestamp","sameSequence","every","contextEventFirstTimestamp","isOrdered","Number","queryAndCountOrderedEvent","countTotal","queryAndCountAnyEvent","checkForHistoricalMatcher","parseGroupDefinition","logic","conditions","result","evaluateAnd","evaluateOr","createGroupDefinition","map","parseCondition","condition","matchers","parseMatcherDefinition","definitions","parseHistoricalDefinition","parseConsequence","consequence","id","detail","createConsequence","parseRule","rule","consequences","execute","createRule","parseRules","ruleset","version","rules","metadata","parsedRules","parsedMetadata","provider","providerData","Object","assign","parseMetadata","createRules","createId","identity","identityTemplate","replace","memoize","func","keyResolverFunc","arr","memoizedValues","funcArgs","mul32","m","n","nlo","hashUnencodedChars","stringValue","seed","k1","len","c1","c2","h1","roundedEnd","charCodeAt","join","createAllocationMemoized","buckets","signedNumericHashValue","Math","round","abs","createContext","allocation","evaluateRules","createTargetRulesExecutor","validateMetadata","rulesNoKey","rulesWithKeys","push","groupRules","xdm","identityMap","identities","Array","isArray","extractIdentity","consequencesNoKey","rulesKeys","keys","consequencesWithKeys","rulesForKey","RulesEngine","createDefaultRulesExecutor","createExecutor"],"mappings":"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"}