Current section
Files
Jump to
Current section
Files
src/gossamer/crypto_key.ffi.mjs
// src/gossamer/key_type.ts
import * as $keyType from "./key_type.mjs";
function toKeyType(value) {
switch (value) {
case "private":
return $keyType.KeyType$Private();
case "public":
return $keyType.KeyType$Public();
case "secret":
return $keyType.KeyType$Secret();
}
}
// src/gossamer/key_usage.ts
import * as $keyUsage from "./key_usage.mjs";
// src/utils/list.ts
import {
List$Empty,
List$isNonEmpty,
List$NonEmpty,
List$NonEmpty$first,
List$NonEmpty$rest
} from "../../prelude.mjs";
function fromArrayMapped(array, map) {
let list = List$Empty();
for (let i = array.length - 1; i >= 0; --i) {
list = List$NonEmpty(map(array[i], i), list);
}
return list;
}
// src/gossamer/key_usage.ts
function fromKeyUsage(value) {
switch (value) {
case "decrypt":
return $keyUsage.KeyUsage$Decrypt();
case "deriveBits":
return $keyUsage.KeyUsage$DeriveBits();
case "deriveKey":
return $keyUsage.KeyUsage$DeriveKey();
case "encrypt":
return $keyUsage.KeyUsage$Encrypt();
case "sign":
return $keyUsage.KeyUsage$Sign();
case "unwrapKey":
return $keyUsage.KeyUsage$UnwrapKey();
case "verify":
return $keyUsage.KeyUsage$Verify();
case "wrapKey":
return $keyUsage.KeyUsage$WrapKey();
}
}
// src/gossamer/crypto_key.ffi.ts
var algorithm = (key) => {
return key.algorithm;
};
var is_extractable = (key) => {
return key.extractable;
};
var type_ = (key) => {
return toKeyType(key.type);
};
var usages = (key) => {
return fromArrayMapped(key.usages, fromKeyUsage);
};
export {
algorithm,
is_extractable,
type_,
usages
};