diff --git a/adapters/in-memory/package.json b/adapters/in-memory/package.json index 12546ec..960c4bf 100644 --- a/adapters/in-memory/package.json +++ b/adapters/in-memory/package.json @@ -38,10 +38,17 @@ "peerDependencies": { "@loom-io/core": "workspace:*" }, + "dependencies": { + "@loom-io/common": "workspace:*" + }, "exports": { ".": { "types": "./dist/exports/lib.d.ts", "import": "./dist/exports/lib.js" + }, + "./internal": { + "types": "./dist/exports/internal.d.ts", + "import": "./dist/exports/internal.js" } }, "maintainers": [ diff --git a/adapters/in-memory/src/core/adapter.spec.ts b/adapters/in-memory/src/core/adapter.spec.ts index 18c72f5..a7f7afe 100644 --- a/adapters/in-memory/src/core/adapter.spec.ts +++ b/adapters/in-memory/src/core/adapter.spec.ts @@ -79,9 +79,9 @@ class UnwrappedAdapter extends Adapter { return super.createObjectInRoot(name, ref); } - protected createObject(path: string, ref: MEMORY_TYPE.FILE): MemoryFile; - protected createObject(path: string, ref: MEMORY_TYPE.DIRECTORY): MemoryDirectory; - protected createObject(path: string, ref: MEMORY_TYPE): MemoryObject { + createObject(path: string, ref: MEMORY_TYPE.FILE): MemoryFile; + createObject(path: string, ref: MEMORY_TYPE.DIRECTORY): MemoryDirectory; + createObject(path: string, ref: MEMORY_TYPE): MemoryObject { if( ref === MEMORY_TYPE.FILE) { return super.createObject(path, MEMORY_TYPE.FILE); } else { diff --git a/adapters/in-memory/src/core/adapter.ts b/adapters/in-memory/src/core/adapter.ts index 6274af7..cbc769c 100644 --- a/adapters/in-memory/src/core/adapter.ts +++ b/adapters/in-memory/src/core/adapter.ts @@ -4,7 +4,7 @@ import { AlreadyExistsException, NotFoundException } from '../exceptions'; import { ObjectDirent } from './object-dirent.js'; import { MEMORY_TYPE, MemoryDirectory, MemoryFile, MemoryObject, MemoryRoot } from '../definitions'; import { isMemoryDirectoryAndMatchNamePrepared } from '../utils/validations'; -import { removePresentedAndTrailingSlash, splitTailingPath } from '../utils/path.js'; +import { removePresentedAndTrailingSlash, splitTailingPath } from '@loom-io/common'; export class Adapter implements SourceAdapter { protected storage: MemoryRoot; diff --git a/adapters/in-memory/src/core/source.ts b/adapters/in-memory/src/core/source.ts index 252607e..f2eaffc 100644 --- a/adapters/in-memory/src/core/source.ts +++ b/adapters/in-memory/src/core/source.ts @@ -1,7 +1,7 @@ import { Directory, LoomFile } from '@loom-io/core/internal'; import { Adapter } from './adapter'; import { dirname, basename } from 'node:path'; -import { splitTailingPath } from '../utils/path'; +import { splitTailingPath } from '@loom-io/common'; export const source = async (path: string, Type?: typeof Directory | typeof LoomFile) => { const adapter = new Adapter(); diff --git a/adapters/in-memory/src/exports/internal.ts b/adapters/in-memory/src/exports/internal.ts new file mode 100644 index 0000000..fa09ef7 --- /dev/null +++ b/adapters/in-memory/src/exports/internal.ts @@ -0,0 +1 @@ +export * from '../core/adapter'; \ No newline at end of file diff --git a/packages/common/package.json b/packages/common/package.json new file mode 100644 index 0000000..e466000 --- /dev/null +++ b/packages/common/package.json @@ -0,0 +1,19 @@ +{ + "name": "@loom-io/common", + "version": "1.0.0", + "description": "", + "main": "dist/index.js", + "scripts": { + "build": "tsc -p tsconfig.json" + }, + "exports": { + ".": { + "import": "./dist/index.js", + "require": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, + "keywords": [], + "author": "", + "license": "MIT" +} diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts new file mode 100644 index 0000000..0399bd4 --- /dev/null +++ b/packages/common/src/index.ts @@ -0,0 +1 @@ +export * from './path'; \ No newline at end of file diff --git a/adapters/in-memory/src/utils/path.spec.ts b/packages/common/src/path.spec.ts similarity index 100% rename from adapters/in-memory/src/utils/path.spec.ts rename to packages/common/src/path.spec.ts diff --git a/adapters/in-memory/src/utils/path.ts b/packages/common/src/path.ts similarity index 100% rename from adapters/in-memory/src/utils/path.ts rename to packages/common/src/path.ts diff --git a/packages/common/tsconfig.json b/packages/common/tsconfig.json new file mode 100644 index 0000000..f64a8b9 --- /dev/null +++ b/packages/common/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["./src"] +} \ No newline at end of file