diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3230dd2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "deno.enable": true, + "deno.import_intellisense_origins": { + "https://deno.land": false + }, +} \ No newline at end of file diff --git a/dep.ts b/dep.ts new file mode 100644 index 0000000..feafc7e --- /dev/null +++ b/dep.ts @@ -0,0 +1 @@ +export { parse } from "https://deno.land/std/path/mod.ts"; diff --git a/mod/dirname.ts b/mod/dirname.ts new file mode 100644 index 0000000..371c514 --- /dev/null +++ b/mod/dirname.ts @@ -0,0 +1,3 @@ +import { parse } from "../dep.ts"; + +export default (meta: ImportMeta): string => parse(meta.url).dir; diff --git a/mod/filename.ts b/mod/filename.ts new file mode 100644 index 0000000..60fe8c5 --- /dev/null +++ b/mod/filename.ts @@ -0,0 +1,4 @@ +import { parse } from "../dep.ts"; + +export default (meta: ImportMeta): string => + parse(meta.url).name + parse(meta.url).ext; diff --git a/test.ts b/test.ts new file mode 100644 index 0000000..272ecbc --- /dev/null +++ b/test.ts @@ -0,0 +1,18 @@ +import { assert } from "https://deno.land/std/testing/asserts.ts"; + +import dirname from './mod/dirname.ts'; +import filename from './mod/filename.ts'; + +Deno.test({ + name: ".dirname()", + fn(): void { + assert(dirname(import.meta).startsWith("file://")); + }, +}); + +Deno.test({ + name: ".filename()", + fn(): void { + assert(filename(import.meta).endsWith(".ts")) + } +}) \ No newline at end of file