diff --git a/.changeset/loud-feet-repair.md b/.changeset/loud-feet-repair.md new file mode 100644 index 0000000..e571ad3 --- /dev/null +++ b/.changeset/loud-feet-repair.md @@ -0,0 +1,5 @@ +--- +"@nurliman/base85": patch +--- + +add missing docs diff --git a/src/decode.ts b/src/decode.ts index 141c9e8..7402236 100644 --- a/src/decode.ts +++ b/src/decode.ts @@ -1,6 +1,7 @@ /** * Decodes a string from ASCII85 - * @example + * + * ```ts * import base85 from "@nurliman/base85"; * * base85.decode('<~87cURD]i,"Ebo80~>'); @@ -9,6 +10,7 @@ * // it also works without the wrapping characters * base85.decode('87cURD]i,"Ebo80'); * // output: Hello World! + * ``` */ export function decodeBase85(input: string): string { // Define constants and variables diff --git a/src/encode.ts b/src/encode.ts index 279e589..0e9548a 100644 --- a/src/encode.ts +++ b/src/encode.ts @@ -1,3 +1,6 @@ +/** + * `EncodeOptions` is an object that can be passed to the encode function to customize its behavior. + */ export type EncodeOptions = { /** * If true, the encoded string will be wrapped in `<~` and `~>`. @@ -12,8 +15,8 @@ export type EncodeOptions = { * @param {Object} options Options for encoding * @param {boolean} [options.wrap=true] If true, the encoded string will be wrapped in `<~` and `~>`. default is `true` * @returns The encoded string - * @example * + * ```ts * import base85 from "@nurliman/base85"; * * base85.encode("Hello World!"); @@ -21,6 +24,7 @@ export type EncodeOptions = { * * base85.encode("Hello World!", { wrap: false }); * // output: 87cURD]i,"Ebo80 + * ``` */ export function encodeBase85(input: string, { wrap = true }: EncodeOptions = {}): string { if (!input) return wrap ? "<~~>" : ""; diff --git a/src/index.ts b/src/index.ts index 5d56bed..b4fd2cc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,85 @@ +/** + * `@nurliman/base85` is a Base85 encoder and decoder that compatible for Node.js and browser. + * + * ## Usage + * + * Import the package into your project: + * + * ```ts + * import { encodeBase85, decodeBase85 } from "@nurliman/base85"; + * + * const encoded = encodeBase85("your string"); + * const decoded = decodeBase85(encoded); + * ``` + * + * using default import: + * + * ```ts + * import base85 from "@nurliman/base85"; + * + * const encoded = base85.encode("your string"); + * const decoded = base85.decode(encoded); + * ``` + * + * using require: + * + * ```ts + * const { encodeBase85, decodeBase85 } = require("@nurliman/base85"); + * + * const encoded = encodeBase85("your string"); + * const decoded = decodeBase85(encoded); + * ``` + * + * Please replace `'your string'` with the string you want to encode and decode. + * + * ### EncodeOptions + * + * `EncodeOptions` is an object that can be passed to the encode function to customize its behavior. It has the following properties: + * + * - `wrap`: If true, the encoded string will be wrapped in `<~` and `~>`. Defaults to `true`. + * + * Here's an example of how to use it: + * + * ```ts + * import base85 from "@nurliman/base85"; + * + * const result = base85.encode("Hello World!"); + * console.log(result); + * // <~87cURD]i,"Ebo80~> + * + * const result = base85.encode("Hello World!", { + * wrap: false, // Set this to false if you don't want the output to be wrapped + * }); + * console.log(result); + * // 87cURD]i,"Ebo80 + * ``` + * + * ### Decode + * + * ```ts + * import base85 from "@nurliman/base85"; + * + * const result = base85.decode('<~87cURD]i,"Ebo80~>'); + * console.log(result); + * // Hello World! + * + * // it also works without the wrapping characters + * const result = base85.decode('87cURD]i,"Ebo80'); + * console.log(result); + * // Hello World! + * ``` + * @module + */ + import { decodeBase85 } from "./decode.ts"; import { encodeBase85 } from "./encode.ts"; export type * from "./encode.ts"; export { encodeBase85, decodeBase85 }; -const base85 = { +/** + * Base85 encoder and decoder + */ +export default { encode: encodeBase85, decode: decodeBase85, }; - -export default base85;