@learncard/vc-templates-plugin 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,eACb;AAAA,EACI,OAAO,CAAC;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,MACf,CAAC,MAAO;AAAA,IACR,YAAY,CAAC,wCAAwC;AAAA,IACrD,IAAI;AAAA,IACJ,MAAM,CAAC,sBAAsB;AAAA,IAC7B,QAAQ;AAAA,IACR;AAAA,IACA,mBAAmB,EAAE,IAAI,QAAQ;AAAA,EACrC;AAAA,EACA,aAAa,CAAC;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,oBAAoB;AAAA,IACpB,eAAe;AAAA,MACf,CAAC,MAAsC;AAAA,IACvC,YAAY;AAAA,MACR;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI;AAAA,IACJ,MAAM,CAAC,wBAAwB,qBAAqB;AAAA,IACpD,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI;AAAA,QACJ,MAAM,CAAC,aAAa;AAAA,QACpB,UAAU,EAAE,WAAW,kBAAkB;AAAA,QACzC;AAAA,QACA,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,MAAM,CAAC;AAAA,IACH,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,MACf,CAAC,MAAO;AAAA,IACR,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI;AAAA,IACJ,MAAM,CAAC,wBAAwB,qBAAqB;AAAA,IACpD,MAAM;AAAA,IACN,QAAQ;AAAA,MACJ,MAAM,CAAC,SAAS;AAAA,MAChB,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,QACH,IAAI;AAAA,QACJ,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,MACf,MAAM,CAAC,oBAAoB;AAAA,MAC3B,IAAI;AAAA,MACJ,aAAa;AAAA,QACT,IAAI;AAAA,QACJ,MAAM,CAAC,aAAa;AAAA,QACpB,MAAM;AAAA,QACN,aACI;AAAA,QACJ,UAAU;AAAA,UACN,WACI;AAAA,QACR;AAAA,QACA,OAAO;AAAA,UACH,IAAI;AAAA,UACJ,MAAM;AAAA,QACV;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,OAAO,CAAC;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf;AAAA,IACA,YAAY;AAAA,IACZ,UAAU;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,yBAAyB;AAAA,IACzB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,MACA,CAAC,MAAO;AAAA,IACR,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,QAEI,MAAM;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,iBAAiB;AAAA,UACb,OAAO;AAAA,UACP,YAAY;AAAA,YACR,SAAS;AAAA,cACL,OAAO;AAAA,cACP,SAAS;AAAA,YACb;AAAA,YACA,SAAS;AAAA,cACL,OAAO;AAAA,cACP,YAAY;AAAA,gBACR,iBAAiB;AAAA,kBACb,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,iBAAiB;AAAA,kBACb,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,cACJ;AAAA,YACJ;AAAA,YACA,OAAO;AAAA,cACH,OAAO;AAAA,cACP,SAAS;AAAA,YACb;AAAA,YACA,aAAa;AAAA,cACT,OAAO;AAAA,cACP,cAAc;AAAA,cACd,YAAY;AAAA,gBACR,MAAM;AAAA,kBACF,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,OAAO;AAAA,kBACH,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,KAAK;AAAA,kBACD,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,cACJ;AAAA,YACJ;AAAA,YACA,SAAS;AAAA,cACL,OAAO;AAAA,YACX;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,MAAM,CAAC,wBAAwB,uBAAuB,iBAAiB;AAAA,IACvE,QAAQ;AAAA,IACR;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI;AAAA,QACJ,MAAM,CAAC,aAAa;AAAA,QACpB;AAAA,QACA,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,UAAU;AAAA,UACN,WAAW;AAAA,QACf;AAAA,MACJ;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,EACJ;AAAA,EACA,SAAS,CAAC;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf;AAAA,IACA,YAAY;AAAA,IACZ,UAAU;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,yBAAyB;AAAA,IACzB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACA,CAAC,MAAO;AAAA,IACR,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,QAEI,MAAM;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,iBAAiB;AAAA,UACb,OAAO;AAAA,UACP,YAAY;AAAA,YACR,SAAS;AAAA,cACL,OAAO;AAAA,cACP,SAAS;AAAA,YACb;AAAA,YACA,SAAS;AAAA,cACL,OAAO;AAAA,cACP,YAAY;AAAA,gBACR,iBAAiB;AAAA,kBACb,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,iBAAiB;AAAA,kBACb,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,cACJ;AAAA,YACJ;AAAA,YACA,OAAO;AAAA,cACH,OAAO;AAAA,cACP,SAAS;AAAA,YACb;AAAA,YACA,aAAa;AAAA,cACT,OAAO;AAAA,cACP,cAAc;AAAA,cACd,YAAY;AAAA,gBACR,MAAM;AAAA,kBACF,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,OAAO;AAAA,kBACH,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,KAAK;AAAA,kBACD,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,cACJ;AAAA,YACJ;AAAA,YACA,SAAS;AAAA,cACL,OAAO;AAAA,YACX;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,MACA;AAAA,QACI,MAAM;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,SAAS;AAAA,UACL,OAAO;AAAA,UACP,YAAY;AAAA,YACR,SAAS;AAAA,cACL,OAAO;AAAA,cACP,YAAY;AAAA,gBACR,WAAW;AAAA,kBACP,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,aAAa;AAAA,kBACT,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,iBAAiB;AAAA,kBACb,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,oBAAoB;AAAA,kBAChB,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,iBAAiB;AAAA,kBACb,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,gBACA,qBAAqB;AAAA,kBACjB,OAAO;AAAA,kBACP,SAAS;AAAA,gBACb;AAAA,cACJ;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,MAAM,CAAC,wBAAwB,uBAAuB,mBAAmB,SAAS;AAAA,IAClF,QAAQ;AAAA,IACR;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI;AAAA,QACJ,MAAM,CAAC,aAAa;AAAA,QACpB;AAAA,QACA,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,UAAU;AAAA,UACN,WAAW;AAAA,QACf;AAAA,MACJ;AAAA,IACJ;AAAA,OACI,UACE;AAAA,MACE,SAAS;AAAA,QACL,MAAM,CAAC,SAAS;AAAA,WACb;AAAA,WACC,QAAQ,MACN,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,MAAM,QAAQ,IAAI,EAAE,IACpD,CAAC;AAAA,MACX;AAAA,IACJ,IACE,CAAC;AAAA,IACP;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACJ;AACJ;;;AC9UO,IAAM,uBAAuB,6BAAwB;AACxD,SAAO;AAAA,IACH,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa;AAAA,IACb,SAAS;AAAA,MACL,eAAe,CAAC,YAAY,OAAO,EAAE,MAAM,QAAQ,MAAM;AACrD,cAAM,MAAM,KAAK,OAAO,WAAW,GAAG,IAAI;AAE1C,YAAI,CAAC;AAAK,gBAAM,IAAI,MAAM,2BAA2B;AAErD,cAAM,WAAW;AAAA,UACb;AAAA,UACA,SAAS;AAAA,UACT,cAAc;AAAA,QAClB;AAEA,cAAM,EAAE,OAAO,YAAY,iBAAiB;AAE5C,YAAI,CAAE,SAAQ;AAAe,gBAAM,IAAI,MAAM,uBAAuB;AAEpE,eAAO,aAAa,MAAM,KAAK,aAAa,aAAa,CAAC;AAAA,MAC9D;AAAA,MACA,iBAAiB,OAAO,YAAY,YAAY,OAAO,CAAC,MAAM;AAC1D,cAAM,MAAM,MAAM,OAAO,WAAW,GAAG,IAAI;AAE3C,YAAI,CAAC;AAAK,gBAAM,IAAI,MAAM,2BAA2B;AAErD,eAAO;AAAA,UACH,YAAY,CAAC,wCAAwC;AAAA,UACrD,MAAM,CAAC,wBAAwB;AAAA,UAC/B,QAAQ;AAAA,UACR,sBAAsB;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ,GArCoC;",
|
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": {
|