summaryrefslogtreecommitdiff
path: root/ext/crypto/lib.deno_crypto.d.ts
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2022-08-17 13:12:24 +1000
committerGitHub <noreply@github.com>2022-08-17 13:12:24 +1000
commita2ab5eee015b1dafc1a18cd2bc5f5c5756123d74 (patch)
tree1efd7d79208fee44cc05c71c18c7d9e6759ed8c3 /ext/crypto/lib.deno_crypto.d.ts
parent868c7e38bfc9a09b5cfeae30ea5a2345a6d700d7 (diff)
docs: add category tag for built-in APIs (#15480)
Diffstat (limited to 'ext/crypto/lib.deno_crypto.d.ts')
-rw-r--r--ext/crypto/lib.deno_crypto.d.ts57
1 files changed, 54 insertions, 3 deletions
diff --git a/ext/crypto/lib.deno_crypto.d.ts b/ext/crypto/lib.deno_crypto.d.ts
index f5d06156d..d83be6b24 100644
--- a/ext/crypto/lib.deno_crypto.d.ts
+++ b/ext/crypto/lib.deno_crypto.d.ts
@@ -5,19 +5,26 @@
/// <reference no-default-lib="true" />
/// <reference lib="esnext" />
+/** @category Web Crypto API */
declare var crypto: Crypto;
+/** @category Web Crypto API */
interface Algorithm {
name: string;
}
+/** @category Web Crypto API */
interface KeyAlgorithm {
name: string;
}
+/** @category Web Crypto API */
type AlgorithmIdentifier = string | Algorithm;
+/** @category Web Crypto API */
type HashAlgorithmIdentifier = AlgorithmIdentifier;
+/** @category Web Crypto API */
type KeyType = "private" | "public" | "secret";
+/** @category Web Crypto API */
type KeyUsage =
| "decrypt"
| "deriveBits"
@@ -27,15 +34,19 @@ type KeyUsage =
| "unwrapKey"
| "verify"
| "wrapKey";
+/** @category Web Crypto API */
type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki";
+/** @category Web Crypto API */
type NamedCurve = string;
+/** @category Web Crypto API */
interface RsaOtherPrimesInfo {
d?: string;
r?: string;
t?: string;
}
+/** @category Web Crypto API */
interface JsonWebKey {
alg?: string;
crv?: string;
@@ -58,111 +69,138 @@ interface JsonWebKey {
y?: string;
}
+/** @category Web Crypto API */
interface AesCbcParams extends Algorithm {
iv: BufferSource;
}
+/** @category Web Crypto API */
interface AesGcmParams extends Algorithm {
iv: BufferSource;
additionalData?: BufferSource;
tagLength?: number;
}
+/** @category Web Crypto API */
interface AesCtrParams extends Algorithm {
counter: BufferSource;
length: number;
}
+/** @category Web Crypto API */
interface HmacKeyGenParams extends Algorithm {
hash: HashAlgorithmIdentifier;
length?: number;
}
+/** @category Web Crypto API */
interface EcKeyGenParams extends Algorithm {
namedCurve: NamedCurve;
}
+/** @category Web Crypto API */
interface EcKeyImportParams extends Algorithm {
namedCurve: NamedCurve;
}
+/** @category Web Crypto API */
interface EcdsaParams extends Algorithm {
hash: HashAlgorithmIdentifier;
}
+/** @category Web Crypto API */
interface RsaHashedImportParams extends Algorithm {
hash: HashAlgorithmIdentifier;
}
+/** @category Web Crypto API */
interface RsaHashedKeyGenParams extends RsaKeyGenParams {
hash: HashAlgorithmIdentifier;
}
+/** @category Web Crypto API */
interface RsaKeyGenParams extends Algorithm {
modulusLength: number;
publicExponent: Uint8Array;
}
+/** @category Web Crypto API */
interface RsaPssParams extends Algorithm {
saltLength: number;
}
+/** @category Web Crypto API */
interface RsaOaepParams extends Algorithm {
label?: Uint8Array;
}
+/** @category Web Crypto API */
interface HmacImportParams extends Algorithm {
hash: HashAlgorithmIdentifier;
length?: number;
}
+/** @category Web Crypto API */
interface EcKeyAlgorithm extends KeyAlgorithm {
namedCurve: NamedCurve;
}
+/** @category Web Crypto API */
interface HmacKeyAlgorithm extends KeyAlgorithm {
hash: KeyAlgorithm;
length: number;
}
+/** @category Web Crypto API */
interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
hash: KeyAlgorithm;
}
+/** @category Web Crypto API */
interface RsaKeyAlgorithm extends KeyAlgorithm {
modulusLength: number;
publicExponent: Uint8Array;
}
+/** @category Web Crypto API */
interface HkdfParams extends Algorithm {
hash: HashAlgorithmIdentifier;
info: BufferSource;
salt: BufferSource;
}
+/** @category Web Crypto API */
interface Pbkdf2Params extends Algorithm {
hash: HashAlgorithmIdentifier;
iterations: number;
salt: BufferSource;
}
+/** @category Web Crypto API */
interface AesDerivedKeyParams extends Algorithm {
length: number;
}
+/** @category Web Crypto API */
interface EcdhKeyDeriveParams extends Algorithm {
public: CryptoKey;
}
+/** @category Web Crypto API */
interface AesKeyGenParams extends Algorithm {
length: number;
}
+/** @category Web Crypto API */
interface AesKeyAlgorithm extends KeyAlgorithm {
length: number;
}
-/** The CryptoKey dictionary of the Web Crypto API represents a cryptographic key. */
+/** The CryptoKey dictionary of the Web Crypto API represents a cryptographic
+ * key.
+ *
+ * @category Web Crypto API
+ */
interface CryptoKey {
readonly algorithm: KeyAlgorithm;
readonly extractable: boolean;
@@ -170,23 +208,34 @@ interface CryptoKey {
readonly usages: KeyUsage[];
}
+/** @category Web Crypto API */
declare var CryptoKey: {
prototype: CryptoKey;
new (): CryptoKey;
};
-/** The CryptoKeyPair dictionary of the Web Crypto API represents a key pair for an asymmetric cryptography algorithm, also known as a public-key algorithm. */
+/** The CryptoKeyPair dictionary of the Web Crypto API represents a key pair for
+ * an asymmetric cryptography algorithm, also known as a public-key algorithm.
+ *
+ * @category Web Crypto API
+ */
interface CryptoKeyPair {
privateKey: CryptoKey;
publicKey: CryptoKey;
}
+/** @category Web Crypto API */
declare var CryptoKeyPair: {
prototype: CryptoKeyPair;
new (): CryptoKeyPair;
};
-/** This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto). */
+/** This Web Crypto API interface provides a number of low-level cryptographic
+ * functions. It is accessed via the Crypto.subtle properties available in a
+ * window context (via Window.crypto).
+ *
+ * @category Web Crypto API
+ */
interface SubtleCrypto {
generateKey(
algorithm: RsaHashedKeyGenParams | EcKeyGenParams,
@@ -319,6 +368,7 @@ interface SubtleCrypto {
): Promise<CryptoKey>;
}
+/** @category Web Crypto API */
declare interface Crypto {
readonly subtle: SubtleCrypto;
getRandomValues<
@@ -338,6 +388,7 @@ declare interface Crypto {
randomUUID(): string;
}
+/** @category Web Crypto API */
declare var SubtleCrypto: {
prototype: SubtleCrypto;
new (): SubtleCrypto;