(row: PluginStorageEntry)
| 58 | } |
| 59 | |
| 60 | const rowToOperation = (row: PluginStorageEntry): StoredOperation | null => { |
| 61 | const decoded = decodeOperationStorage(row.data); |
| 62 | if (Option.isNone(decoded)) return null; |
| 63 | const operation = decoded.value; |
| 64 | return { |
| 65 | integration: operation.integration, |
| 66 | toolName: operation.toolName, |
| 67 | binding: decodeBinding( |
| 68 | typeof operation.binding === "string" |
| 69 | ? decodeBindingJson(operation.binding) |
| 70 | : operation.binding, |
| 71 | ), |
| 72 | ...(operation.description !== undefined ? { description: operation.description } : {}), |
| 73 | }; |
| 74 | }; |
| 75 | |
| 76 | const stableKeyHash = (value: string): string => { |
| 77 | let hash = 0xcbf29ce484222325n; |
no test coverage detected