{"_id":"@banana-universe/ddd","_rev":"2-343e4e43a10299e833c38e29c42c0176","name":"@banana-universe/ddd","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@banana-universe/ddd","version":"0.1.0","author":{"name":"Surya Prakash Manne"},"license":"MIT","_id":"@banana-universe/ddd@0.1.0","maintainers":[{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"}],"homepage":"https://github.com/surya-manne/banana-universe#readme","bugs":{"url":"https://github.com/surya-manne/banana-universe/issues"},"dist":{"shasum":"86cc7ce0f81810fca372732561b55f3d995659eb","tarball":"https://registry.npmjs.org/@banana-universe/ddd/-/ddd-0.1.0.tgz","fileCount":37,"integrity":"sha512-Ly967nMwBX7lQ7iA7d/6PY5DSwpQ9gVLto8bKhbhPfCaVerEvN17JsNWu7rtizAqQ4HdwfBKQI4J4Mb3xEfE0g==","signatures":[{"sig":"MEUCIQD6dhbMAbAuBNRo/foIr0cpF8A0Q3z8crnzW63+VWbqGwIgeEMuXxnqehzG2dN1Nm1V2FpPDz3KkmGh3nebJX0mC4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15202},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"48e7f9557b6be3c8be7a0cab2b5953a731e3bed4","scripts":{"test":"tsc -p tsconfig.lib.json && node --test dist/__tests__/**/*.js"},"_npmUser":{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"},"repository":{"url":"git+https://github.com/surya-manne/banana-universe.git","type":"git"},"_npmVersion":"11.6.2","description":"Domain-driven design primitives for BananaJS — Entity, ValueObject, AggregateRoot, Repository, layer decorators.","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"~5.7.2","reflect-metadata":"^0.2.2","@banana-universe/bananajs":"*"},"peerDependencies":{"reflect-metadata":">=0.2.0","@banana-universe/bananajs":">=0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/ddd_0.1.0_1776801234068_0.21366785554520318","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@banana-universe/ddd","version":"0.1.1","description":"Domain-driven design primitives for BananaJS — Entity, ValueObject, AggregateRoot, Repository, layer decorators.","author":{"name":"Surya Prakash Manne"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/surya-manne/banana-universe.git"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"development":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"tsc -p tsconfig.lib.json && node --test dist/__tests__/**/*.js"},"peerDependencies":{"@banana-universe/bananajs":">=0.4.0","reflect-metadata":">=0.2.0"},"devDependencies":{"@banana-universe/bananajs":"0.6.1","reflect-metadata":"^0.2.2","typescript":"~5.7.2"},"publishConfig":{"access":"public"},"homepage":"https://surya-manne.github.io/banana-universe/","gitHead":"4d8b7890043fef8e65e43486b7c3611e6e8085cf","_id":"@banana-universe/ddd@0.1.1","bugs":{"url":"https://github.com/surya-manne/banana-universe/issues"},"_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-RKDr1vjYwg366DYvfEHDyph8xeUra37fOyOxcz2HlauiVDwt8ORvRSwyCQU2nx6NVCw6q2Srm8sYp1dGagWUkQ==","shasum":"e8926368e34adfec768b0ded8ebf8566a0ad5367","tarball":"https://registry.npmjs.org/@banana-universe/ddd/-/ddd-0.1.1.tgz","fileCount":38,"unpackedSize":16185,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDDo+49Nj67h3q5UXcQJGKit68m9GHkk4cq7+0BTLvVaAiAUmbgi2JMC3FJ67uOPTwdKo5upwib4U2jvkxduwnk8cA=="}]},"_npmUser":{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"},"directories":{},"maintainers":[{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ddd_0.1.1_1776804218815_0.19255968055718942"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-21T19:53:53.944Z","modified":"2026-04-21T20:43:39.059Z","0.1.0":"2026-04-21T19:53:54.208Z","0.1.1":"2026-04-21T20:43:38.944Z"},"bugs":{"url":"https://github.com/surya-manne/banana-universe/issues"},"author":{"name":"Surya Prakash Manne"},"license":"MIT","homepage":"https://surya-manne.github.io/banana-universe/","repository":{"type":"git","url":"git+https://github.com/surya-manne/banana-universe.git"},"description":"Domain-driven design primitives for BananaJS — Entity, ValueObject, AggregateRoot, Repository, layer decorators.","maintainers":[{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"}],"readme":"# @banana-universe/ddd\n\nDDD primitives for Entity, ValueObject, AggregateRoot, domain events, and repository abstractions.\n\n## Homepage\n\nhttps://surya-manne.github.io/banana-universe/\n\n## Installation\n\n```bash\nnpm install @banana-universe/ddd\n```\n\n## Core API Surface\n\n- `ValueObject<T>`\n- `Entity<T>`\n- `AggregateRoot<T>`\n- `DomainEvent`\n- `Repository`, `UnitOfWork`\n\n## Minimal Working Setup\n\n```ts\nimport { ValueObject, Entity, AggregateRoot } from '@banana-universe/ddd';\n\nclass Email extends ValueObject<{ value: string }> {\n  get value() {\n    return this.props.value;\n  }\n}\n\ntype UserProps = { id: string; email: Email; createdAt?: Date; updatedAt?: Date };\n\nclass User extends Entity<UserProps> {}\n\nclass UserAggregate extends AggregateRoot<UserProps> {\n  register() {\n    this.incrementVersion();\n  }\n}\n```\n\n## Documentation\n\n- Project docs: https://surya-manne.github.io/banana-universe/\n\n## License\n\nMIT\n","readmeFilename":"README.md"}