1.12.0 • Published 1 month ago
@contentful/resource-names
Licence
ISC
Version
1.12.0
Deps
0
Size
145 kB
Vulns
0
Weekly
0
@contentful/resource-names
Helps you disassemble Contentful Resource Names into its distinct parts and vice versa.
Concepts
The package operates on the CRN conventions written in the Content Management API Documentation.
Getting started
The package exports a set of classes that can be used to either create a CRN from its distinct parts or extract those exact same parts from a previously stringified version.
Create a CRN class and stringify it
import { ContentfulResourceName } from '@contentful/resource-names';
const crn = new ContentfulResourceName({
partition: 'contentful',
service: 'content',
resourceId: 'spaces/a1b2c3'
});
const crnString = crn.toString();
Extract individual parts
import { ContentfulResourceName } from '@contentful/resource-names';
const { partition, service, resourceId } = ContentfulResourceName.fromString('crn:contentful:::content:spaces/a1b2c3');
The examples above provide a generic way to access information of a CRN, the package additionally exports tailor-made classes that will do additional work for you. We can - for example - rewrite the code from above into this:
import { SpaceResourceName } from '@contentful/resource-names';
const spaceCrn = new SpaceResourceName({
partition: 'contentful',
service: 'content',
spaceId: 'a1b2c3'
});
const { resourceId, spaceId } = SpaceResourceName.fromString('crn:contentful:::content:spaces/a1b2c3');