{"_id":"@dtcg-formulas/registry","name":"@dtcg-formulas/registry","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dtcg-formulas/registry","version":"0.1.0","description":"Function declaration registry for dtcg-formulas with built-in math functions.","license":"MIT","type":"module","sideEffects":false,"engines":{"node":">=20"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","clean":"rm -rf dist"},"dependencies":{"@dtcg-formulas/parser":"*"},"devDependencies":{"tsup":"^8.3.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/beacrea/dtcg-formulas.git","directory":"packages/registry"},"bugs":{"url":"https://github.com/beacrea/dtcg-formulas/issues"},"homepage":"https://dtcg-formulas.org","keywords":["dtcg","design-tokens","formulas","registry"],"_id":"@dtcg-formulas/registry@0.1.0","gitHead":"4523aad98181acaffb5e64e71bf26886eeef7655","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-Rv9+uj85PFzAxjrAl5es3wtQSkKtJWmEcgD+IwzyokfTVv2qOy3oI4lZqT0VIqhrcwh1ZLEAinXNyBXawYPW3A==","shasum":"a759e6eceea42ea5f252862d03c2421c09c8ea36","tarball":"https://registry.npmjs.org/@dtcg-formulas/registry/-/registry-0.1.0.tgz","fileCount":9,"unpackedSize":23385,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD0HZmFMB6DFCUyQYgd47+/kIuK+EyYGClG5Bm4tyl8zwIgJHL63e0BAWSpxZQvMcrQoiJX5cYf77giEyxqjXo6Owc="}]},"_npmUser":{"name":"beacrea","email":"public@coty.email"},"directories":{},"maintainers":[{"name":"beacrea","email":"public@coty.email"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/registry_0.1.0_1777477047309_0.3863650530806495"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-29T15:37:27.235Z","0.1.0":"2026-04-29T15:37:27.447Z","modified":"2026-04-29T15:37:27.628Z"},"maintainers":[{"name":"beacrea","email":"public@coty.email"}],"description":"Function declaration registry for dtcg-formulas with built-in math functions.","homepage":"https://dtcg-formulas.org","keywords":["dtcg","design-tokens","formulas","registry"],"repository":{"type":"git","url":"git+https://github.com/beacrea/dtcg-formulas.git","directory":"packages/registry"},"bugs":{"url":"https://github.com/beacrea/dtcg-formulas/issues"},"license":"MIT","readme":"# @dtcg-formulas/registry\n\nFunction declaration registry for [`dtcg-formulas`](https://dtcg-formulas.org). Stores parsed function declarations and pre-loads built-in math functions.\n\n## Install\n\n```bash\nnpm install @dtcg-formulas/registry @dtcg-formulas/parser\n```\n\n## Usage\n\n```ts\nimport { createRegistry } from '@dtcg-formulas/registry';\nimport { parse } from '@dtcg-formulas/parser';\nimport { readFileSync } from 'node:fs';\n\nconst registry = createRegistry();\n// Built-ins (round, clamp, min, max) are pre-registered at the `builtins#` namespace.\n\nconst mod = parse(readFileSync('tokens/functions/radius.module.scssdef', 'utf-8'));\nfor (const fn of mod.functions) {\n  registry.register('tokens/functions/radius.module.scssdef', fn.name, fn);\n}\n\nconst decl = registry.resolve('tokens/functions/radius.module.scssdef#radius');\n```\n\n## API\n\n```ts\ninterface Registry {\n  register(modulePath: string, functionName: string, declaration: FunctionDeclaration): void;\n  resolve(definitionRef: string): FunctionDeclaration | null;\n  list(): string[];\n}\n\nfunction createRegistry(): Registry;\n```\n\nSee the [API reference](https://dtcg-formulas.org/api/registry) for full details and the [registry contract](https://dtcg-formulas.org/spec/registry-contract) for the underlying spec.\n\n## What this is\n\nPhase 1 of the `dtcg-formulas` project. The registry is metadata-only today; executable JS implementations for built-ins ship in [`@dtcg-formulas/builtins`](https://dtcg-formulas.org/guide/roadmap) (0.2.0).\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-04406cbcf56d43e8bd23133fa31a5b8f"}