@digitalcredentials/ssi
Advanced tools
+143
| /*! | ||
| * Open Badges v3.0 interfaces | ||
| * @see https://www.imsglobal.org/spec/ob/v3p0/ | ||
| */ | ||
| import { IVerifiableCredential } from './VCDM.js'; | ||
| import { ILdType, ILinkedDataObject } from './LD.js'; | ||
| /** | ||
| * OBv3 Credential (Assertion) | ||
| * Extends W3C VC with an OBv3-specific credentialSubject | ||
| */ | ||
| export interface IOpenBadgeCredentialV3 extends IVerifiableCredential { | ||
| credentialSubject: IOpenBadgeSubject | IOpenBadgeSubject[]; | ||
| } | ||
| /** | ||
| * OBv3 CredentialSubject | ||
| * https://www.imsglobal.org/spec/ob/v3p0/#credentialsubject | ||
| */ | ||
| export interface IOpenBadgeSubject extends ILinkedDataObject { | ||
| achievement: IAchievement | string; | ||
| evidence?: IOBv3Evidence | IOBv3Evidence[]; | ||
| [x: string]: any; | ||
| } | ||
| /** | ||
| * OBv3 Achievement | ||
| * https://www.imsglobal.org/spec/ob/v3p0/#achievement | ||
| */ | ||
| export interface IAchievement extends ILinkedDataObject { | ||
| id: string; | ||
| type: ILdType; | ||
| name: string; | ||
| description: string; | ||
| criteria: ICriteria; | ||
| alignment?: IAlignment[]; | ||
| achievementType?: string; | ||
| creator?: IProfile | string; | ||
| creditsAvailable?: number; | ||
| endorsement?: IEndorsementCredential[]; | ||
| endorsementJwt?: string[]; | ||
| fieldOfStudy?: string; | ||
| humanCode?: string; | ||
| image?: IImage; | ||
| inLanguage?: string; | ||
| otherIdentifier?: IIdentifierEntry[]; | ||
| related?: IRelated[]; | ||
| resultDescription?: IResultDescription[]; | ||
| specialization?: string; | ||
| tag?: string[]; | ||
| version?: string; | ||
| [x: string]: any; | ||
| } | ||
| /** Evidence supporting the achievement */ | ||
| export interface IOBv3Evidence extends ILinkedDataObject { | ||
| id?: string; | ||
| type: ILdType; | ||
| name?: string; | ||
| description?: string; | ||
| url?: string; | ||
| [x: string]: any; | ||
| } | ||
| /** Criteria for the achievement */ | ||
| export interface ICriteria { | ||
| id?: string; | ||
| narrative?: string; | ||
| [x: string]: any; | ||
| } | ||
| /** Alignment between achievement and framework */ | ||
| export interface IAlignment { | ||
| type: ILdType; | ||
| targetName: string; | ||
| targetUrl: string; | ||
| targetCode?: string; | ||
| targetDescription?: string; | ||
| targetFramework?: string; | ||
| targetType?: string; | ||
| [x: string]: any; | ||
| } | ||
| /** Simple image metadata */ | ||
| export interface IImage { | ||
| id: string; | ||
| type: 'Image'; | ||
| caption?: string; | ||
| } | ||
| /** Profile (issuer/creator) */ | ||
| export interface IProfile { | ||
| id: string; | ||
| type: ILdType; | ||
| name?: string; | ||
| url?: string; | ||
| description?: string; | ||
| [x: string]: any; | ||
| } | ||
| /** EndorsementCredential */ | ||
| export interface IEndorsementCredential extends IVerifiableCredential { | ||
| type: ILdType; | ||
| name?: string; | ||
| description?: string; | ||
| credentialSubject: IEndorsementSubject; | ||
| } | ||
| /** EndorsementSubject */ | ||
| export interface IEndorsementSubject { | ||
| id: string; | ||
| type: ILdType; | ||
| endorsementComment?: string; | ||
| [x: string]: any; | ||
| } | ||
| /** Identifier entry */ | ||
| export interface IIdentifierEntry { | ||
| type: 'IdentifierEntry'; | ||
| identifier: string; | ||
| identifierType: string; | ||
| } | ||
| /** Related achievement */ | ||
| export interface IRelated { | ||
| id: string; | ||
| type: ILdType; | ||
| inLanguage?: string; | ||
| version?: string; | ||
| } | ||
| /** ResultDescription */ | ||
| export interface IResultDescription { | ||
| id: string; | ||
| type: ILdType; | ||
| name: string; | ||
| resultType: string; | ||
| alignment?: IAlignment[]; | ||
| allowedValue?: string[]; | ||
| requiredLevel?: string; | ||
| requiredValue?: string; | ||
| rubricCriterionLevel?: IRubricCriterionLevel[]; | ||
| valueMax?: string; | ||
| valueMin?: string; | ||
| } | ||
| /** RubricCriterionLevel */ | ||
| export interface IRubricCriterionLevel { | ||
| id: string; | ||
| type: ILdType; | ||
| name: string; | ||
| description?: string; | ||
| level?: string; | ||
| points?: string; | ||
| alignment?: IAlignment[]; | ||
| } | ||
| //# sourceMappingURL=OBv3.d.ts.map |
| {"version":3,"file":"OBv3.d.ts","sourceRoot":"","sources":["../src/OBv3.ts"],"names":[],"mappings":"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"} |
| /*! | ||
| * Open Badges v3.0 interfaces | ||
| * @see https://www.imsglobal.org/spec/ob/v3p0/ | ||
| */ | ||
| export {}; |
+1
-0
@@ -8,2 +8,3 @@ /*! | ||
| export * from './VCDM.js'; | ||
| export * from './OBv3.js'; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"} |
+1
-0
@@ -8,1 +8,2 @@ /*! | ||
| export * from './VCDM.js'; | ||
| export * from './OBv3.js'; |
+1
-1
| { | ||
| "name": "@digitalcredentials/ssi", | ||
| "description": "Typescript types for the W3C Verifiable Credentials Data Model.", | ||
| "version": "5.0.0", | ||
| "version": "5.1.0", | ||
| "scripts": { | ||
@@ -6,0 +6,0 @@ "build": "npm run clear && tsc -d", |
+7
-0
@@ -90,2 +90,9 @@ # SSI Types and Data Model _(@digitalcredentials/ssi)_ | ||
| ### Exported Types/Interfaces | ||
| * `IVerifiableCredential` and `IVerifiablePresentation` | ||
| * `IOpenBadgeCredentialV3` (for OBv3 VCs) | ||
| * `IDidCoreDocument` and its children, `IDidDocument_v1_0` and `IDidDocument_v1_1` | ||
| * ... others (see individual exports in `/src`) | ||
| ## Contribute | ||
@@ -92,0 +99,0 @@ |
26943
38.95%21
16.67%392
61.32%107
7%