Write a `createUser(type, name)` factory function that returns `{ name, type, permissions }`. Admin gets `["read","write","delete"]`, editor gets `["read","write"]`, viewer gets `["read"]`.
Problem Statement
Write a `createUser(type, name)` factory function that returns `{ name, type, permissions }`. Admin gets `["read","write","delete"]`, editor gets `["read","write"]`, viewer gets `["read"]`.
Complexity
Time Complexity: -
Space Complexity: -
Hints
š” Hint 1:
A factory function creates objects without using the new keyword.
š” Hint 2:
Use a switch or object lookup for different types.
š” Hint 3:
Map type to permissions and return the object.
ā
Solution:
```javascript
function createUser(type, name) {
const perms = { admin: ["read","write","delete"], editor: ["read","write"], viewer: ["read"] };
return { name, type, permissions: perms[type] || [] };
}
```