From 40991a0f409d0954efbad3bf04034cf7a0d2fd71 Mon Sep 17 00:00:00 2001 From: Isha Dijcks Date: Fri, 22 May 2026 13:41:26 +0200 Subject: [PATCH] Add getKinds() to ContentManager --- CHANGELOG.md | 6 +++++ package-lock.json | 39 ++++++++------------------- package.json | 2 +- src/content/ContentManager.ts | 4 +++ tests/content/content-manager.spec.ts | 19 +++++++++++++ 5 files changed, 41 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57034bf..2d8fe46 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # @123ishatest/louter +## 0.5.3 + +### Patch Changes + +- Add getKinds() to ContentManager + ## 0.5.2 ### Patch Changes diff --git a/package-lock.json b/package-lock.json index 5105d80..6c3f01b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@123ishatest/louter", - "version": "0.5.1", + "version": "0.5.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@123ishatest/louter", - "version": "0.5.1", + "version": "0.5.3", "dependencies": { "yaml": "^2.8.2" }, @@ -4489,15 +4489,15 @@ } }, "node_modules/local-pkg": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.2.0.tgz", - "integrity": "sha512-U16tFsiwNEac4GuqQ/SmG3ayjPIT1YKmiFeH4x9NaHTZwYbSqmEhf9POmzJu6NdUDDVjaE7n1WQQLjymYYFx+Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.2.1.tgz", + "integrity": "sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==", "dev": true, "license": "MIT", "dependencies": { - "mlly": "^1.8.2", - "pkg-types": "^2.3.1", - "quansync": "^1.0.0" + "mlly": "^1.7.4", + "pkg-types": "^2.3.0", + "quansync": "^0.2.11" }, "engines": { "node": ">=14" @@ -4506,23 +4506,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/local-pkg/node_modules/quansync": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/quansync/-/quansync-1.0.0.tgz", - "integrity": "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/antfu" - }, - { - "type": "individual", - "url": "https://github.com/sponsors/sxzz" - } - ], - "license": "MIT" - }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -5257,9 +5240,9 @@ } }, "node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", "dev": true, "license": "ISC", "bin": { diff --git a/package.json b/package.json index 02ac0a7..4ad3aff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@123ishatest/louter", "private": false, - "version": "0.5.2", + "version": "0.5.3", "publishConfig": { "access": "public", "provenance": true diff --git a/src/content/ContentManager.ts b/src/content/ContentManager.ts index 46eff6b..c750cf9 100644 --- a/src/content/ContentManager.ts +++ b/src/content/ContentManager.ts @@ -25,6 +25,10 @@ export class ContentManager(kind: Kind): Record> { const map = this._content[kind]; if (!map) { diff --git a/tests/content/content-manager.spec.ts b/tests/content/content-manager.spec.ts index 481ebfa..eda3346 100644 --- a/tests/content/content-manager.spec.ts +++ b/tests/content/content-manager.spec.ts @@ -108,3 +108,22 @@ it('throws an error when a schema does not exist', () => { manager.getSchema('wrong'); }).toThrow(ContentKindNotFoundError); }); + +it('can get a list of all kinds', () => { + // Arrange + const manager = new ContentManager({ + example: z.strictObject({ + id: z.string(), + amount: z.number(), + }), + other: z.strictObject({ + id: z.string(), + }), + }); + + // Act + const kinds = manager.getKinds(); + + // Assert + expect(kinds).toStrictEqual(['example', 'other']); +});