@contentful/resource-names
v1.5.27
Published
Helps you disassemble _Contentful Resource Names_ into its distinct parts and vice versa.
Downloads
282
Keywords
Readme
@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');