@learncard/credential-library 2.0.3 → 2.0.5

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.
Files changed (74) hide show
  1. package/README.md +2 -1
  2. package/dist/bundles/index.d.ts +5 -0
  3. package/dist/bundles/index.d.ts.map +1 -0
  4. package/dist/bundles/student.d.ts +3 -0
  5. package/dist/bundles/student.d.ts.map +1 -0
  6. package/dist/bundles/types.d.ts +24 -0
  7. package/dist/bundles/types.d.ts.map +1 -0
  8. package/dist/credential-library.cjs.development.js +10865 -611
  9. package/dist/credential-library.cjs.development.js.map +4 -4
  10. package/dist/credential-library.cjs.production.min.js +11 -1
  11. package/dist/credential-library.cjs.production.min.js.map +4 -4
  12. package/dist/credential-library.esm.js +10854 -598
  13. package/dist/credential-library.esm.js.map +4 -4
  14. package/dist/fixtures/clr/achievement-id-associations.d.ts +3 -0
  15. package/dist/fixtures/clr/achievement-id-associations.d.ts.map +1 -0
  16. package/dist/fixtures/clr/employment-record.d.ts +8 -0
  17. package/dist/fixtures/clr/employment-record.d.ts.map +1 -0
  18. package/dist/fixtures/clr/licensing-regulatory-record.d.ts +8 -0
  19. package/dist/fixtures/clr/licensing-regulatory-record.d.ts.map +1 -0
  20. package/dist/fixtures/clr/military-training-record.d.ts +8 -0
  21. package/dist/fixtures/clr/military-training-record.d.ts.map +1 -0
  22. package/dist/fixtures/clr/mixed-career-record.d.ts +8 -0
  23. package/dist/fixtures/clr/mixed-career-record.d.ts.map +1 -0
  24. package/dist/fixtures/clr/professional-organization-record.d.ts +8 -0
  25. package/dist/fixtures/clr/professional-organization-record.d.ts.map +1 -0
  26. package/dist/fixtures/clr/provisional-transcript.d.ts +7 -1
  27. package/dist/fixtures/clr/provisional-transcript.d.ts.map +1 -1
  28. package/dist/fixtures/clr/student-official-academic-transcript.d.ts +3 -0
  29. package/dist/fixtures/clr/student-official-academic-transcript.d.ts.map +1 -0
  30. package/dist/fixtures/clr/training-provider-record.d.ts +8 -0
  31. package/dist/fixtures/clr/training-provider-record.d.ts.map +1 -0
  32. package/dist/fixtures/index.d.ts +12 -1
  33. package/dist/fixtures/index.d.ts.map +1 -1
  34. package/dist/fixtures/obv3/rubric-aligned-badge.d.ts +3 -0
  35. package/dist/fixtures/obv3/rubric-aligned-badge.d.ts.map +1 -0
  36. package/dist/fixtures/obv3/student-additional-credentials.d.ts +3 -0
  37. package/dist/fixtures/obv3/student-additional-credentials.d.ts.map +1 -0
  38. package/dist/fixtures/obv3/student-sample-badges.d.ts +586 -0
  39. package/dist/fixtures/obv3/student-sample-badges.d.ts.map +1 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/prepare.d.ts +0 -18
  43. package/dist/prepare.d.ts.map +1 -1
  44. package/package.json +6 -6
  45. package/src/__tests__/bundles.test.ts +234 -0
  46. package/src/__tests__/clr-non-academic.test.ts +220 -0
  47. package/src/__tests__/registry.test.ts +74 -0
  48. package/src/bundles/index.ts +19 -0
  49. package/src/bundles/student.ts +251 -0
  50. package/src/bundles/types.ts +25 -0
  51. package/src/fixtures/clr/README.md +142 -0
  52. package/src/fixtures/clr/achievement-id-associations.ts +342 -0
  53. package/src/fixtures/clr/employment-record.ts +487 -0
  54. package/src/fixtures/clr/licensing-regulatory-record.ts +388 -0
  55. package/src/fixtures/clr/military-training-record.ts +468 -0
  56. package/src/fixtures/clr/mixed-career-record.ts +814 -0
  57. package/src/fixtures/clr/professional-organization-record.ts +403 -0
  58. package/src/fixtures/clr/provisional-transcript.ts +16 -3
  59. package/src/fixtures/clr/student-official-academic-transcript.ts +3202 -0
  60. package/src/fixtures/clr/training-provider-record.ts +510 -0
  61. package/src/fixtures/index.ts +44 -0
  62. package/src/fixtures/obv3/rubric-aligned-badge.ts +105 -0
  63. package/src/fixtures/obv3/student-additional-credentials.ts +3912 -0
  64. package/src/fixtures/obv3/student-sample-badges.ts +424 -0
  65. package/src/index.ts +2 -0
  66. package/src/prepare.ts +70 -11
  67. package/dist/__tests__/docs-json.test.d.ts +0 -2
  68. package/dist/__tests__/docs-json.test.d.ts.map +0 -1
  69. package/dist/__tests__/issuance.test.d.ts +0 -2
  70. package/dist/__tests__/issuance.test.d.ts.map +0 -1
  71. package/dist/__tests__/registry.test.d.ts +0 -2
  72. package/dist/__tests__/registry.test.d.ts.map +0 -1
  73. package/dist/__tests__/sd-jwt-vc.test.d.ts +0 -2
  74. package/dist/__tests__/sd-jwt-vc.test.d.ts.map +0 -1
