From c9b7fe29624adc59c8953eef0e2cd345cfb7efb3 Mon Sep 17 00:00:00 2001 From: ram Date: Sat, 30 Aug 2025 16:45:57 +0530 Subject: [PATCH 1/3] feat(docs): enhance documentation --- apps/docs/README.md | 19 +++++++- apps/docs/astro.config.mjs | 6 ++- apps/docs/ec.config.mjs | 18 ++++++++ apps/docs/package.json | 2 + apps/docs/src/content/docs/api-reference.mdx | 18 +++++++- .../src/content/docs/conversions/length.mdx | 25 ++++++----- .../src/content/docs/conversions/number.mdx | 17 ++++++- .../content/docs/conversions/temperature.mdx | 13 ++++-- .../src/content/docs/conversions/time.mdx | 45 +++++++++++++++++++ .../src/content/docs/conversions/volume.mdx | 18 ++++++-- .../src/content/docs/conversions/weight.mdx | 19 +++++--- apps/docs/src/content/docs/index.mdx | 4 +- apps/docs/src/content/docs/installation.mdx | 7 ++- bun.lock | 10 +++++ .../unit-conversion/src/constants/labels.ts | 2 + .../src/utils/conversion-factors.ts | 8 ++++ 16 files changed, 196 insertions(+), 35 deletions(-) create mode 100644 apps/docs/ec.config.mjs diff --git a/apps/docs/README.md b/apps/docs/README.md index 96808c7..d8d5571 100644 --- a/apps/docs/README.md +++ b/apps/docs/README.md @@ -1,3 +1,20 @@ # @devhaven/unit-conversion Documentation -This is the documentation site for the `@devhaven/unit-conversion` package built with [Astro](https://astro.build/) using [Starlight Rapide](https://starlight.astro.build/resources/themes/) as the documentation theme. \ No newline at end of file +This is the documentation site for the `@devhaven/unit-conversion` package built with [Astro](https://astro.build/) using [Starlight Rapide](https://starlight.astro.build/resources/themes/) as the documentation theme. + +## Development + +To start the development server, run: + +```bash +bun run dev +``` + +Then open your browser and navigate to [http://localhost:4321](http://localhost:4321). + +### Libraries Used + +- [Astro](https://astro.build/) +- [Starlight Rapide](https://starlight.astro.build/resources/themes/) +- [Expressive Code](https://expressive-code.com/) +- [Expressive Code Twoslash](https://twoslash.matthiesen.dev/) \ No newline at end of file diff --git a/apps/docs/astro.config.mjs b/apps/docs/astro.config.mjs index 0ca3c9b..6ae80da 100644 --- a/apps/docs/astro.config.mjs +++ b/apps/docs/astro.config.mjs @@ -1,7 +1,6 @@ -// @ts-check - import starlight from "@astrojs/starlight"; import { defineConfig } from "astro/config"; + import starlightThemeRapide from "starlight-theme-rapide"; // https://astro.build/config @@ -10,6 +9,9 @@ export default defineConfig({ starlight({ title: "Unit Conversion", plugins: [starlightThemeRapide()], + expressiveCode: { + // Look at ec.config.mjs instead + }, social: [{ icon: "github", label: "GitHub", href: "https://github.com/BlankRiser/unit-conversion" }], sidebar: [ // { diff --git a/apps/docs/ec.config.mjs b/apps/docs/ec.config.mjs new file mode 100644 index 0000000..d16ac03 --- /dev/null +++ b/apps/docs/ec.config.mjs @@ -0,0 +1,18 @@ +import { defineEcConfig } from "astro-expressive-code"; +import ecTwoSlash from "expressive-code-twoslash"; + +export default defineEcConfig({ + // Example: Using a custom plugin (which makes this `ec.config.mjs` file necessary) + plugins: [ + ecTwoSlash({ + explicitTrigger: true, + includeJsDoc: true, + allowNonStandardJsDocTags: false, + languages: ["ts", "tsx"], + twoslashOptions: {}, + }), + ], + themes: ["andromeeda", "solarized-light"], + + // ... any other options you want to configure +}); diff --git a/apps/docs/package.json b/apps/docs/package.json index 631407e..0a0bea4 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -11,7 +11,9 @@ }, "dependencies": { "@astrojs/starlight": "^0.35.2", + "@devhaven/unit-conversion": "0.0.6", "astro": "^5.6.1", + "expressive-code-twoslash": "0.5.3", "sharp": "^0.34.2", "starlight-package-managers": "0.11.0", "starlight-theme-rapide": "0.5.1" diff --git a/apps/docs/src/content/docs/api-reference.mdx b/apps/docs/src/content/docs/api-reference.mdx index 398eec7..7f1e18a 100644 --- a/apps/docs/src/content/docs/api-reference.mdx +++ b/apps/docs/src/content/docs/api-reference.mdx @@ -4,7 +4,7 @@ title: "API Reference" # Conversion -```ts +```ts twoslash import { Conversion } from "@devhaven/unit-conversion"; const conversion = new Conversion(); @@ -19,7 +19,7 @@ const result = conversion.value(10).from("meter").to("foot"); - Default: 2 - Number of decimal places to round the conversion result to. -```ts +```ts twoslash import { Conversion } from "@devhaven/unit-conversion"; const conversion = new Conversion({ decimals: 4 }); @@ -32,8 +32,22 @@ const result = conversion.value(10).from("meter").to("foot"); - Default: false - If true, the conversion result will be a floating-point number. +```ts twoslash +import { Conversion } from "@devhaven/unit-conversion"; + +const conversion = new Conversion({ isFloat: true }); +const result = conversion.value(10).from("meter").to("foot"); +``` + ##### includeUnit?: boolean - Optional - Default: false - If true, the conversion result will include the unit as a string. + +```ts twoslash +import { Conversion } from "@devhaven/unit-conversion"; + +const conversion = new Conversion({ includeUnit: false }); +const result = conversion.value(10).from("meter").to("foot"); +``` diff --git a/apps/docs/src/content/docs/conversions/length.mdx b/apps/docs/src/content/docs/conversions/length.mdx index fdfb6ec..14891b3 100644 --- a/apps/docs/src/content/docs/conversions/length.mdx +++ b/apps/docs/src/content/docs/conversions/length.mdx @@ -14,8 +14,8 @@ This category is useful for engineering, construction, design, or any domain whe ## Quick Example -```ts -import { Conversion } from "unit-conversion-lib"; +```ts twoslash +import { Conversion } from "@devhaven/unit-conversion"; const convert = new Conversion(); @@ -31,13 +31,15 @@ console.log(convert.value(1).from("inch").to("centimeter")); ## Common Conversions All conversions are approximate to the configured decimal precision. -When `includeUnit` is false, only numeric values are returned. -```ts + +```ts twoslash +import { Conversion } from "@devhaven/unit-conversion"; + const convert = new Conversion({ includeUnit: false }); convert.value(1).from("meter").to("foot"); // 3.28 ``` -> SI units are exact; conversions involving Imperial/US units are approximations due to defined ratios. +> SI units are exact; conversions **involving** Imperial/US units are approximations due to defined ratios. ### Meters ↔ Kilometers @@ -74,18 +76,19 @@ convert.value(1).from("yard").to("meter"); // "0.914m" convert.value(50).from("meter").to("yard"); // "54.68yd" ``` - ## Configuration Options Conversions can be customized with global config values when creating a Conversion instance. -```ts +```ts twoslash +import { Conversion } from "@devhaven/unit-conversion"; + const convert = new Conversion({ - decimals: 4, // set precision - isFloat: true, // keep decimals or round - includeUnit: true // whether to append unit symbol + decimals: 4, // set precision + isFloat: true, // keep decimals or round + includeUnit: true, // whether to append unit symbol }); console.log(convert.value(1).from("mile").to("kilometer")); // "1.6093km" -``` \ No newline at end of file +``` diff --git a/apps/docs/src/content/docs/conversions/number.mdx b/apps/docs/src/content/docs/conversions/number.mdx index 01c2c84..c0ee4d1 100644 --- a/apps/docs/src/content/docs/conversions/number.mdx +++ b/apps/docs/src/content/docs/conversions/number.mdx @@ -22,8 +22,21 @@ console.log(convert.value("1010").from("binary").to("decimal")); ``` ## Common Conversions + +### Binary ↔ Decimal ```ts convert.value(10).from("decimal").to("binary"); // "1010" -convert.value("a").from("hexadecimal").to("decimal"); // "10" -convert.value("77").from("octal").to("decimal"); // "63" +convert.value(10).from("binary").to("decimal"); // "1010" +``` + +### Decimal ↔ Hexadecimal +```ts +convert.value("a").from("hexadecimal").to("decimal"); // "10" +convert.value(15).from("decimal").to("hexadecimal"); // "f" +``` + +### Octal ↔ Decimal +```ts +convert.value(77).from("octal").to("decimal"); // "63" +convert.value(77).from("decimal").to("octal"); // "115" ``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/conversions/temperature.mdx b/apps/docs/src/content/docs/conversions/temperature.mdx index d10490f..6be8afc 100644 --- a/apps/docs/src/content/docs/conversions/temperature.mdx +++ b/apps/docs/src/content/docs/conversions/temperature.mdx @@ -23,8 +23,15 @@ console.log(convert.value(212).from("fahrenheit").to("celsius")); ## Common Conversions + +### Celsius ↔ Kelvin +```ts +convert.value(100).from("celsius").to("kelvin"); // "373.15K" +convert.value(0).from("kelvin").to("celsius"); // "-273.15°C" +``` + +### Celsius ↔ Fahrenheit ```ts -convert.value(1).from("day").to("hour"); // "24h" -convert.value(3600).from("second").to("hour"); // "1h" -convert.value(1000).from("millisecond").to("second"); // "1s" +convert.value(100).from("celsius").to("fahrenheit"); // "212°F" +convert.value(32).from("fahrenheit").to("celsius"); // "0°C" ``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/conversions/time.mdx b/apps/docs/src/content/docs/conversions/time.mdx index 9c4de1e..b406b9b 100644 --- a/apps/docs/src/content/docs/conversions/time.mdx +++ b/apps/docs/src/content/docs/conversions/time.mdx @@ -2,3 +2,48 @@ title: "Time" template: doc --- +The **time** category provides conversions between milliseconds, seconds, minutes, hours, and days. + +## Supported Units + +- millisecond (ms) +- second (s) +- minute (min) +- hour (h) +- day (d) + +## Quick Example + +```ts twoslash +import { Conversion } from "@devhaven/unit-conversion"; + +const convert = new Conversion(); +console.log(convert.value(60000).from("millisecond").to("minute")); +// "1min" + +console.log(convert.value(2).from("hour").to("minute")); +// "120min" +``` + +## Common Conversions + +### Day ↔ Hour + +```ts +convert.value(1).from("day").to("hour"); // "24h" +convert.value(24).from("hour").to("day"); // "1d" +``` + +### Second ↔ Hour + +```ts +convert.value(3600).from("second").to("hour"); // "1h" +convert.value(1).from("hour").to("second"); // "3600s" +``` + +### Millisecond ↔ Second + +```ts +convert.value(1000).from("millisecond").to("second"); // "1s" +convert.value(1).from("second").to("millisecond"); // "1000ms" +``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/conversions/volume.mdx b/apps/docs/src/content/docs/conversions/volume.mdx index 2382330..fc95c65 100644 --- a/apps/docs/src/content/docs/conversions/volume.mdx +++ b/apps/docs/src/content/docs/conversions/volume.mdx @@ -19,9 +19,21 @@ console.log(convert.value(1).from("gallon").to("liter")); ``` ## Common Conversions + +### Liter ↔ Milliliter ```ts convert.value(1).from("liter").to("milliliter"); // "1000ml" -convert.value(1).from("liter").to("quart"); // "1.057qt" -convert.value(1).from("pint").to("cup"); // "2cup" -convert.value(1).from("gallon").to("quart"); // "4qt" +convert.value(1).from("milliliter").to("liter"); // "0.001l" +``` + +### Liter ↔ Cubic Meter +```ts +convert.value(1).from("liter").to("cubic-meter"); // "0.001m^3" +convert.value(1).from("cubic-meter").to("liter"); // "1000l" +``` + +### Cup (US) ↔ Milliliter +```ts +convert.value(1).from("us-legal-cup").to("milliliter"); // "236.5882ml" +convert.value(1).from("milliliter").to("us-legal-cup"); // "0.0042cup (US)" ``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/conversions/weight.mdx b/apps/docs/src/content/docs/conversions/weight.mdx index 43aa152..5dfc294 100644 --- a/apps/docs/src/content/docs/conversions/weight.mdx +++ b/apps/docs/src/content/docs/conversions/weight.mdx @@ -13,24 +13,29 @@ The **weight** category provides conversions between metric units (grams, kilogr ## Quick Example ```ts -import { Conversion } from "unit-conversion-lib"; +import { Conversion } from "@devhaven/unit-conversion"; const convert = new Conversion(); -console.log(convert.value(1000).from("gram").to("kilogram")); +console.log(convert.value(1000).from("gram").to("kilogram")); // "1kg" -console.log(convert.value(1).from("pound").to("kilogram")); +console.log(convert.value(1).from("pound").to("kilogram")); // "0.454kg" ``` ## Common Conversions +### Gram ↔ Kilogram ```ts convert.value(1000).from("gram").to("kilogram"); // "1kg" -convert.value(1).from("kilogram").to("pound"); // "2.205lb" -convert.value(16).from("ounce").to("pound"); // "1lb" -convert.value(1).from("stone").to("pound"); // "14lb" -convert.value(1).from("tonne").to("ton"); // "1.102ton" +convert.value(1).from("kilogram").to("gram"); // "1000g" + +``` +### Ounce ↔ Pound + +```ts +convert.value(16).from("ounce").to("pound"); // "1lb" +convert.value(1).from("pound").to("ounce"); // "16oz" ``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/index.mdx b/apps/docs/src/content/docs/index.mdx index 9168deb..27e4e36 100644 --- a/apps/docs/src/content/docs/index.mdx +++ b/apps/docs/src/content/docs/index.mdx @@ -8,8 +8,8 @@ A lightweight TypeScript library for converting units. ### Quick Start -```ts -import { Conversion } from "unit-conversion-lib"; +```ts twoslash +import { Conversion } from "@devhaven/unit-conversion"; const convert = new Conversion(); diff --git a/apps/docs/src/content/docs/installation.mdx b/apps/docs/src/content/docs/installation.mdx index 5d7b571..bd9a7f1 100644 --- a/apps/docs/src/content/docs/installation.mdx +++ b/apps/docs/src/content/docs/installation.mdx @@ -2,21 +2,24 @@ title: "Getting Started" template: doc --- - import { PackageManagers } from "starlight-package-managers"; +import { Tabs, TabItem } from '@astrojs/starlight/components'; +import { Code } from '@astrojs/starlight/components' # Installation You can install `@devhaven/unit-conversion` from [npm](https://www.npmjs.com/package/@devhaven/unit-conversion): + + or [JSR](https://jsr.io/@devhaven/unit-conversion): -``` +```bash npx jsr add @devhaven/unit-conversion # or yarn add jsr:@devhaven/unit-conversion diff --git a/bun.lock b/bun.lock index 34d9bc3..bcfd5d8 100644 --- a/bun.lock +++ b/bun.lock @@ -9,7 +9,9 @@ "version": "0.0.1", "dependencies": { "@astrojs/starlight": "^0.35.2", + "@devhaven/unit-conversion": "0.0.6", "astro": "^5.6.1", + "expressive-code-twoslash": "0.5.3", "sharp": "^0.34.2", "starlight-package-managers": "0.11.0", "starlight-theme-rapide": "0.5.1", @@ -329,6 +331,8 @@ "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], + "@typescript/vfs": ["@typescript/vfs@1.6.1", "", { "dependencies": { "debug": "^4.1.1" }, "peerDependencies": { "typescript": "*" } }, "sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA=="], + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], "@vitest/expect": ["@vitest/expect@3.2.4", "", { "dependencies": { "@types/chai": "^5.2.2", "@vitest/spy": "3.2.4", "@vitest/utils": "3.2.4", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" } }, "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig=="], @@ -583,6 +587,8 @@ "expressive-code": ["expressive-code@0.41.3", "", { "dependencies": { "@expressive-code/core": "^0.41.3", "@expressive-code/plugin-frames": "^0.41.3", "@expressive-code/plugin-shiki": "^0.41.3", "@expressive-code/plugin-text-markers": "^0.41.3" } }, "sha512-YLnD62jfgBZYrXIPQcJ0a51Afv9h8VlWqEGK9uU2T5nL/5rb8SnA86+7+mgCZe5D34Tff5RNEA5hjNVJYHzrFg=="], + "expressive-code-twoslash": ["expressive-code-twoslash@0.5.3", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.2", "mdast-util-gfm": "^3.1.0", "mdast-util-to-hast": "^13.2.0", "twoslash": "^0.2.12" }, "peerDependencies": { "@expressive-code/core": ">=0.40.0", "expressive-code": ">=0.40.0", "typescript": "^5.7" } }, "sha512-BcttA3taicvhesKpQ4TvRxoDHByDr2FH6bvjc6elxC8TXVU3GVZv0wHvdcNz9xrVEUcwbDbsprqsGF7M7Yq59A=="], + "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], @@ -1149,6 +1155,10 @@ "tsx": ["tsx@4.20.5", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw=="], + "twoslash": ["twoslash@0.2.12", "", { "dependencies": { "@typescript/vfs": "^1.6.0", "twoslash-protocol": "0.2.12" }, "peerDependencies": { "typescript": "*" } }, "sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw=="], + + "twoslash-protocol": ["twoslash-protocol@0.2.12", "", {}, "sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg=="], + "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], "typescript": ["typescript@5.9.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="], diff --git a/packages/unit-conversion/src/constants/labels.ts b/packages/unit-conversion/src/constants/labels.ts index 334db4f..3fa5133 100644 --- a/packages/unit-conversion/src/constants/labels.ts +++ b/packages/unit-conversion/src/constants/labels.ts @@ -77,6 +77,8 @@ export const LABELS = { dalton: "Da", "atomic-mass-unit": "u", carat: "ct", + "us-gallon": "gallon (US)", + "imperial-gallon": "gallon (UK)", "us-legal-cup": "cup (US)", "imperial-cup": "cup (UK)", "us-liquid-pint": "pt (US)", diff --git a/packages/unit-conversion/src/utils/conversion-factors.ts b/packages/unit-conversion/src/utils/conversion-factors.ts index 777579d..fdee717 100644 --- a/packages/unit-conversion/src/utils/conversion-factors.ts +++ b/packages/unit-conversion/src/utils/conversion-factors.ts @@ -172,6 +172,14 @@ export const CONVERSION_FACTORS: ConversionFactorGroups = { toBase: (v: number) => v / 4.2267528377, fromBase: (v: number) => v * 4.2267528377, }, + "us-gallon": { + toBase: (v: number) => v / 0.2641720524, + fromBase: (v: number) => v * 0.2641720524, + }, + "imperial-gallon": { + toBase: (v: number) => v / 0.2199692483, + fromBase: (v: number) => v * 0.2199692483, + }, "us-liquid-pint": { toBase: (v: number) => v / 2.1133764189, fromBase: (v: number) => v * 2.1133764189, From 0bcf50496d3d770a1d8e2e3b0665f4dcd1a32b8c Mon Sep 17 00:00:00 2001 From: ram Date: Sat, 30 Aug 2025 16:48:30 +0530 Subject: [PATCH 2/3] fix: update paths in workflow and bump version to 0.0.7 --- .github/workflows/pull_requests.yml | 4 ++-- packages/unit-conversion/jsr.jsonc | 2 +- packages/unit-conversion/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index 77cffaa..9c55ca9 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -5,11 +5,11 @@ on: push: branches: [main] paths: - - "src/**" + - "apps/**" pull_request: branches: [main] paths: - - "src/**" + - "apps/**" jobs: quality: diff --git a/packages/unit-conversion/jsr.jsonc b/packages/unit-conversion/jsr.jsonc index 38b3a59..9e13f40 100644 --- a/packages/unit-conversion/jsr.jsonc +++ b/packages/unit-conversion/jsr.jsonc @@ -1,6 +1,6 @@ { "name": "@devhaven/unit-conversion", - "version": "0.0.6", + "version": "0.0.7", "exports": "./src/index.ts", "license": "Apache-2.0", "publish": { diff --git a/packages/unit-conversion/package.json b/packages/unit-conversion/package.json index f81bcc3..d4f1992 100644 --- a/packages/unit-conversion/package.json +++ b/packages/unit-conversion/package.json @@ -1,6 +1,6 @@ { "name": "@devhaven/unit-conversion", - "version": "0.0.6", + "version": "0.0.7", "description": "A type-safe unit conversion library.", "license": "Apache-2.0", "author": "Ram Shankar Choudhary", From f4551a4917446076adf1f8070300f51dbc4bf1ad Mon Sep 17 00:00:00 2001 From: ram Date: Sat, 30 Aug 2025 17:03:10 +0530 Subject: [PATCH 3/3] style: format code examples --- .../src/content/docs/conversions/length.mdx | 29 +++++++++---------- .../src/content/docs/conversions/number.mdx | 8 ++--- .../content/docs/conversions/temperature.mdx | 10 +++---- .../src/content/docs/conversions/time.mdx | 17 +++++------ .../src/content/docs/conversions/volume.mdx | 12 ++++---- .../src/content/docs/conversions/weight.mdx | 15 ++++------ 6 files changed, 40 insertions(+), 51 deletions(-) diff --git a/apps/docs/src/content/docs/conversions/length.mdx b/apps/docs/src/content/docs/conversions/length.mdx index 14891b3..634bd03 100644 --- a/apps/docs/src/content/docs/conversions/length.mdx +++ b/apps/docs/src/content/docs/conversions/length.mdx @@ -36,7 +36,7 @@ All conversions are approximate to the configured decimal precision. import { Conversion } from "@devhaven/unit-conversion"; const convert = new Conversion({ includeUnit: false }); -convert.value(1).from("meter").to("foot"); // 3.28 +convert.value(1).from("meter").to("foot"); // 3.28 ``` > SI units are exact; conversions **involving** Imperial/US units are approximations due to defined ratios. @@ -44,36 +44,36 @@ convert.value(1).from("meter").to("foot"); // 3.28 ### Meters ↔ Kilometers ```ts -convert.value(1000).from("meter").to("kilometer"); // "1km" -convert.value(2).from("kilometer").to("meter"); // "2000m" +convert.value(1000).from("meter").to("kilometer"); // "1km" +convert.value(2).from("kilometer").to("meter"); // "2000m" ``` ### Meters ↔ Feet ```ts -convert.value(1).from("meter").to("foot"); // "3.28ft" -convert.value(10).from("foot").to("meter"); // "3.05m" +convert.value(1).from("meter").to("foot"); // "3.28ft" +convert.value(10).from("foot").to("meter"); // "3.05m" ``` ### Inches ↔ Centimeters ```ts -convert.value(1).from("inch").to("centimeter"); // "2.54cm" -convert.value(30).from("centimeter").to("inch"); // "11.81in" +convert.value(1).from("inch").to("centimeter"); // "2.54cm" +convert.value(30).from("centimeter").to("inch"); // "11.81in" ``` ### Miles ↔ Kilometers ```ts -convert.value(1).from("mile").to("kilometer"); // "1.609km" -convert.value(5).from("kilometer").to("mile"); // "3.11mi" +convert.value(1).from("mile").to("kilometer"); // "1.609km" +convert.value(5).from("kilometer").to("mile"); // "3.11mi" ``` ### Yards ↔ Meters ```ts -convert.value(1).from("yard").to("meter"); // "0.914m" -convert.value(50).from("meter").to("yard"); // "54.68yd" +convert.value(1).from("yard").to("meter"); // "0.914m" +convert.value(50).from("meter").to("yard"); // "54.68yd" ``` ## Configuration Options @@ -84,11 +84,10 @@ Conversions can be customized with global config values when creating a Conversi import { Conversion } from "@devhaven/unit-conversion"; const convert = new Conversion({ - decimals: 4, // set precision - isFloat: true, // keep decimals or round + decimals: 4, // set precision + isFloat: true, // keep decimals or round includeUnit: true, // whether to append unit symbol }); -console.log(convert.value(1).from("mile").to("kilometer")); -// "1.6093km" +console.log(convert.value(1).from("mile").to("kilometer")); // "1.6093km" ``` diff --git a/apps/docs/src/content/docs/conversions/number.mdx b/apps/docs/src/content/docs/conversions/number.mdx index c0ee4d1..9a1c8fb 100644 --- a/apps/docs/src/content/docs/conversions/number.mdx +++ b/apps/docs/src/content/docs/conversions/number.mdx @@ -14,11 +14,9 @@ The **Number** category supports conversions between number bases such as binary ## Quick Example ```ts -console.log(convert.value(255).from("decimal").to("hexadecimal")); -// "ff" +console.log(convert.value(255).from("decimal").to("hexadecimal")); // "ff" -console.log(convert.value("1010").from("binary").to("decimal")); -// "10" +console.log(convert.value("1010").from("binary").to("decimal")); // "10" ``` ## Common Conversions @@ -31,7 +29,7 @@ convert.value(10).from("binary").to("decimal"); // "1010" ### Decimal ↔ Hexadecimal ```ts -convert.value("a").from("hexadecimal").to("decimal"); // "10" +convert.value("a").from("hexadecimal").to("decimal"); // "10" convert.value(15).from("decimal").to("hexadecimal"); // "f" ``` diff --git a/apps/docs/src/content/docs/conversions/temperature.mdx b/apps/docs/src/content/docs/conversions/temperature.mdx index 6be8afc..9d8994f 100644 --- a/apps/docs/src/content/docs/conversions/temperature.mdx +++ b/apps/docs/src/content/docs/conversions/temperature.mdx @@ -14,11 +14,9 @@ The Temperature category supports conversions between Celsius, Fahrenheit, and K ## Quick Example ```ts -console.log(convert.value(0).from("celsius").to("fahrenheit")); -// "32°F" +console.log(convert.value(0).from("celsius").to("fahrenheit")); // "32°F" -console.log(convert.value(212).from("fahrenheit").to("celsius")); -// "100°C" +console.log(convert.value(212).from("fahrenheit").to("celsius")); // "100°C" ``` ## Common Conversions @@ -32,6 +30,6 @@ convert.value(0).from("kelvin").to("celsius"); // "-273.15°C" ### Celsius ↔ Fahrenheit ```ts -convert.value(100).from("celsius").to("fahrenheit"); // "212°F" -convert.value(32).from("fahrenheit").to("celsius"); // "0°C" +convert.value(100).from("celsius").to("fahrenheit"); // "212°F" +convert.value(32).from("fahrenheit").to("celsius"); // "0°C" ``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/conversions/time.mdx b/apps/docs/src/content/docs/conversions/time.mdx index b406b9b..d86af9d 100644 --- a/apps/docs/src/content/docs/conversions/time.mdx +++ b/apps/docs/src/content/docs/conversions/time.mdx @@ -18,11 +18,8 @@ The **time** category provides conversions between milliseconds, seconds, minute import { Conversion } from "@devhaven/unit-conversion"; const convert = new Conversion(); -console.log(convert.value(60000).from("millisecond").to("minute")); -// "1min" - -console.log(convert.value(2).from("hour").to("minute")); -// "120min" +console.log(convert.value(60000).from("millisecond").to("minute")); // "1min" +console.log(convert.value(2).from("hour").to("minute")); // "120min" ``` ## Common Conversions @@ -31,19 +28,19 @@ console.log(convert.value(2).from("hour").to("minute")); ```ts convert.value(1).from("day").to("hour"); // "24h" -convert.value(24).from("hour").to("day"); // "1d" +convert.value(24).from("hour").to("day"); // "1d" ``` ### Second ↔ Hour ```ts -convert.value(3600).from("second").to("hour"); // "1h" -convert.value(1).from("hour").to("second"); // "3600s" +convert.value(3600).from("second").to("hour"); // "1h" +convert.value(1).from("hour").to("second"); // "3600s" ``` ### Millisecond ↔ Second ```ts -convert.value(1000).from("millisecond").to("second"); // "1s" -convert.value(1).from("second").to("millisecond"); // "1000ms" +convert.value(1000).from("millisecond").to("second"); // "1s" +convert.value(1).from("second").to("millisecond"); // "1000ms" ``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/conversions/volume.mdx b/apps/docs/src/content/docs/conversions/volume.mdx index fc95c65..7f679e8 100644 --- a/apps/docs/src/content/docs/conversions/volume.mdx +++ b/apps/docs/src/content/docs/conversions/volume.mdx @@ -22,18 +22,18 @@ console.log(convert.value(1).from("gallon").to("liter")); ### Liter ↔ Milliliter ```ts -convert.value(1).from("liter").to("milliliter"); // "1000ml" -convert.value(1).from("milliliter").to("liter"); // "0.001l" +convert.value(1).from("liter").to("milliliter"); // "1000ml" +convert.value(1).from("milliliter").to("liter"); // "0.001l" ``` ### Liter ↔ Cubic Meter ```ts -convert.value(1).from("liter").to("cubic-meter"); // "0.001m^3" -convert.value(1).from("cubic-meter").to("liter"); // "1000l" +convert.value(1).from("liter").to("cubic-meter"); // "0.001m^3" +convert.value(1).from("cubic-meter").to("liter"); // "1000l" ``` ### Cup (US) ↔ Milliliter ```ts -convert.value(1).from("us-legal-cup").to("milliliter"); // "236.5882ml" -convert.value(1).from("milliliter").to("us-legal-cup"); // "0.0042cup (US)" +convert.value(1).from("us-legal-cup").to("milliliter"); // "236.5882ml" +convert.value(1).from("milliliter").to("us-legal-cup"); // "0.0042cup (US)" ``` \ No newline at end of file diff --git a/apps/docs/src/content/docs/conversions/weight.mdx b/apps/docs/src/content/docs/conversions/weight.mdx index 5dfc294..38e5887 100644 --- a/apps/docs/src/content/docs/conversions/weight.mdx +++ b/apps/docs/src/content/docs/conversions/weight.mdx @@ -17,11 +17,8 @@ import { Conversion } from "@devhaven/unit-conversion"; const convert = new Conversion(); -console.log(convert.value(1000).from("gram").to("kilogram")); -// "1kg" - -console.log(convert.value(1).from("pound").to("kilogram")); -// "0.454kg" +console.log(convert.value(1000).from("gram").to("kilogram")); // "1kg" +console.log(convert.value(1).from("pound").to("kilogram")); // "0.454kg" ``` ## Common Conversions @@ -29,13 +26,13 @@ console.log(convert.value(1).from("pound").to("kilogram")); ### Gram ↔ Kilogram ```ts -convert.value(1000).from("gram").to("kilogram"); // "1kg" -convert.value(1).from("kilogram").to("gram"); // "1000g" +convert.value(1000).from("gram").to("kilogram"); // "1kg" +convert.value(1).from("kilogram").to("gram"); // "1000g" ``` ### Ounce ↔ Pound ```ts -convert.value(16).from("ounce").to("pound"); // "1lb" -convert.value(1).from("pound").to("ounce"); // "16oz" +convert.value(16).from("ounce").to("pound"); // "1lb" +convert.value(1).from("pound").to("ounce"); // "16oz" ``` \ No newline at end of file