@learncard/vc-templates-plugin 1.0.67 → 1.0.68
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/templates.d.ts.map +1 -1
- package/dist/types.d.ts +32 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vc-templates-plugin.cjs.development.js +18 -6
- 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 +18 -6
- package/dist/vc-templates-plugin.esm.js.map +2 -2
- package/package.json +1 -1
package/dist/templates.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiC,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,iCAAiC;AACjC,eAAO,MAAM,YAAY,EAAE;KACtB,GAAG,IAAI,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU;
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiC,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,iCAAiC;AACjC,eAAO,MAAM,YAAY,EAAE;KACtB,GAAG,IAAI,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU;CA2PrF,CAAC"}
|
package/dist/types.d.ts
CHANGED
@@ -67,6 +67,35 @@ export type AddressSpec = {
|
|
67
67
|
longitude?: number | undefined;
|
68
68
|
};
|
69
69
|
};
|
70
|
+
export type Source = {
|
71
|
+
type: string[];
|
72
|
+
id?: string;
|
73
|
+
name?: string;
|
74
|
+
description?: string;
|
75
|
+
url?: string;
|
76
|
+
image?: string;
|
77
|
+
address?: {
|
78
|
+
type?: string[];
|
79
|
+
addressLocality?: string;
|
80
|
+
addressRegion?: string;
|
81
|
+
addressCountry?: string;
|
82
|
+
};
|
83
|
+
};
|
84
|
+
export type Alignment = {
|
85
|
+
type: string[];
|
86
|
+
targetName?: string;
|
87
|
+
targetType?: string;
|
88
|
+
targetFramework?: string;
|
89
|
+
};
|
90
|
+
export interface Evidence {
|
91
|
+
id?: string;
|
92
|
+
type: [string, ...string[]];
|
93
|
+
name?: string;
|
94
|
+
narrative?: string;
|
95
|
+
description?: string;
|
96
|
+
genre?: string;
|
97
|
+
audience?: string;
|
98
|
+
}
|
70
99
|
export type BoostTemplate = {
|
71
100
|
did?: string;
|
72
101
|
subject?: string;
|
@@ -88,6 +117,9 @@ export type BoostTemplate = {
|
|
88
117
|
boostID?: BoostID;
|
89
118
|
address?: AddressSpec;
|
90
119
|
groupID?: string;
|
120
|
+
evidence?: Evidence[];
|
121
|
+
alignment?: Alignment[];
|
122
|
+
source?: Source;
|
91
123
|
};
|
92
124
|
/** @group VC Templates Plugin */
|
93
125
|
export type VcTemplates = {
|
package/dist/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
@@ -127,7 +127,10 @@ var VC_TEMPLATES = {
|
|
127
127
|
display,
|
128
128
|
familyTitles,
|
129
129
|
skills,
|
130
|
-
groupID = ""
|
130
|
+
groupID = "",
|
131
|
+
evidence,
|
132
|
+
alignment,
|
133
|
+
source
|
131
134
|
} = {}, crypto) => ({
|
132
135
|
"@context": [
|
133
136
|
"https://www.w3.org/ns/credentials/v2",
|
@@ -152,9 +155,12 @@ var VC_TEMPLATES = {
|
|
152
155
|
image: achievementImage,
|
153
156
|
criteria: {
|
154
157
|
narrative: achievementNarrative
|
155
|
-
}
|
156
|
-
|
158
|
+
},
|
159
|
+
...alignment && { alignment }
|
160
|
+
},
|
161
|
+
...source && { source }
|
157
162
|
},
|
163
|
+
...Array.isArray(evidence) && evidence.length > 0 && { evidence },
|
158
164
|
display,
|
159
165
|
familyTitles,
|
160
166
|
image: boostImage,
|
@@ -181,7 +187,10 @@ var VC_TEMPLATES = {
|
|
181
187
|
display,
|
182
188
|
familyTitles,
|
183
189
|
boostID,
|
184
|
-
groupID = ""
|
190
|
+
groupID = "",
|
191
|
+
evidence,
|
192
|
+
alignment,
|
193
|
+
source
|
185
194
|
} = {}, crypto) => ({
|
186
195
|
"@context": [
|
187
196
|
"https://www.w3.org/ns/credentials/v2",
|
@@ -207,9 +216,12 @@ var VC_TEMPLATES = {
|
|
207
216
|
image: achievementImage,
|
208
217
|
criteria: {
|
209
218
|
narrative: achievementNarrative
|
210
|
-
}
|
211
|
-
|
219
|
+
},
|
220
|
+
...alignment && { alignment }
|
221
|
+
},
|
222
|
+
...source && { source }
|
212
223
|
},
|
224
|
+
...Array.isArray(evidence) && evidence.length > 0 && { evidence },
|
213
225
|
...address ? {
|
214
226
|
address: {
|
215
227
|
type: ["Address"],
|
@@ -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: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\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 } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\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:${crypto.randomUUID()}`,\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:${crypto.randomUUID()}`,\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 {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 familyTitles,\n skills,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.2.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\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 familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\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 ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\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: new Date().toISOString(),\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](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\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/ns/credentials/v2'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,eAET;AAAA,EACA,OAAO,CACH;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY,CAAC,sCAAsC;AAAA,IACnD,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,MAAM,CAAC,sBAAsB;AAAA,IAC7B,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,mBAAmB,EAAE,IAAI,QAAQ;AAAA,EACrC;AAAA,EACA,aAAa,CACT;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,oBAAoB;AAAA,IACpB,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACiC;AAAA,IACjC,YAAY;AAAA,MACR;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,MAAM,CAAC,wBAAwB,qBAAqB;AAAA,IACpD,QAAQ,EAAE,IAAI,IAAI;AAAA,IAClB,WAAW;AAAA,IACX;AAAA,IACA,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI,YAAY,OAAO,WAAW;AAAA,QAClC,MAAM,CAAC,aAAa;AAAA,QACpB,UAAU,EAAE,WAAW,kBAAkB;AAAA,QACzC;AAAA,QACA,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,MAAM,CACF;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,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,YAAY,OAAO,WAAW;AAAA,QAClC,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,CACH;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,yBAAyB;AAAA,IACzB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,
|
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: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\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 } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\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:${crypto.randomUUID()}`,\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:${crypto.randomUUID()}`,\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 {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 familyTitles,\n skills,\n groupID = '',\n evidence,\n alignment,\n source,\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.2.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n ...(alignment && { alignment }),\n },\n ...(source && { source }),\n },\n ...(Array.isArray(evidence) && evidence.length > 0 && { evidence }),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n evidence,\n alignment,\n source,\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n ...(alignment && { alignment }),\n },\n ...(source && { source }),\n },\n ...(Array.isArray(evidence) && evidence.length > 0 && { evidence }),\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\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: new Date().toISOString(),\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](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\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/ns/credentials/v2'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,eAET;AAAA,EACA,OAAO,CACH;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY,CAAC,sCAAsC;AAAA,IACnD,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,MAAM,CAAC,sBAAsB;AAAA,IAC7B,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,mBAAmB,EAAE,IAAI,QAAQ;AAAA,EACrC;AAAA,EACA,aAAa,CACT;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,oBAAoB;AAAA,IACpB,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACiC;AAAA,IACjC,YAAY;AAAA,MACR;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,MAAM,CAAC,wBAAwB,qBAAqB;AAAA,IACpD,QAAQ,EAAE,IAAI,IAAI;AAAA,IAClB,WAAW;AAAA,IACX;AAAA,IACA,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI,YAAY,OAAO,WAAW;AAAA,QAClC,MAAM,CAAC,aAAa;AAAA,QACpB,UAAU,EAAE,WAAW,kBAAkB;AAAA,QACzC;AAAA,QACA,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,MAAM,CACF;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,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,YAAY,OAAO,WAAW;AAAA,QAClC,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,CACH;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,yBAAyB;AAAA,IACzB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA,MAAM,CAAC,wBAAwB,uBAAuB,iBAAiB;AAAA,IACvE,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,QAAQ,EAAE,IAAI,IAAI;AAAA,IAClB,WAAW;AAAA,IACX,GAAI,kBAAkB,EAAE,YAAY,eAAe;AAAA,IACnD,MAAM;AAAA,IACN,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI,iBAAiB,YAAY,OAAO,WAAW;AAAA,QACnD,MAAM,CAAC,aAAa;AAAA,QACpB;AAAA,QACA,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,UAAU;AAAA,UACN,WAAW;AAAA,QACf;AAAA,QACA,GAAI,aAAa,EAAE,UAAU;AAAA,MACjC;AAAA,MACA,GAAI,UAAU,EAAE,OAAO;AAAA,IAC3B;AAAA,IACA,GAAI,MAAM,QAAQ,QAAQ,KAAK,SAAS,SAAS,KAAK,EAAE,SAAS;AAAA,IACjE;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,SAAS,CACL;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,yBAAyB;AAAA,IACzB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA,MAAM,CAAC,wBAAwB,uBAAuB,mBAAmB,SAAS;AAAA,IAClF,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,QAAQ,EAAE,IAAI,IAAI;AAAA,IAClB,WAAW;AAAA,IACX,GAAI,kBAAkB,EAAE,YAAY,eAAe;AAAA,IACnD,MAAM;AAAA,IACN,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI,iBAAiB,YAAY,OAAO,WAAW;AAAA,QACnD,MAAM,CAAC,aAAa;AAAA,QACpB;AAAA,QACA,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QACP,UAAU;AAAA,UACN,WAAW;AAAA,QACf;AAAA,QACA,GAAI,aAAa,EAAE,UAAU;AAAA,MACjC;AAAA,MACA,GAAI,UAAU,EAAE,OAAO;AAAA,IAC3B;AAAA,IACA,GAAI,MAAM,QAAQ,QAAQ,KAAK,SAAS,SAAS,KAAK,EAAE,SAAS;AAAA,IACjE,GAAI,UACE;AAAA,MACI,SAAS;AAAA,QACL,MAAM,CAAC,SAAS;AAAA,QAChB,GAAG;AAAA,QACH,GAAI,QAAQ,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,GAAG,QAAQ,IAAI,EAAE,IAAI,CAAC;AAAA,MAC/E;AAAA,IACJ,IACA,CAAC;AAAA,IACP;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,UAAU,CACN;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe,IAAI,KAAK,EAAE,YAAY;AAAA,IACtC,SAAS,CAAC,MAAM;AAAA,EACpB,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY;AAAA,MACR;AAAA,MACA;AAAA,IACJ;AAAA,IACA,MAAM,CAAC,wBAAwB,oBAAoB;AAAA,IACnD,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,QAAQ,EAAE,IAAI,IAAI;AAAA,IAClB,WAAW;AAAA,IACX,mBAAmB,EAAE,IAAI,QAAQ;AAAA,IACjC,aAAa,EAAE,iBAAiB,OAAO;AAAA,EAC3C;AACJ;;;AC1PO,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,IAAI,KAAK,EAAE,YAAY;AAAA,QACzC;AAEA,cAAM,EAAE,OAAO,YAAY,aAAa,IAAI;AAE5C,YAAI,EAAE,QAAQ;AAAe,gBAAM,IAAI,MAAM,uBAAuB;AAEpE,eAAO,aAAa;AAAA,UAChB,EAAE,GAAG,UAAU,GAAG,aAAa;AAAA,UAC/B,WAAW,OAAO,OAAO;AAAA,QAC7B;AAAA,MACJ;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,sCAAsC;AAAA,UACnD,MAAM,CAAC,wBAAwB;AAAA,UAC/B,QAAQ;AAAA,UACR,sBAAsB;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ,GAxCoC;",
|
6
6
|
"names": []
|
7
7
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var
|
1
|
+
"use strict";var u=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var A=(t,e)=>u(t,"name",{value:e,configurable:!0});var S=(t,e)=>{for(var i in e)u(t,i,{get:e[i],enumerable:!0})},D=(t,e,i,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of I(e))!j.call(t,a)&&a!==i&&u(t,a,{get:()=>e[a],enumerable:!(d=F(e,a))||d.enumerable});return t};var B=t=>D(u({},"__esModule",{value:!0}),t);var E={};S(E,{getVCTemplatesPlugin:()=>V});module.exports=B(E);var C={basic:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={},d)=>({"@context":["https://www.w3.org/ns/credentials/v2"],id:`urn:uuid:${d.randomUUID()}`,type:["VerifiableCredential"],issuer:t,validFrom:i,credentialSubject:{id:e}}),achievement:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",name:i="Teamwork Badge",achievementName:d="Teamwork",description:a="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:l="2020-08-19T21:41:50Z"}={},r)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json"],id:`urn:uuid:${r.randomUUID()}`,type:["VerifiableCredential","OpenBadgeCredential"],issuer:{id:t},validFrom:l,name:i,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:`urn:uuid:${r.randomUUID()}`,type:["Achievement"],criteria:{narrative:n},description:a,name:d}}}),jff2:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z"}={},d)=>({"@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:${d.randomUUID()}`,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:${d.randomUUID()}`,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:d,boostName:a="Example Boost",boostImage:n,achievementId:l,achievementType:r="Influencer",achievementName:g="Awesome Badge",achievementDescription:b="Awesome People Earn Awesome Badge",achievementNarrative:w="Earned by being awesome.",achievementImage:h="",attachments:s,display:f,familyTitles:v,skills:y,groupID:x="",evidence:c,alignment:p,source:o}={},m)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json","https://ctx.learncard.com/boosts/1.0.2.json"],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential"],id:`urn:uuid:${m.randomUUID()}`,issuer:{id:t},validFrom:i,...d&&{validUntil:d},name:a,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:l??`urn:uuid:${m.randomUUID()}`,type:["Achievement"],achievementType:r,name:g,description:b,image:h,criteria:{narrative:w},...p&&{alignment:p}},...o&&{source:o}},...Array.isArray(c)&&c.length>0&&{evidence:c},display:f,familyTitles:v,image:n,attachments:s,skills:y,groupID:x}),boostID:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i="2020-08-19T21:41:50Z",expirationDate:d,boostName:a="Example Boost",boostImage:n,achievementId:l,achievementType:r="Influencer",achievementName:g="Awesome Badge",achievementDescription:b="Awesome People Earn Awesome Badge",achievementNarrative:w="Earned by being awesome.",achievementImage:h="",address:s,attachments:f,skills:v,display:y,familyTitles:x,boostID:c,groupID:p="",evidence:o,alignment:m,source:T}={},U)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json","https://ctx.learncard.com/boosts/1.0.1.json","https://ctx.learncard.com/boostIDs/1.0.0.json"],type:["VerifiableCredential","OpenBadgeCredential","BoostCredential","BoostID"],id:`urn:uuid:${U.randomUUID()}`,issuer:{id:t},validFrom:i,...d&&{validUntil:d},name:a,credentialSubject:{id:e,type:["AchievementSubject"],achievement:{id:l??`urn:uuid:${U.randomUUID()}`,type:["Achievement"],achievementType:r,name:g,description:b,image:h,criteria:{narrative:w},...m&&{alignment:m}},...T&&{source:T}},...Array.isArray(o)&&o.length>0&&{evidence:o},...s?{address:{type:["Address"],...s,...s.geo?{geo:{type:["GeoCoordinates"],...s.geo}}:{}}}:{},display:y,familyTitles:x,image:n,attachments:f,skills:v,boostID:c,groupID:p}),delegate:({did:t="did:example:d23dd687a7dc6787646f2eb98d0",subject:e="did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:i=new Date().toISOString(),access:d=["read"]}={},a)=>({"@context":["https://www.w3.org/ns/credentials/v2","https://ctx.learncard.com/delegates/1.0.0.json"],type:["VerifiableCredential","DelegateCredential"],id:`urn:uuid:${a.randomUUID()}`,issuer:{id:t},validFrom:i,credentialSubject:{id:e},permissions:{statementAccess:d}})};var V=A(()=>({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 d={did:i,subject:"did:example:d23dd687a7dc6787646f2eb98d0",issuanceDate:new Date().toISOString()},{type:a="basic",...n}=e;if(!(a in C))throw new Error("Invalid Test VC Type!");return C[a]({...d,...n},t.invoke.crypto())},newPresentation:async(t,e,i={})=>{let d=i?.did||t.id.did();if(!d)throw new Error("Could not get issuer did!");return{"@context":["https://www.w3.org/ns/credentials/v2"],type:["VerifiablePresentation"],holder:d,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: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\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 } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\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:${crypto.randomUUID()}`,\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:${crypto.randomUUID()}`,\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 {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 familyTitles,\n skills,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.2.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\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 familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\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 ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\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: new Date().toISOString(),\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](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\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/ns/credentials/v2'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
-
"mappings": "4dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GCKO,IAAMI,EAET,CACA,MAAO,CACH,CACI,IAAAC,EAAM,0CACN,QAAAC,EAAU,0CACV,aAAAC,EAAe,sBACnB,EAAI,CAAC,EACLC,KACE,CACF,WAAY,CAAC,sCAAsC,EACnD,GAAI,YAAYA,EAAO,WAAW,IAClC,KAAM,CAAC,sBAAsB,EAC7B,OAAQH,EACR,UAAWE,EACX,kBAAmB,CAAE,GAAID,CAAQ,CACrC,GACA,YAAa,CACT,CACI,IAAAD,EAAM,0CACN,QAAAC,EAAU,0CACV,KAAAG,EAAO,iBACP,gBAAAC,EAAkB,WAClB,YAAAC,EAAc,mGACd,kBAAAC,EAAoB,kHACpB,aAAAL,EAAe,sBACnB,EAAI,CAAC,EACLC,KACiC,CACjC,WAAY,CACR,uCACA,4DACJ,EACA,GAAI,YAAYA,EAAO,WAAW,IAClC,KAAM,CAAC,uBAAwB,qBAAqB,EACpD,OAAQ,CAAE,GAAIH,CAAI,EAClB,UAAWE,EACX,KAAAE,EACA,kBAAmB,CACf,GAAIH,EACJ,KAAM,CAAC,oBAAoB,EAC3B,YAAa,CACT,GAAI,YAAYE,EAAO,WAAW,IAClC,KAAM,CAAC,aAAa,EACpB,SAAU,CAAE,UAAWI,CAAkB,EACzC,YAAAD,EACA,KAAMD,CACV,CACJ,CACJ,GACA,KAAM,CACF,CACI,IAAAL,EAAM,0CACN,QAAAC,EAAU,0CACV,aAAAC,EAAe,sBACnB,EAAI,CAAC,EACLC,KACE,CACF,WAAY,CACR,yCACA,uDACA,kDACJ,EACA,GAAI,YAAYA,EAAO,WAAW,IAClC,KAAM,CAAC,uBAAwB,qBAAqB,EACpD,KAAM,2CACN,OAAQ,CACJ,KAAM,CAAC,SAAS,EAChB,GAAIH,EACJ,KAAM,4BACN,MAAO,CACH,GAAI,4EACJ,KAAM,OACV,CACJ,EACA,aAAcE,EACd,kBAAmB,CACf,KAAM,CAAC,oBAAoB,EAC3B,GAAID,EACJ,YAAa,CACT,GAAI,YAAYE,EAAO,WAAW,IAClC,KAAM,CAAC,aAAa,EACpB,KAAM,2CACN,YACI,+MACJ,SAAU,CACN,UACI,wZACR,EACA,MAAO,CACH,GAAI,8FACJ,KAAM,OACV,CACJ,CACJ,CACJ,GACA,MAAO,CACH,CACI,IAAAH,EAAM,0CACN,QAAAC,EAAU,0CACV,aAAAC,EAAe,uBACf,eAAAM,EACA,UAAAC,EAAY,gBACZ,WAAAC,EACA,cAAAC,EACA,gBAAAC,EAAkB,aAClB,gBAAAP,EAAkB,gBAClB,uBAAAQ,EAAyB,oCACzB,qBAAAC,EAAuB,2BACvB,iBAAAC,EAAmB,GACnB,YAAAC,EACA,QAAAC,EACA,aAAAC,EACA,OAAAC,EACA,QAAAC,EAAU,
|
6
|
-
"names": ["src_exports", "__export", "getVCTemplatesPlugin", "__toCommonJS", "VC_TEMPLATES", "did", "subject", "issuanceDate", "crypto", "name", "achievementName", "description", "criteriaNarrative", "expirationDate", "boostName", "boostImage", "achievementId", "achievementType", "achievementDescription", "achievementNarrative", "achievementImage", "attachments", "display", "familyTitles", "skills", "groupID", "address", "boostID", "access", "getVCTemplatesPlugin", "__name", "_learnCard", "args", "did", "defaults", "type", "functionArgs", "VC_TEMPLATES", "credential"]
|
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: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\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 } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\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:${crypto.randomUUID()}`,\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:${crypto.randomUUID()}`,\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 {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 familyTitles,\n skills,\n groupID = '',\n evidence,\n alignment,\n source,\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.2.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n ...(alignment && { alignment }),\n },\n ...(source && { source }),\n },\n ...(Array.isArray(evidence) && evidence.length > 0 && { evidence }),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n evidence,\n alignment,\n source,\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n ...(alignment && { alignment }),\n },\n ...(source && { source }),\n },\n ...(Array.isArray(evidence) && evidence.length > 0 && { evidence }),\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\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: new Date().toISOString(),\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](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\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/ns/credentials/v2'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
+
"mappings": "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",
|
6
|
+
"names": ["src_exports", "__export", "getVCTemplatesPlugin", "__toCommonJS", "VC_TEMPLATES", "did", "subject", "issuanceDate", "crypto", "name", "achievementName", "description", "criteriaNarrative", "expirationDate", "boostName", "boostImage", "achievementId", "achievementType", "achievementDescription", "achievementNarrative", "achievementImage", "attachments", "display", "familyTitles", "skills", "groupID", "evidence", "alignment", "source", "address", "boostID", "access", "getVCTemplatesPlugin", "__name", "_learnCard", "args", "did", "defaults", "type", "functionArgs", "VC_TEMPLATES", "credential"]
|
7
7
|
}
|
@@ -103,7 +103,10 @@ var VC_TEMPLATES = {
|
|
103
103
|
display,
|
104
104
|
familyTitles,
|
105
105
|
skills,
|
106
|
-
groupID = ""
|
106
|
+
groupID = "",
|
107
|
+
evidence,
|
108
|
+
alignment,
|
109
|
+
source
|
107
110
|
} = {}, crypto) => ({
|
108
111
|
"@context": [
|
109
112
|
"https://www.w3.org/ns/credentials/v2",
|
@@ -128,9 +131,12 @@ var VC_TEMPLATES = {
|
|
128
131
|
image: achievementImage,
|
129
132
|
criteria: {
|
130
133
|
narrative: achievementNarrative
|
131
|
-
}
|
132
|
-
|
134
|
+
},
|
135
|
+
...alignment && { alignment }
|
136
|
+
},
|
137
|
+
...source && { source }
|
133
138
|
},
|
139
|
+
...Array.isArray(evidence) && evidence.length > 0 && { evidence },
|
134
140
|
display,
|
135
141
|
familyTitles,
|
136
142
|
image: boostImage,
|
@@ -157,7 +163,10 @@ var VC_TEMPLATES = {
|
|
157
163
|
display,
|
158
164
|
familyTitles,
|
159
165
|
boostID,
|
160
|
-
groupID = ""
|
166
|
+
groupID = "",
|
167
|
+
evidence,
|
168
|
+
alignment,
|
169
|
+
source
|
161
170
|
} = {}, crypto) => ({
|
162
171
|
"@context": [
|
163
172
|
"https://www.w3.org/ns/credentials/v2",
|
@@ -183,9 +192,12 @@ var VC_TEMPLATES = {
|
|
183
192
|
image: achievementImage,
|
184
193
|
criteria: {
|
185
194
|
narrative: achievementNarrative
|
186
|
-
}
|
187
|
-
|
195
|
+
},
|
196
|
+
...alignment && { alignment }
|
197
|
+
},
|
198
|
+
...source && { source }
|
188
199
|
},
|
200
|
+
...Array.isArray(evidence) && evidence.length > 0 && { evidence },
|
189
201
|
...address ? {
|
190
202
|
address: {
|
191
203
|
type: ["Address"],
|
@@ -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: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\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 } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\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:${crypto.randomUUID()}`,\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:${crypto.randomUUID()}`,\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 {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 familyTitles,\n skills,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.2.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\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 familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\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 ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\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: new Date().toISOString(),\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](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\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/ns/credentials/v2'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n },\n };\n};\n"],
|
5
|
-
"mappings": ";;;;AAKO,IAAM,eAET;AAAA,EACA,OAAO,CACH;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY,CAAC,sCAAsC;AAAA,IACnD,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,MAAM,CAAC,sBAAsB;AAAA,IAC7B,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,mBAAmB,EAAE,IAAI,QAAQ;AAAA,EACrC;AAAA,EACA,aAAa,CACT;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,oBAAoB;AAAA,IACpB,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACiC;AAAA,IACjC,YAAY;AAAA,MACR;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,MAAM,CAAC,wBAAwB,qBAAqB;AAAA,IACpD,QAAQ,EAAE,IAAI,IAAI;AAAA,IAClB,WAAW;AAAA,IACX;AAAA,IACA,mBAAmB;AAAA,MACf,IAAI;AAAA,MACJ,MAAM,CAAC,oBAAoB;AAAA,MAC3B,aAAa;AAAA,QACT,IAAI,YAAY,OAAO,WAAW;AAAA,QAClC,MAAM,CAAC,aAAa;AAAA,QACpB,UAAU,EAAE,WAAW,kBAAkB;AAAA,QACzC;AAAA,QACA,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,MAAM,CACF;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,EACnB,IAAI,CAAC,GACL,YACE;AAAA,IACF,YAAY;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,IACA,IAAI,YAAY,OAAO,WAAW;AAAA,IAClC,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,YAAY,OAAO,WAAW;AAAA,QAClC,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,CACH;AAAA,IACI,MAAM;AAAA,IACN,UAAU;AAAA,IACV,eAAe;AAAA,IACf;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,yBAAyB;AAAA,IACzB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,
|
4
|
+
"sourcesContent": ["import { UnsignedVC, UnsignedAchievementCredential } from '@learncard/types';\n\nimport { VcTemplates } from './types';\n\n/** @group VC Templates Plugin */\nexport const VC_TEMPLATES: {\n [Key in keyof VcTemplates]: (args: VcTemplates[Key], crypto: Crypto) => UnsignedVC;\n} = {\n basic: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\n ) => ({\n '@context': ['https://www.w3.org/ns/credentials/v2'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential'],\n issuer: did,\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n }),\n achievement: (\n {\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 } = {},\n crypto\n ): UnsignedAchievementCredential => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n ],\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['VerifiableCredential', 'OpenBadgeCredential'],\n issuer: { id: did },\n validFrom: issuanceDate,\n name,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n criteria: { narrative: criteriaNarrative },\n description,\n name: achievementName,\n },\n },\n }),\n jff2: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n } = {},\n crypto\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:${crypto.randomUUID()}`,\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:${crypto.randomUUID()}`,\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 {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 familyTitles,\n skills,\n groupID = '',\n evidence,\n alignment,\n source,\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.2.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n ...(alignment && { alignment }),\n },\n ...(source && { source }),\n },\n ...(Array.isArray(evidence) && evidence.length > 0 && { evidence }),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n groupID,\n }),\n boostID: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = '2020-08-19T21:41:50Z',\n expirationDate,\n boostName = 'Example Boost',\n boostImage,\n achievementId,\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 skills,\n display,\n familyTitles,\n boostID,\n groupID = '',\n evidence,\n alignment,\n source,\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',\n 'https://ctx.learncard.com/boosts/1.0.1.json',\n 'https://ctx.learncard.com/boostIDs/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'OpenBadgeCredential', 'BoostCredential', 'BoostID'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n ...(expirationDate && { validUntil: expirationDate }),\n name: boostName,\n credentialSubject: {\n id: subject,\n type: ['AchievementSubject'],\n achievement: {\n id: achievementId ?? `urn:uuid:${crypto.randomUUID()}`,\n type: ['Achievement'],\n achievementType: achievementType,\n name: achievementName,\n description: achievementDescription,\n image: achievementImage,\n criteria: {\n narrative: achievementNarrative,\n },\n ...(alignment && { alignment }),\n },\n ...(source && { source }),\n },\n ...(Array.isArray(evidence) && evidence.length > 0 && { evidence }),\n ...(address\n ? {\n address: {\n type: ['Address'],\n ...address,\n ...(address.geo ? { geo: { type: ['GeoCoordinates'], ...address.geo } } : {}),\n },\n }\n : {}),\n display,\n familyTitles,\n image: boostImage,\n attachments,\n skills,\n boostID,\n groupID,\n }),\n delegate: (\n {\n did = 'did:example:d23dd687a7dc6787646f2eb98d0',\n subject = 'did:example:d23dd687a7dc6787646f2eb98d0',\n issuanceDate = new Date().toISOString(),\n access = ['read'],\n } = {},\n crypto\n ) => ({\n '@context': [\n 'https://www.w3.org/ns/credentials/v2',\n 'https://ctx.learncard.com/delegates/1.0.0.json',\n ],\n type: ['VerifiableCredential', 'DelegateCredential'],\n id: `urn:uuid:${crypto.randomUUID()}`,\n issuer: { id: did },\n validFrom: issuanceDate,\n credentialSubject: { id: subject },\n permissions: { statementAccess: access },\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: new Date().toISOString(),\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](\n { ...defaults, ...functionArgs },\n _learnCard.invoke.crypto()\n );\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/ns/credentials/v2'],\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
|
}
|