MCPcopy Create free account
hub / github.com/codeaashu/claude-code / settingsJsonToRules

Function settingsJsonToRules

src/utils/permissions/permissionsLoader.ts:91–114  ·  view source on GitHub ↗

* Converts permissions JSON to an array of PermissionRule objects * @param data The parsed permissions data * @param source The source of these rules * @returns Array of PermissionRule objects

(
  data: SettingsJson | null,
  source: PermissionRuleSource,
)

Source from the content-addressed store, hash-verified

89 * @returns Array of PermissionRule objects
90 */
91function settingsJsonToRules(
92 data: SettingsJson | null,
93 source: PermissionRuleSource,
94): PermissionRule[] {
95 if (!data || !data.permissions) {
96 return []
97 }
98
99 const { permissions } = data
100 const rules: PermissionRule[] = []
101 for (const behavior of SUPPORTED_RULE_BEHAVIORS) {
102 const behaviorArray = permissions[behavior]
103 if (behaviorArray) {
104 for (const ruleString of behaviorArray) {
105 rules.push({
106 source,
107 ruleBehavior: behavior,
108 ruleValue: permissionRuleValueFromString(ruleString),
109 })
110 }
111 }
112 }
113 return rules
114}
115
116/**
117 * Loads all permission rules from all relevant sources (managed and project settings)

Callers 1

Calls 2

pushMethod · 0.45

Tested by

no test coverage detected