(serviceName: string)
| 38 | const KEYCHAIN_PROVIDER_KEY = ProviderKey.make("keychain"); |
| 39 | |
| 40 | export const makeKeychainProvider = (serviceName: string): CredentialProvider => ({ |
| 41 | key: KEYCHAIN_PROVIDER_KEY, |
| 42 | writable: true, |
| 43 | get: (id: ProviderItemId) => getPassword(serviceName, id).pipe(Effect.mapError(toStorageError)), |
| 44 | has: (id: ProviderItemId) => |
| 45 | getPassword(serviceName, id).pipe( |
| 46 | Effect.map((value: string | null) => value !== null), |
| 47 | Effect.mapError(toStorageError), |
| 48 | ), |
| 49 | set: (id: ProviderItemId, value: string) => |
| 50 | setPassword(serviceName, id, value).pipe(Effect.mapError(toStorageError)), |
| 51 | delete: (id: ProviderItemId) => |
| 52 | deletePassword(serviceName, id).pipe(Effect.asVoid, Effect.mapError(toStorageError)), |
| 53 | // Keychain doesn't support enumerating — you need to know the account name. |
| 54 | list: undefined, |
| 55 | }); |
no test coverage detected