@learncard/vc-templates-plugin 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/types.d.ts +40 -17
- package/dist/vc-templates-plugin.cjs.development.js +149 -1
- package/dist/vc-templates-plugin.cjs.development.js.map +2 -2
- package/dist/vc-templates-plugin.cjs.production.min.js +1 -1
- package/dist/vc-templates-plugin.cjs.production.min.js.map +3 -3
- package/dist/vc-templates-plugin.esm.js +149 -0
- package/dist/vc-templates-plugin.esm.js.map +2 -2
- package/package.json +2 -2
package/dist/types.d.ts
CHANGED
@@ -12,6 +12,44 @@ export type BoostDisplay = {
|
|
12
12
|
backgroundImage?: string;
|
13
13
|
backgroundColor?: string;
|
14
14
|
};
|
15
|
+
export type BoostID = {
|
16
|
+
fontColor?: string;
|
17
|
+
accentColor?: string;
|
18
|
+
backgroundImage?: string;
|
19
|
+
dimBackgroundImage?: boolean;
|
20
|
+
issuerThumbnail?: string;
|
21
|
+
showIssuerThumbnail?: boolean;
|
22
|
+
};
|
23
|
+
export type AddressSpec = {
|
24
|
+
streetAddress?: string | undefined;
|
25
|
+
addressLocality?: string | undefined;
|
26
|
+
addressRegion?: string | undefined;
|
27
|
+
addressCountry?: string | undefined;
|
28
|
+
postalCode?: string | undefined;
|
29
|
+
geo?: {
|
30
|
+
latitude?: number | undefined;
|
31
|
+
longitude?: number | undefined;
|
32
|
+
};
|
33
|
+
};
|
34
|
+
export type BoostTemplate = {
|
35
|
+
did?: string;
|
36
|
+
subject?: string;
|
37
|
+
issuanceDate?: string;
|
38
|
+
expirationDate?: string;
|
39
|
+
boostId?: string;
|
40
|
+
boostName?: string;
|
41
|
+
boostImage?: string;
|
42
|
+
achievementId?: string;
|
43
|
+
achievementType?: string;
|
44
|
+
achievementName?: string;
|
45
|
+
achievementDescription?: string;
|
46
|
+
achievementNarrative?: string;
|
47
|
+
achievementImage?: string;
|
48
|
+
attachments?: BoostAttachment[];
|
49
|
+
display?: BoostDisplay;
|
50
|
+
boostID?: BoostID;
|
51
|
+
address?: AddressSpec;
|
52
|
+
};
|
15
53
|
/** @group VC Templates Plugin */
|
16
54
|
export type VcTemplates = {
|
17
55
|
basic: {
|
@@ -33,23 +71,8 @@ export type VcTemplates = {
|
|
33
71
|
subject?: string;
|
34
72
|
issuanceDate?: string;
|
35
73
|
};
|
36
|
-
boost:
|
37
|
-
|
38
|
-
subject?: string;
|
39
|
-
issuanceDate?: string;
|
40
|
-
expirationDate?: string;
|
41
|
-
boostId?: string;
|
42
|
-
boostName?: string;
|
43
|
-
boostImage?: string;
|
44
|
-
achievementId?: string;
|
45
|
-
achievementType?: string;
|
46
|
-
achievementName?: string;
|
47
|
-
achievementDescription?: string;
|
48
|
-
achievementNarrative?: string;
|
49
|
-
achievementImage?: string;
|
50
|
-
attachments?: BoostAttachment[];
|
51
|
-
display?: BoostDisplay;
|
52
|
-
};
|
74
|
+
boost: BoostTemplate;
|
75
|
+
boostID: BoostTemplate;
|
53
76
|
};
|
54
77
|
/** @group VC Templates Plugin */
|
55
78
|
export type NewCredentialFunction = (args?: DiscriminatedUnionize<VcTemplates>) => UnsignedVC;
|
@@ -1,4 +1,3 @@
|
|
1
|
-
"use strict";
|
2
1
|
var __defProp = Object.defineProperty;
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
@@ -175,6 +174,9 @@ var VC_TEMPLATES = {
|
|
175
174
|
"@type": "xsd:string"
|
176
175
|
}
|
177
176
|
}
|
177
|
+
},
|
178
|
+
address: {
|
179
|
+
"@id": "https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"
|
178
180
|
}
|
179
181
|
}
|
180
182
|
}
|
@@ -203,6 +205,152 @@ var VC_TEMPLATES = {
|
|
203
205
|
display,
|
204
206
|
image: boostImage,
|
205
207
|
attachments
|
208
|
+
}),
|
209
|
+
boostID: ({
|
210
|
+
did = "did:example:d23dd687a7dc6787646f2eb98d0",
|
211
|
+
subject = "did:example:d23dd687a7dc6787646f2eb98d0",
|
212
|
+
issuanceDate = "2020-08-19T21:41:50Z",
|
213
|
+
expirationDate,
|
214
|
+
boostName = "Example Boost",
|
215
|
+
boostId = "urn:uuid:boost:example:555",
|
216
|
+
boostImage,
|
217
|
+
achievementId = "urn:uuid:123",
|
218
|
+
achievementType = "Influencer",
|
219
|
+
achievementName = "Awesome Badge",
|
220
|
+
achievementDescription = "Awesome People Earn Awesome Badge",
|
221
|
+
achievementNarrative = "Earned by being awesome.",
|
222
|
+
achievementImage = "",
|
223
|
+
address,
|
224
|
+
attachments,
|
225
|
+
display,
|
226
|
+
boostID
|
227
|
+
} = {}) => ({
|
228
|
+
"@context": [
|
229
|
+
"https://www.w3.org/2018/credentials/v1",
|
230
|
+
"https://purl.imsglobal.org/spec/ob/v3p0/context.json",
|
231
|
+
{
|
232
|
+
type: "@type",
|
233
|
+
xsd: "https://www.w3.org/2001/XMLSchema#",
|
234
|
+
lcn: "https://docs.learncard.com/definitions#",
|
235
|
+
BoostCredential: {
|
236
|
+
"@id": "lcn:boostCredential",
|
237
|
+
"@context": {
|
238
|
+
boostId: {
|
239
|
+
"@id": "lcn:boostId",
|
240
|
+
"@type": "xsd:string"
|
241
|
+
},
|
242
|
+
display: {
|
243
|
+
"@id": "lcn:boostDisplay",
|
244
|
+
"@context": {
|
245
|
+
backgroundImage: {
|
246
|
+
"@id": "lcn:boostBackgroundImage",
|
247
|
+
"@type": "xsd:string"
|
248
|
+
},
|
249
|
+
backgroundColor: {
|
250
|
+
"@id": "lcn:boostBackgroundColor",
|
251
|
+
"@type": "xsd:string"
|
252
|
+
}
|
253
|
+
}
|
254
|
+
},
|
255
|
+
image: {
|
256
|
+
"@id": "lcn:boostImage",
|
257
|
+
"@type": "xsd:string"
|
258
|
+
},
|
259
|
+
attachments: {
|
260
|
+
"@id": "lcn:boostAttachments",
|
261
|
+
"@container": "@set",
|
262
|
+
"@context": {
|
263
|
+
type: {
|
264
|
+
"@id": "lcn:boostAttachmentType",
|
265
|
+
"@type": "xsd:string"
|
266
|
+
},
|
267
|
+
title: {
|
268
|
+
"@id": "lcn:boostAttachmentTitle",
|
269
|
+
"@type": "xsd:string"
|
270
|
+
},
|
271
|
+
url: {
|
272
|
+
"@id": "lcn:boostAttachmentUrl",
|
273
|
+
"@type": "xsd:string"
|
274
|
+
}
|
275
|
+
}
|
276
|
+
},
|
277
|
+
address: {
|
278
|
+
"@id": "https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"
|
279
|
+
}
|
280
|
+
}
|
281
|
+
}
|
282
|
+
},
|
283
|
+
{
|
284
|
+
type: "@type",
|
285
|
+
xsd: "https://www.w3.org/2001/XMLSchema#",
|
286
|
+
lcn: "https://docs.learncard.com/definitions#",
|
287
|
+
BoostID: {
|
288
|
+
"@id": "lcn:boostID",
|
289
|
+
"@context": {
|
290
|
+
boostID: {
|
291
|
+
"@id": "lcn:boostIDField",
|
292
|
+
"@context": {
|
293
|
+
fontColor: {
|
294
|
+
"@id": "lcn:boostIDFontColor",
|
295
|
+
"@type": "xsd:string"
|
296
|
+
},
|
297
|
+
accentColor: {
|
298
|
+
"@id": "lcn:boostIDAccentColor",
|
299
|
+
"@type": "xsd:string"
|
300
|
+
},
|
301
|
+
backgroundImage: {
|
302
|
+
"@id": "lcn:boostIDBackgroundImage",
|
303
|
+
"@type": "xsd:string"
|
304
|
+
},
|
305
|
+
dimBackgroundImage: {
|
306
|
+
"@id": "lcn:boostIDDimBackgroundImage",
|
307
|
+
"@type": "xsd:boolean"
|
308
|
+
},
|
309
|
+
issuerThumbnail: {
|
310
|
+
"@id": "lcn:boostIDIssuerThumbnail",
|
311
|
+
"@type": "xsd:string"
|
312
|
+
},
|
313
|
+
showIssuerThumbnail: {
|
314
|
+
"@id": "lcn:boostIDShowIssuerThumbnail",
|
315
|
+
"@type": "xsd:boolean"
|
316
|
+
}
|
317
|
+
}
|
318
|
+
}
|
319
|
+
}
|
320
|
+
}
|
321
|
+
}
|
322
|
+
],
|
323
|
+
type: ["VerifiableCredential", "OpenBadgeCredential", "BoostCredential", "BoostID"],
|
324
|
+
issuer: did,
|
325
|
+
issuanceDate,
|
326
|
+
name: boostName,
|
327
|
+
expirationDate,
|
328
|
+
credentialSubject: {
|
329
|
+
id: subject,
|
330
|
+
type: ["AchievementSubject"],
|
331
|
+
achievement: {
|
332
|
+
id: achievementId,
|
333
|
+
type: ["Achievement"],
|
334
|
+
achievementType,
|
335
|
+
name: achievementName,
|
336
|
+
description: achievementDescription,
|
337
|
+
image: achievementImage,
|
338
|
+
criteria: {
|
339
|
+
narrative: achievementNarrative
|
340
|
+
}
|
341
|
+
}
|
342
|
+
},
|
343
|
+
...address ? {
|
344
|
+
address: {
|
345
|
+
type: ["Address"],
|
346
|
+
...address,
|
347
|
+
...address.geo ? { geo: { type: ["GeoCoordinates"], ...address.geo } } : {}
|
348
|
+
}
|
349
|
+
} : {},
|
350
|
+
display,
|
351
|
+
image: boostImage,
|
352
|
+
attachments,
|
353
|
+
boostID
|
206
354
|
})
|
207
355
|
};
|
208
356
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../src/index.ts", "../src/templates.ts", "../src/vc-templates.ts"],
|
4
|
-
"sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n {\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n image: boostImage,\n attachments,\n }),\n };\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: '2020-08-19T21:41:50Z',\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
-
"mappings": "
|
4
|
+
"sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n{\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n image: boostImage,\n attachments,\n }),\n boostID: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n address,\n attachments,\n display,\n boostID,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n {\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostID: {\n '@id': 'lcn:boostID',\n '@context': {\n boostID: {\n '@id': 'lcn:boostIDField',\n '@context': {\n fontColor: {\n '@id': 'lcn:boostIDFontColor',\n '@type': 'xsd:string',\n },\n accentColor: {\n '@id': 'lcn:boostIDAccentColor',\n '@type': 'xsd:string',\n },\n backgroundImage: {\n '@id': 'lcn:boostIDBackgroundImage',\n '@type': 'xsd:string',\n },\n dimBackgroundImage: {\n '@id': 'lcn:boostIDDimBackgroundImage',\n '@type': 'xsd:boolean',\n },\n issuerThumbnail: {\n '@id': 'lcn:boostIDIssuerThumbnail',\n '@type': 'xsd:string',\n },\n showIssuerThumbnail: {\n '@id': 'lcn:boostIDShowIssuerThumbnail',\n '@type': 'xsd:boolean',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo\n ? { geo: { type: ['GeoCoordinates'], ...address.geo } }\n : {}),\n },\n }\n : {}),\n display,\n image: boostImage,\n attachments,\n boostID,\n }),\n};\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: '2020-08-19T21:41:50Z',\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": []
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
|
1
|
+
var r=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var y=(t,e)=>r(t,"name",{value:e,configurable:!0});var T=(t,e)=>{for(var i in e)r(t,i,{get:e[i],enumerable:!0})},A=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let d of C(e))!I.call(t,d)&&d!==i&&r(t,d,{get:()=>e[d],enumerable:!(o=v(e,d))||o.enumerable});return t};var B=t=>A(r({},"__esModule",{value:!0}),t);var V={};T(V,{getVCTemplatesPlugin:()=>w});module.exports=B(V);var h={basic:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={})=>({"@context":["https://www.w3.org/2018/credentials/v1"],id:"http://example.org/credentials/3731",type:["VerifiableCredential"],issuer:t,issuanceDate:i,credentialSubject:{id:e}}),achievement:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",name:i="Teamwork Badge",achievementName:o="Teamwork",description:d="This badge recognizes the development of the capacity to collaborate within a group environment.",criteriaNarrative:n="Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.",issuanceDate:a="2020-08-19T21:41:50Z"}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json"],id:"http://example.com/credentials/3527",type:["VerifiableCredential","OpenBadgeCredential"],issuer:t,issuanceDate:a,name:i,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:"https://example.com/achievements/21st-century-skills/teamwork",type:["Achievement"],criteria:{narrative:n},description:d,name:o}}}),jff2:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context.json","https://w3id.org/security/suites/ed25519-2020/v1"],id:"urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58",type:["VerifiableCredential","OpenBadgeCredential"],name:"JFF x vc-edu PlugFest 2 Interoperability",issuer:{type:["Profile"],id:t,name:"Jobs for the Future (JFF)",image:{id:"https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",type:"Image"}},issuanceDate:i,credentialSubject:{type:["AchievementSubject"],id:e,achievement:{id:"urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922",type:["Achievement"],name:"JFF x vc-edu PlugFest 2 Interoperability",description:"This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.",criteria:{narrative:"Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers."},image:{id:"https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png",type:"Image"}}}}),boost:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z",expirationDate:o,boostName:d="Example Boost",boostId:n="urn:uuid:boost:example:555",boostImage:a,achievementId:c="urn:uuid:123",achievementType:l="Influencer",achievementName:p="Awesome Badge",achievementDescription:m="Awesome People Earn Awesome Badge",achievementNarrative:g="Earned by being awesome.",achievementImage:b="",attachments:s,display:u}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context.json",{type:"@type",xsd:"https://www.w3.org/2001/XMLSchema#",lcn:"https://docs.learncard.com/definitions#",BoostCredential:{"@id":"lcn:boostCredential","@context":{boostId:{"@id":"lcn:boostId","@type":"xsd:string"},display:{"@id":"lcn:boostDisplay","@context":{backgroundImage:{"@id":"lcn:boostBackgroundImage","@type":"xsd:string"},backgroundColor:{"@id":"lcn:boostBackgroundColor","@type":"xsd:string"}}},image:{"@id":"lcn:boostImage","@type":"xsd:string"},attachments:{"@id":"lcn:boostAttachments","@container":"@set","@context":{type:{"@id":"lcn:boostAttachmentType","@type":"xsd:string"},title:{"@id":"lcn:boostAttachmentTitle","@type":"xsd:string"},url:{"@id":"lcn:boostAttachmentUrl","@type":"xsd:string"}}},address:{"@id":"https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"}}}}],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential"],issuer:t,issuanceDate:i,name:d,expirationDate:o,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:c,type:["Achievement"],achievementType:l,name:p,description:m,image:b,criteria:{narrative:g}}},display:u,image:a,attachments:s}),boostID:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z",expirationDate:o,boostName:d="Example Boost",boostId:n="urn:uuid:boost:example:555",boostImage:a,achievementId:c="urn:uuid:123",achievementType:l="Influencer",achievementName:p="Awesome Badge",achievementDescription:m="Awesome People Earn Awesome Badge",achievementNarrative:g="Earned by being awesome.",achievementImage:b="",address:s,attachments:u,display:x,boostID:f}={})=>({"@context":["https://www.w3.org/2018/credentials/v1","https://purl.imsglobal.org/spec/ob/v3p0/context.json",{type:"@type",xsd:"https://www.w3.org/2001/XMLSchema#",lcn:"https://docs.learncard.com/definitions#",BoostCredential:{"@id":"lcn:boostCredential","@context":{boostId:{"@id":"lcn:boostId","@type":"xsd:string"},display:{"@id":"lcn:boostDisplay","@context":{backgroundImage:{"@id":"lcn:boostBackgroundImage","@type":"xsd:string"},backgroundColor:{"@id":"lcn:boostBackgroundColor","@type":"xsd:string"}}},image:{"@id":"lcn:boostImage","@type":"xsd:string"},attachments:{"@id":"lcn:boostAttachments","@container":"@set","@context":{type:{"@id":"lcn:boostAttachmentType","@type":"xsd:string"},title:{"@id":"lcn:boostAttachmentTitle","@type":"xsd:string"},url:{"@id":"lcn:boostAttachmentUrl","@type":"xsd:string"}}},address:{"@id":"https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"}}}},{type:"@type",xsd:"https://www.w3.org/2001/XMLSchema#",lcn:"https://docs.learncard.com/definitions#",BoostID:{"@id":"lcn:boostID","@context":{boostID:{"@id":"lcn:boostIDField","@context":{fontColor:{"@id":"lcn:boostIDFontColor","@type":"xsd:string"},accentColor:{"@id":"lcn:boostIDAccentColor","@type":"xsd:string"},backgroundImage:{"@id":"lcn:boostIDBackgroundImage","@type":"xsd:string"},dimBackgroundImage:{"@id":"lcn:boostIDDimBackgroundImage","@type":"xsd:boolean"},issuerThumbnail:{"@id":"lcn:boostIDIssuerThumbnail","@type":"xsd:string"},showIssuerThumbnail:{"@id":"lcn:boostIDShowIssuerThumbnail","@type":"xsd:boolean"}}}}}}],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential","BoostID"],issuer:t,issuanceDate:i,name:d,expirationDate:o,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:c,type:["Achievement"],achievementType:l,name:p,description:m,image:b,criteria:{narrative:g}}},...s?{address:{type:["Address"],...s,...s.geo?{geo:{type:["GeoCoordinates"],...s.geo}}:{}}}:{},display:x,image:a,attachments:u,boostID:f})};var w=y(()=>({name:"VC Templates",displayName:"VC Templates",description:"Allows for the easy creation of VCs and VPs based on predefined templates",methods:{newCredential:(t,e={type:"basic"})=>{let i=e.did||t.id.did();if(!i)throw new Error("Could not get issuer did!");let o={did:i,subject:"did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:"2020-08-19T21:41:50Z"},{type:d="basic",...n}=e;if(!(d in h))throw new Error("Invalid Test VC Type!");return h[d]({...o,...n})},newPresentation:async(t,e,i={})=>{let o=i?.did||t.id.did();if(!o)throw new Error("Could not get issuer did!");return{"@context":["https://www.w3.org/2018/credentials/v1"],type:["VerifiablePresentation"],holder:o,verifiableCredential:e}}}}),"getVCTemplatesPlugin");
|
2
2
|
//# sourceMappingURL=vc-templates-plugin.cjs.production.min.js.map
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../src/index.ts", "../src/templates.ts", "../src/vc-templates.ts"],
|
4
|
-
"sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n {\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n image: boostImage,\n attachments,\n }),\n };\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: '2020-08-19T21:41:50Z',\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
-
"mappings": "
|
6
|
-
"names": [
|
4
|
+
"sourcesContent": ["export { getVCTemplatesPlugin } from './vc-templates';\nexport * from './types';\n", "import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n{\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n image: boostImage,\n attachments,\n }),\n boostID: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n address,\n attachments,\n display,\n boostID,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n {\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostID: {\n '@id': 'lcn:boostID',\n '@context': {\n boostID: {\n '@id': 'lcn:boostIDField',\n '@context': {\n fontColor: {\n '@id': 'lcn:boostIDFontColor',\n '@type': 'xsd:string',\n },\n accentColor: {\n '@id': 'lcn:boostIDAccentColor',\n '@type': 'xsd:string',\n },\n backgroundImage: {\n '@id': 'lcn:boostIDBackgroundImage',\n '@type': 'xsd:string',\n },\n dimBackgroundImage: {\n '@id': 'lcn:boostIDDimBackgroundImage',\n '@type': 'xsd:boolean',\n },\n issuerThumbnail: {\n '@id': 'lcn:boostIDIssuerThumbnail',\n '@type': 'xsd:string',\n },\n showIssuerThumbnail: {\n '@id': 'lcn:boostIDShowIssuerThumbnail',\n '@type': 'xsd:boolean',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo\n ? { geo: { type: ['GeoCoordinates'], ...address.geo } }\n : {}),\n },\n }\n : {}),\n display,\n image: boostImage,\n attachments,\n boostID,\n }),\n};\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: '2020-08-19T21:41:50Z',\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": []
|
7
7
|
}
|
@@ -151,6 +151,9 @@ var VC_TEMPLATES = {
|
|
151
151
|
"@type": "xsd:string"
|
152
152
|
}
|
153
153
|
}
|
154
|
+
},
|
155
|
+
address: {
|
156
|
+
"@id": "https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"
|
154
157
|
}
|
155
158
|
}
|
156
159
|
}
|
@@ -179,6 +182,152 @@ var VC_TEMPLATES = {
|
|
179
182
|
display,
|
180
183
|
image: boostImage,
|
181
184
|
attachments
|
185
|
+
}),
|
186
|
+
boostID: ({
|
187
|
+
did = "did:example:d23dd687a7dc6787646f2eb98d0",
|
188
|
+
subject = "did:example:d23dd687a7dc6787646f2eb98d0",
|
189
|
+
issuanceDate = "2020-08-19T21:41:50Z",
|
190
|
+
expirationDate,
|
191
|
+
boostName = "Example Boost",
|
192
|
+
boostId = "urn:uuid:boost:example:555",
|
193
|
+
boostImage,
|
194
|
+
achievementId = "urn:uuid:123",
|
195
|
+
achievementType = "Influencer",
|
196
|
+
achievementName = "Awesome Badge",
|
197
|
+
achievementDescription = "Awesome People Earn Awesome Badge",
|
198
|
+
achievementNarrative = "Earned by being awesome.",
|
199
|
+
achievementImage = "",
|
200
|
+
address,
|
201
|
+
attachments,
|
202
|
+
display,
|
203
|
+
boostID
|
204
|
+
} = {}) => ({
|
205
|
+
"@context": [
|
206
|
+
"https://www.w3.org/2018/credentials/v1",
|
207
|
+
"https://purl.imsglobal.org/spec/ob/v3p0/context.json",
|
208
|
+
{
|
209
|
+
type: "@type",
|
210
|
+
xsd: "https://www.w3.org/2001/XMLSchema#",
|
211
|
+
lcn: "https://docs.learncard.com/definitions#",
|
212
|
+
BoostCredential: {
|
213
|
+
"@id": "lcn:boostCredential",
|
214
|
+
"@context": {
|
215
|
+
boostId: {
|
216
|
+
"@id": "lcn:boostId",
|
217
|
+
"@type": "xsd:string"
|
218
|
+
},
|
219
|
+
display: {
|
220
|
+
"@id": "lcn:boostDisplay",
|
221
|
+
"@context": {
|
222
|
+
backgroundImage: {
|
223
|
+
"@id": "lcn:boostBackgroundImage",
|
224
|
+
"@type": "xsd:string"
|
225
|
+
},
|
226
|
+
backgroundColor: {
|
227
|
+
"@id": "lcn:boostBackgroundColor",
|
228
|
+
"@type": "xsd:string"
|
229
|
+
}
|
230
|
+
}
|
231
|
+
},
|
232
|
+
image: {
|
233
|
+
"@id": "lcn:boostImage",
|
234
|
+
"@type": "xsd:string"
|
235
|
+
},
|
236
|
+
attachments: {
|
237
|
+
"@id": "lcn:boostAttachments",
|
238
|
+
"@container": "@set",
|
239
|
+
"@context": {
|
240
|
+
type: {
|
241
|
+
"@id": "lcn:boostAttachmentType",
|
242
|
+
"@type": "xsd:string"
|
243
|
+
},
|
244
|
+
title: {
|
245
|
+
"@id": "lcn:boostAttachmentTitle",
|
246
|
+
"@type": "xsd:string"
|
247
|
+
},
|
248
|
+
url: {
|
249
|
+
"@id": "lcn:boostAttachmentUrl",
|
250
|
+
"@type": "xsd:string"
|
251
|
+
}
|
252
|
+
}
|
253
|
+
},
|
254
|
+
address: {
|
255
|
+
"@id": "https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address"
|
256
|
+
}
|
257
|
+
}
|
258
|
+
}
|
259
|
+
},
|
260
|
+
{
|
261
|
+
type: "@type",
|
262
|
+
xsd: "https://www.w3.org/2001/XMLSchema#",
|
263
|
+
lcn: "https://docs.learncard.com/definitions#",
|
264
|
+
BoostID: {
|
265
|
+
"@id": "lcn:boostID",
|
266
|
+
"@context": {
|
267
|
+
boostID: {
|
268
|
+
"@id": "lcn:boostIDField",
|
269
|
+
"@context": {
|
270
|
+
fontColor: {
|
271
|
+
"@id": "lcn:boostIDFontColor",
|
272
|
+
"@type": "xsd:string"
|
273
|
+
},
|
274
|
+
accentColor: {
|
275
|
+
"@id": "lcn:boostIDAccentColor",
|
276
|
+
"@type": "xsd:string"
|
277
|
+
},
|
278
|
+
backgroundImage: {
|
279
|
+
"@id": "lcn:boostIDBackgroundImage",
|
280
|
+
"@type": "xsd:string"
|
281
|
+
},
|
282
|
+
dimBackgroundImage: {
|
283
|
+
"@id": "lcn:boostIDDimBackgroundImage",
|
284
|
+
"@type": "xsd:boolean"
|
285
|
+
},
|
286
|
+
issuerThumbnail: {
|
287
|
+
"@id": "lcn:boostIDIssuerThumbnail",
|
288
|
+
"@type": "xsd:string"
|
289
|
+
},
|
290
|
+
showIssuerThumbnail: {
|
291
|
+
"@id": "lcn:boostIDShowIssuerThumbnail",
|
292
|
+
"@type": "xsd:boolean"
|
293
|
+
}
|
294
|
+
}
|
295
|
+
}
|
296
|
+
}
|
297
|
+
}
|
298
|
+
}
|
299
|
+
],
|
300
|
+
type: ["VerifiableCredential", "OpenBadgeCredential", "BoostCredential", "BoostID"],
|
301
|
+
issuer: did,
|
302
|
+
issuanceDate,
|
303
|
+
name: boostName,
|
304
|
+
expirationDate,
|
305
|
+
credentialSubject: {
|
306
|
+
id: subject,
|
307
|
+
type: ["AchievementSubject"],
|
308
|
+
achievement: {
|
309
|
+
id: achievementId,
|
310
|
+
type: ["Achievement"],
|
311
|
+
achievementType,
|
312
|
+
name: achievementName,
|
313
|
+
description: achievementDescription,
|
314
|
+
image: achievementImage,
|
315
|
+
criteria: {
|
316
|
+
narrative: achievementNarrative
|
317
|
+
}
|
318
|
+
}
|
319
|
+
},
|
320
|
+
...address ? {
|
321
|
+
address: {
|
322
|
+
type: ["Address"],
|
323
|
+
...address,
|
324
|
+
...address.geo ? { geo: { type: ["GeoCoordinates"], ...address.geo } } : {}
|
325
|
+
}
|
326
|
+
} : {},
|
327
|
+
display,
|
328
|
+
image: boostImage,
|
329
|
+
attachments,
|
330
|
+
boostID
|
182
331
|
})
|
183
332
|
};
|
184
333
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../src/templates.ts", "../src/vc-templates.ts"],
|
4
|
-
"sourcesContent": ["import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n {\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n image: boostImage,\n attachments,\n }),\n };\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: '2020-08-19T21:41:50Z',\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
-
"mappings": ";;;;AAKO,IAAM,
|
4
|
+
"sourcesContent": ["import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: { [Key in keyof VcTemplates]: (args: VcTemplates[Key]) => UnsignedVC } =\n{\n basic: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n name = 'Teamwork Badge',\n achievementName = 'Teamwork',\n description = 'This badge recognizes the development of the capacity to collaborate within a group environment.',\n criteriaNarrative = 'Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.1.json',\n ],\n id: 'http://example.com/credentials/3527',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: did,\n issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: 'https://example.com/achievements/21st-century-skills/teamwork',\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n 'https://w3id.org/security/suites/ed25519-2020/v1',\n ],\n id: 'urn:uuid:a63a60be-f4af-491c-87fc-2c8fd3007a58',\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n issuer: {\n type: ['Profile'],\n id: did,\n name: 'Jobs for the Future (JFF)',\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png',\n type: 'Image',\n },\n },\n issuanceDate: issuanceDate,\n credentialSubject: {\n type: ['AchievementSubject'],\n id: subject,\n achievement: {\n id: 'urn:uuid:bd6d9316-f7ae-4073-a1e5-2f7f5bd22922',\n type: ['Achievement'],\n name: 'JFF x vc-edu PlugFest 2 Interoperability',\n description:\n 'This credential solution supports the use of OBv3 and w3c Verifiable Credentials and is interoperable with at least two other solutions. This was demonstrated successfully during JFF x vc-edu PlugFest 2.',\n criteria: {\n narrative:\n 'Solutions providers earned this badge by demonstrating interoperability between multiple providers based on the OBv3 candidate final standard, with some additional required fields. Credential issuers earning this badge successfully issued a credential into at least two wallets. Wallet implementers earning this badge successfully displayed credentials issued by at least two different credential issuers.',\n },\n image: {\n id: 'https://w3c-ccg.github.io/vc-ed/plugfest-2-2022/images/JFF-VC-EDU-PLUGFEST2-badge-image.png',\n type: 'Image',\n },\n },\n },\n }),\n boost: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n attachments,\n display,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n display,\n image: boostImage,\n attachments,\n }),\n boostID: ({\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostId = 'urn:uuid:boost:example:555',\n boostImage,\n achievementId = 'urn:uuid:123',\n achievementType = 'Influencer',\n achievementName = 'Awesome Badge',\n achievementDescription = 'Awesome People Earn Awesome Badge',\n achievementNarrative = 'Earned by being awesome.',\n achievementImage = '',\n address,\n attachments,\n display,\n boostID,\n } = {}) => ({\n '@context': [\n 'https://www.w3.org/2018/credentials/v1',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context.json',\n {\n // id: '@id',\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostCredential: {\n '@id': 'lcn:boostCredential',\n '@context': {\n boostId: {\n '@id': 'lcn:boostId',\n '@type': 'xsd:string',\n },\n display: {\n '@id': 'lcn:boostDisplay',\n '@context': {\n backgroundImage: {\n '@id': 'lcn:boostBackgroundImage',\n '@type': 'xsd:string',\n },\n backgroundColor: {\n '@id': 'lcn:boostBackgroundColor',\n '@type': 'xsd:string',\n },\n },\n },\n image: {\n '@id': 'lcn:boostImage',\n '@type': 'xsd:string',\n },\n attachments: {\n '@id': 'lcn:boostAttachments',\n '@container': '@set',\n '@context': {\n type: {\n '@id': 'lcn:boostAttachmentType',\n '@type': 'xsd:string',\n },\n title: {\n '@id': 'lcn:boostAttachmentTitle',\n '@type': 'xsd:string',\n },\n url: {\n '@id': 'lcn:boostAttachmentUrl',\n '@type': 'xsd:string',\n },\n },\n },\n address: {\n '@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#Address',\n },\n },\n },\n },\n {\n type: '@type',\n xsd: 'https://www.w3.org/2001/XMLSchema#',\n lcn: 'https://docs.learncard.com/definitions#',\n BoostID: {\n '@id': 'lcn:boostID',\n '@context': {\n boostID: {\n '@id': 'lcn:boostIDField',\n '@context': {\n fontColor: {\n '@id': 'lcn:boostIDFontColor',\n '@type': 'xsd:string',\n },\n accentColor: {\n '@id': 'lcn:boostIDAccentColor',\n '@type': 'xsd:string',\n },\n backgroundImage: {\n '@id': 'lcn:boostIDBackgroundImage',\n '@type': 'xsd:string',\n },\n dimBackgroundImage: {\n '@id': 'lcn:boostIDDimBackgroundImage',\n '@type': 'xsd:boolean',\n },\n issuerThumbnail: {\n '@id': 'lcn:boostIDIssuerThumbnail',\n '@type': 'xsd:string',\n },\n showIssuerThumbnail: {\n '@id': 'lcn:boostIDShowIssuerThumbnail',\n '@type': 'xsd:boolean',\n },\n },\n },\n },\n },\n },\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n issuer: did,\n issuanceDate,\n name: boostName,\n expirationDate,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n },\n },\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo\n ? { geo: { type: ['GeoCoordinates'], ...address.geo } }\n : {}),\n },\n }\n : {}),\n display,\n image: boostImage,\n attachments,\n boostID,\n }),\n};\n", "import { VC_TEMPLATES } from './templates';\n\nimport { VCTemplatePlugin } from './types';\n\n/**\n * @group Plugins\n */\nexport const getVCTemplatesPlugin = (): VCTemplatePlugin => {\n return {\n name: 'VC Templates',\n displayName: 'VC Templates',\n description: 'Allows for the easy creation of VCs and VPs based on predefined templates',\n methods: {\n newCredential: (_learnCard, args = { type: 'basic' }) => {\n const did = args.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n const defaults = {\n did,\n subject: 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate: '2020-08-19T21:41:50Z',\n };\n\n const { type = 'basic', ...functionArgs } = args;\n\n if (!(type in VC_TEMPLATES)) throw new Error('Invalid Test VC Type!');\n\n return VC_TEMPLATES[type]({ ...defaults, ...functionArgs });\n },\n newPresentation: async (_learnCard, credential, args = {}) => {\n const did = args?.did || _learnCard.id.did();\n\n if (!did) throw new Error('Could not get issuer did!');\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": []
|
7
7
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@learncard/vc-templates-plugin",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.4",
|
4
4
|
"description": "",
|
5
5
|
"main": "./dist/index.js",
|
6
6
|
"module": "./dist/vc-templates-plugin.esm.js",
|
@@ -30,7 +30,7 @@
|
|
30
30
|
},
|
31
31
|
"types": "./dist/index.d.ts",
|
32
32
|
"dependencies": {
|
33
|
-
"@learncard/core": "9.0.
|
33
|
+
"@learncard/core": "9.0.3",
|
34
34
|
"@learncard/types": "5.3.2"
|
35
35
|
},
|
36
36
|
"scripts": {
|