diff --git a/README.md b/README.md index 6f59ee4..dc12382 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,10 @@ spec contexts. - URL: `https://w3id.org/vc/render-method/v2rc1` - Short name: `v2rc1` - Status: under development +- VC Render Method v2rc2 context + - URL: `https://w3id.org/vc/render-method/v2rc2` + - Short name: `v2rc2` + - Status: under development ## Developing diff --git a/contexts/v2rc2.jsonld b/contexts/v2rc2.jsonld new file mode 100644 index 0000000..7574c2c --- /dev/null +++ b/contexts/v2rc2.jsonld @@ -0,0 +1,42 @@ +{ + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + "TemplateRenderMethod": { + "@id": "https://w3id.org/vc/render-method#TemplateRenderMethod", + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + "description": "https://schema.org/description", + "name": "https://schema.org/name", + "renderSuite": "https://w3id.org/vc/render-method#renderSuite", + "renderProperty": { + "@id": "https://w3id.org/vc/render-method#renderProperty", + "@container": "@set" + }, + "outputPreference": { + "@id": "https://w3id.org/vc/render-method#outputPreference", + "@context": { + "@protected": true, + "id": "@id", + "mode": { + "@id": "https://w3id.org/vc/render-method#mode", + "@container": "@set" + }, + "mediaType": "https://schema.org/encodingFormat", + "style": { + "@id": "https://w3id.org/vc/render-method#style", + "@type": "@json" + } + } + }, + "template": { + "@id": "https://w3id.org/vc/render-method#template", + "@type": "@id" + } + } + } + } +} diff --git a/lib/index.js b/lib/index.js index 14924cc..151e87d 100644 --- a/lib/index.js +++ b/lib/index.js @@ -3,6 +3,7 @@ */ import v1Context from './v1.js'; import v2rc1Context from './v2rc1.js'; +import v2rc2Context from './v2rc2.js'; // map of context id to context export const contexts = new Map(); @@ -39,3 +40,13 @@ setExportsFromMetadata({ context: v2rc1Context } }); +setExportsFromMetadata({ + contextsMap: contexts, metadataMap: metadata, namedMap: named, + metadata: { + id: 'https://w3id.org/vc/render-method/v2rc2', + type: 'ContextMetadata', + shortName: 'v2rc2', + fileUrl: new URL('../contexts/v2rc2.jsonld', import.meta.url), + context: v2rc2Context + } +}); diff --git a/lib/v2rc2.js b/lib/v2rc2.js new file mode 100644 index 0000000..bb24d92 --- /dev/null +++ b/lib/v2rc2.js @@ -0,0 +1,54 @@ +/*! + * Copyright (c) 2026 Digital Bazaar, Inc. + */ +// Use JSON style for context +/* eslint quotes: ['error', 'double'] */ +/* eslint quote-props: ['error', 'always'] */ +/* eslint-disable max-len */ + +export default +/* context-url: https://w3id.org/vc/render-method/v2rc2 */ +/* context-begin */ +{ + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + "TemplateRenderMethod": { + "@id": "https://w3id.org/vc/render-method#TemplateRenderMethod", + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + "description": "https://schema.org/description", + "name": "https://schema.org/name", + "renderSuite": "https://w3id.org/vc/render-method#renderSuite", + "renderProperty": { + "@id": "https://w3id.org/vc/render-method#renderProperty", + "@container": "@set" + }, + "outputPreference": { + "@id": "https://w3id.org/vc/render-method#outputPreference", + "@context": { + "@protected": true, + "id": "@id", + "mode": { + "@id": "https://w3id.org/vc/render-method#mode", + "@container": "@set" + }, + "mediaType": "https://schema.org/encodingFormat", + "style": { + "@id": "https://w3id.org/vc/render-method#style", + "@type": "@json" + } + } + }, + "template": { + "@id": "https://w3id.org/vc/render-method#template", + "@type": "@id" + } + } + } + } +} +/* context-end */; diff --git a/test/context.common.cjs b/test/context.common.cjs index 4a5a434..0190cd2 100644 --- a/test/context.common.cjs +++ b/test/context.common.cjs @@ -4,17 +4,17 @@ module.exports.tests = function({contexts, metadata, named, expect}) { it('contexts', async () => { expect(metadata).to.exist; - expect(metadata.size).to.equal(2); + expect(metadata.size).to.equal(3); }); it('metadata', async () => { expect(metadata).to.exist; - expect(metadata.size).to.equal(2); + expect(metadata.size).to.equal(3); }); it('named', async () => { expect(named).to.exist; - expect(named.size).to.equal(2); + expect(named.size).to.equal(3); }); it('contents', async () => { @@ -26,6 +26,10 @@ module.exports.tests = function({contexts, metadata, named, expect}) { { id: 'https://w3id.org/vc/render-method/v2rc1', name: 'v2rc1' + }, + { + id: 'https://w3id.org/vc/render-method/v2rc2', + name: 'v2rc2' } ];