@@ -0,0 +1,105 @@
1
+ import { UnsignedAchievementCredentialValidator } from '@learncard/types';
2
+
3
+ import type { CredentialFixture } from '../../types';
4
+
5
+ const RESULT_DESCRIPTION_ID = 'urn:uuid:7cc1519e-87f4-4cae-b7a5-786ec15db769';
6
+ const PROFICIENT_LEVEL_ID = 'urn:uuid:eb753d86-9277-478d-b9c4-3d589c82aff8';
7
+
8
+ export const obv3RubricAlignedBadge: CredentialFixture = {
9
+ id: 'obv3/rubric-aligned-badge',
10
+ name: 'Rubric-Aligned OBv3 Badge',
11
+ description:
12
+ 'Open Badges v3 credential with rubric levels, an achieved level, and a CTDL result alignment',
13
+ spec: 'obv3',
14
+ profile: 'badge',
15
+ features: ['alignment', 'results'],
16
+ source: 'synthetic',
17
+ signed: false,
18
+ validity: 'valid',
19
+ validator: UnsignedAchievementCredentialValidator,
20
+ tags: ['rubric', 'open-skill-alignment'],
21
+
22
+ credential: {
23
+ '@context': [
24
+ 'https://www.w3.org/ns/credentials/v2',
25
+ 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',
26
+ ],
27
+ id: 'urn:uuid:b3e5babd-f68e-4095-979d-3e910a444e73',
28
+ type: ['VerifiableCredential', 'OpenBadgeCredential'],
29
+ name: 'Applied Data Analysis',
30
+ description: 'Recognizes applied data analysis at the proficient rubric level.',
31
+ issuer: {
32
+ id: 'did:example:issuer123',
33
+ type: ['Profile'],
34
+ name: 'Example Skills Institute',
35
+ url: 'https://example.org',
36
+ },
37
+ validFrom: '2026-01-15T00:00:00Z',
38
+ credentialSubject: {
39
+ id: 'did:example:learner456',
40
+ type: ['AchievementSubject'],
41
+ achievement: {
42
+ id: 'urn:uuid:e736a10c-aa36-466f-99af-e52440f32d8e',
43
+ type: ['Achievement'],
44
+ achievementType: 'Badge',
45
+ name: 'Applied Data Analysis',
46
+ description: 'Analyze a real-world dataset and communicate supported conclusions.',
47
+ criteria: {
48
+ narrative:
49
+ 'Submit an analysis that meets at least the proficient rubric level.',
50
+ },
51
+ resultDescription: [
52
+ {
53
+ id: RESULT_DESCRIPTION_ID,
54
+ type: ['ResultDescription'],
55
+ name: 'Data Analysis Rubric',
56
+ resultType: 'RubricCriterionLevel',
57
+ valueMin: '1',
58
+ valueMax: '4',
59
+ rubricCriterionLevel: [
60
+ {
61
+ id: 'urn:uuid:a4993932-d453-4417-b5aa-52b1bc1ea80e',
62
+ type: ['RubricCriterionLevel'],
63
+ name: 'Developing',
64
+ level: '2',
65
+ points: '2',
66
+ },
67
+ {
68
+ id: PROFICIENT_LEVEL_ID,
69
+ type: ['RubricCriterionLevel'],
70
+ name: 'Proficient',
71
+ level: '3',
72
+ points: '3',
73
+ },
74
+ {
75
+ id: 'urn:uuid:217fc04f-383b-48a0-a2e5-1cf1b016f7d4',
76
+ type: ['RubricCriterionLevel'],
77
+ name: 'Advanced',
78
+ level: '4',
79
+ points: '4',
80
+ },
81
+ ],
82
+ alignment: [
83
+ {
84
+ type: ['Alignment'],
85
+ targetName: 'Analyze data using appropriate methods',
86
+ targetUrl:
87
+ 'https://credentialengineregistry.org/resources/ce-2f5dce8d-29ad-40cb-a9e1-5a5517ff79a7',
88
+ targetType: 'CTDL',
89
+ targetFramework: 'Credential Engine Registry',
90
+ },
91
+ ],
92
+ },
93
+ ],
94
+ },
95
+ result: [
96
+ {
97
+ type: ['Result'],
98
+ resultDescription: RESULT_DESCRIPTION_ID,
99
+ value: '3',
100
+ achievedLevel: PROFICIENT_LEVEL_ID,
101
+ },
102
+ ],
103
+ },
104
+ },
105
+ };