@@ -17,10 +17,10 @@ const ERROR_UX = {
1717//#endregion
1818//#region utils
1919/**
20- * @typedef { NonNullable<NonNullable<(Awaited<ReturnType<import('@socketsecurity/sdk').SocketSdk['postSettings']>> & {success: true})['data']['entries'][number]['settings'][string]['issueRules']>>[string] | boolean } NonNormalizedIssueRule
20+ * @typedef { NonNullable<NonNullable<NonNullable< (Awaited<ReturnType<import('@socketsecurity/sdk').SocketSdk['postSettings']>> & {success: true})['data']['entries'][number]['settings'][string]> ['issueRules']>>[string] | boolean } NonNormalizedIssueRule
2121 */
2222/**
23- * @typedef { NonNullable<NonNullable<(Awaited<ReturnType<import('@socketsecurity/sdk').SocketSdk['postSettings']>> & {success: true})['data']['defaults']['issueRules']>[string]> | boolean } NonNormalizedResolvedIssueRule
23+ * @typedef { ( NonNullable<NonNullable<(Awaited<ReturnType<import('@socketsecurity/sdk').SocketSdk['postSettings']>> & {success: true})['data']['defaults']['issueRules']>[string]> & { action: string }) | boolean } NonNormalizedResolvedIssueRule
2424 */
2525/**
2626 * Iterates over all entries with ordered issue rule for deferal
@@ -32,6 +32,15 @@ const ERROR_UX = {
3232 * @returns {RuleActionUX }
3333 */
3434function resolveIssueRuleUX ( entriesOrderedIssueRules , defaultValue ) {
35+ if ( defaultValue === true || defaultValue == null ) {
36+ defaultValue = {
37+ action : 'error'
38+ }
39+ } else if ( defaultValue === false ) {
40+ defaultValue = {
41+ action : 'ignore'
42+ }
43+ }
3544 let block = false
3645 let display = false
3746 let needDefault = true
@@ -145,7 +154,24 @@ module.exports = {
145154 entriesOrderedIssueRules . push ( orderedIssueRules )
146155 }
147156 const defaultValue = settings . defaults . issueRules [ key ]
148- ux = resolveIssueRuleUX ( entriesOrderedIssueRules , defaultValue ?? { action : 'error' } )
157+ /**
158+ * @type {NonNormalizedResolvedIssueRule }
159+ */
160+ let resolvedDefaultValue = {
161+ action : 'error'
162+ }
163+ // @ts -ignore backcompat, cover with tests
164+ if ( defaultValue === false ) {
165+ resolvedDefaultValue = {
166+ action : 'ignore'
167+ }
168+ // @ts -ignore backcompat, cover with tests
169+ } else if ( defaultValue && defaultValue !== true ) {
170+ resolvedDefaultValue = {
171+ action : defaultValue . action ?? 'error'
172+ }
173+ }
174+ ux = resolveIssueRuleUX ( entriesOrderedIssueRules , resolvedDefaultValue )
149175 cachedUX . set ( key , ux )
150176 return ux
151177 }
0 commit comments