{"_id":"@apick/utils","_rev":"4-8018330b3dba2dbab3b6beec1d000bf6","name":"@apick/utils","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@apick/utils","version":"0.1.0","_id":"@apick/utils@0.1.0","maintainers":[{"name":"vivmagarwal","email":"vivmagarwal@gmail.com"}],"dist":{"shasum":"878d1c0ab27e6fe1ddff6cfde3c3b9caa73c470f","tarball":"https://registry.npmjs.org/@apick/utils/-/utils-0.1.0.tgz","fileCount":41,"integrity":"sha512-dx1OQer62CqqnZWcPcIhIGim+QFleD0L90bKxamVtGBYfe/J/7K2LlnP8oIQq1pATNiRCEj4QQSQOBzqTrsRNQ==","signatures":[{"sig":"MEYCIQD5BwRTEXD33/95jYW1V+09Tc7qYkjkcxqZQ9uYoprfpwIhAJVgUIWX/ROvTbfp5e0KnKYLgMtw4+nFw3NJ9lqU/RnC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73277},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./package.json":"./package.json"},"gitHead":"0462b3ccb96c6e689feeccf6e01b647343067158","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rimraf dist","test:unit":"vitest run"},"_npmUser":{"name":"vivmagarwal","email":"vivmagarwal@gmail.com"},"_npmVersion":"11.3.0","directories":{},"_nodeVersion":"24.2.0","dependencies":{"zod":"^3.24.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.1.0_1772534431001_0.6118080330009321","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Obsolete and no longer maintained — folded into @apick/core (>=0.5.0). Install @apick/core instead: https://www.npmjs.com/package/@apick/core"},"0.2.0":{"name":"@apick/utils","version":"0.2.0","license":"MIT","_id":"@apick/utils@0.2.0","maintainers":[{"name":"vivmagarwal","email":"vivmagarwal@gmail.com"}],"homepage":"https://github.com/vivmagarwal/apickjs/tree/main/packages/utils","bugs":{"url":"https://github.com/vivmagarwal/apickjs/issues"},"dist":{"shasum":"0420ab32f62b85cb0f4d9a61ca63a1184a8b5428","tarball":"https://registry.npmjs.org/@apick/utils/-/utils-0.2.0.tgz","fileCount":42,"integrity":"sha512-h7qEHWXq1lN5mnt8vu7k6saWBrhypvmxtycXX47qxUsySwC0GQDaENm336kLZqb8ZLxwKJ77S24FFhimrqFlOQ==","signatures":[{"sig":"MEYCIQCLgzxvoVYPvKYsdf9H3PSMun7BBLglm0w/y3wkuBMDvQIhAOpdzSqRNK5BnHcT4uERlTXHXDco7ydsrC6LAlbgMjKg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75533},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./package.json":"./package.json"},"gitHead":"bf75a6bc9eec4eb2c8fca4719744512083d36e24","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rimraf dist","test:unit":"vitest run"},"_npmUser":{"name":"vivmagarwal","email":"vivmagarwal@gmail.com"},"repository":{"url":"git+https://github.com/vivmagarwal/apickjs.git","type":"git","directory":"packages/utils"},"_npmVersion":"11.3.0","description":"Error classes, env helpers, UID utilities, and object/string utils for APICK headless CMS","directories":{},"_nodeVersion":"24.2.0","dependencies":{"zod":"^3.24.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.2.0_1772537713376_0.9236750072473123","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Obsolete and no longer maintained — folded into @apick/core (>=0.5.0). Install @apick/core instead: https://www.npmjs.com/package/@apick/core"},"0.3.0":{"name":"@apick/utils","version":"0.3.0","license":"MIT","_id":"@apick/utils@0.3.0","maintainers":[{"name":"vivmagarwal","email":"vivmagarwal@gmail.com"}],"homepage":"https://github.com/vivmagarwal/apickjs/tree/main/packages/utils","bugs":{"url":"https://github.com/vivmagarwal/apickjs/issues"},"dist":{"shasum":"57012c00156b08ab673473f066af9041c3adbd73","tarball":"https://registry.npmjs.org/@apick/utils/-/utils-0.3.0.tgz","fileCount":42,"integrity":"sha512-6hHy/i6RoanwdJL9uGMnTsMpBn8I0ONaWIGOu8+3CopXKGXMs7szV+THHam3AsSzwpvy5UbnlZBh7bNG31u/iA==","signatures":[{"sig":"MEYCIQCULY5TWmCieKkZFICMt4O+vNAPm7A7uFxp7S16Uc/jMgIhAI9rLbH4UHGx872yAQIQd5eMZ7xtefnxWzF4iiZ5jTy2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75533},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./package.json":"./package.json"},"gitHead":"bf2eb516fd277ad9277b3bdaa4bf67acb208bb91","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rimraf dist","test:unit":"vitest run"},"_npmUser":{"name":"vivmagarwal","email":"vivmagarwal@gmail.com"},"repository":{"url":"git+https://github.com/vivmagarwal/apickjs.git","type":"git","directory":"packages/utils"},"_npmVersion":"11.3.0","description":"Error classes, env helpers, UID utilities, and object/string utils for APICK headless CMS","directories":{},"_nodeVersion":"24.2.0","dependencies":{"zod":"^3.24.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/utils_0.3.0_1772550816090_0.429389804203256","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Obsolete and no longer maintained — folded into @apick/core (>=0.5.0). Install @apick/core instead: https://www.npmjs.com/package/@apick/core"}},"time":{"created":"2026-03-03T10:40:30.892Z","modified":"2026-07-16T07:48:37.573Z","0.1.0":"2026-03-03T10:40:31.279Z","0.2.0":"2026-03-03T11:35:13.518Z","0.3.0":"2026-03-03T15:13:36.220Z"},"bugs":{"url":"https://github.com/vivmagarwal/apickjs/issues"},"license":"MIT","homepage":"https://github.com/vivmagarwal/apickjs/tree/main/packages/utils","repository":{"url":"git+https://github.com/vivmagarwal/apickjs.git","type":"git","directory":"packages/utils"},"description":"Error classes, env helpers, UID utilities, and object/string utils for APICK headless CMS","maintainers":[{"name":"vivmagarwal","email":"vivmagarwal@gmail.com"}],"readme":"# @apick/utils\n\nShared utility functions for [APICK](https://github.com/vivmagarwal/apickjs) — a pure headless CMS built TypeScript-first.\n\n## Install\n\n```bash\nnpm install @apick/utils\n```\n\n## What's Inside\n\n### Error Classes\n\nTyped error classes with HTTP status codes:\n\n```typescript\nimport { errors } from '@apick/utils';\n\nthrow new errors.NotFoundError('Article not found');\nthrow new errors.ValidationError('Invalid input', { errors: [...] });\nthrow new errors.UnauthorizedError('Missing token');\nthrow new errors.ForbiddenError('Insufficient permissions');\n```\n\n| Error Class | HTTP Status |\n|------------|-------------|\n| `ApplicationError` | 400 |\n| `ValidationError` | 400 |\n| `UnauthorizedError` | 401 |\n| `ForbiddenError` | 403 |\n| `NotFoundError` | 404 |\n| `PayloadTooLargeError` | 413 |\n| `RateLimitError` | 429 |\n\n### Environment Helpers\n\n```typescript\nimport { env } from '@apick/utils';\n\nenv('HOST', '0.0.0.0');           // string\nenv.int('PORT', 1337);            // number\nenv.bool('DATABASE_SSL', false);  // boolean\nenv.array('APP_KEYS', []);        // string[]\nenv.json('CORS_ORIGINS', '[\"*\"]'); // parsed JSON\n```\n\n### UID Utilities\n\n```typescript\nimport { uid } from '@apick/utils';\n\nuid.parseUid('api::article.article');  // { namespace: 'api', name: 'article.article' }\nuid.hasNamespace('api::article.article', 'api');  // true\nuid.isValidUid('api::article.article');  // true\n```\n\n### Object & String Utilities\n\n- `deepMerge`, `dotGet`, `dotSet`, `dotHas`, `deepFreeze`, `isPlainObject`\n- `pluralize`, `camelCase`, `pascalCase`, `kebabCase`\n\n## Related Packages\n\n- [`@apick/core`](https://www.npmjs.com/package/@apick/core) -- Framework kernel\n- [`@apick/types`](https://www.npmjs.com/package/@apick/types) -- Shared TypeScript type definitions\n- [`@apick/cli`](https://www.npmjs.com/package/@apick/cli) -- CLI tool\n\n## License\n\n[MIT](https://github.com/vivmagarwal/apickjs/blob/main/LICENSE)\n","readmeFilename":"README.md"}