@bifold/oca 1.0.0

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 (165) hide show
  1. package/README.md +33 -0
  2. package/build/__tests__/remote.test.d.ts +1 -0
  3. package/build/__tests__/remote.test.js +162 -0
  4. package/build/constants.d.ts +4 -0
  5. package/build/constants.js +7 -0
  6. package/build/formatters/credential/CredentialFormatter.d.ts +8 -0
  7. package/build/formatters/credential/CredentialFormatter.js +32 -0
  8. package/build/formatters/credential/DisplayAttribute.d.ts +11 -0
  9. package/build/formatters/credential/DisplayAttribute.js +18 -0
  10. package/build/formatters/credential/LocalizedCredential.d.ts +13 -0
  11. package/build/formatters/credential/LocalizedCredential.js +57 -0
  12. package/build/formatters/credential/index.d.ts +4 -0
  13. package/build/formatters/credential/index.js +12 -0
  14. package/build/formatters/index.d.ts +4 -0
  15. package/build/formatters/index.js +12 -0
  16. package/build/index.d.ts +5 -0
  17. package/build/index.js +34 -0
  18. package/build/interfaces/data/base/BaseOverlayData.interface.d.ts +5 -0
  19. package/build/interfaces/data/base/BaseOverlayData.interface.js +2 -0
  20. package/build/interfaces/data/branding/BrandingOverlayData.interface.d.ts +12 -0
  21. package/build/interfaces/data/branding/BrandingOverlayData.interface.js +2 -0
  22. package/build/interfaces/data/branding/LegacyBrandingOverlayData.interface.d.ts +15 -0
  23. package/build/interfaces/data/branding/LegacyBrandingOverlayData.interface.js +2 -0
  24. package/build/interfaces/data/bundle/OverlayBundleData.interface.d.ts +6 -0
  25. package/build/interfaces/data/bundle/OverlayBundleData.interface.js +2 -0
  26. package/build/interfaces/data/capture-base/CaptureBaseData.interface.d.ts +7 -0
  27. package/build/interfaces/data/capture-base/CaptureBaseData.interface.js +2 -0
  28. package/build/interfaces/data/index.d.ts +12 -0
  29. package/build/interfaces/data/index.js +2 -0
  30. package/build/interfaces/data/semantic/CharacterEncodingOverlayData.interface.d.ts +6 -0
  31. package/build/interfaces/data/semantic/CharacterEncodingOverlayData.interface.js +2 -0
  32. package/build/interfaces/data/semantic/FormatOverlayData.interface.d.ts +4 -0
  33. package/build/interfaces/data/semantic/FormatOverlayData.interface.js +2 -0
  34. package/build/interfaces/data/semantic/InformationOverlayData.interface.d.ts +5 -0
  35. package/build/interfaces/data/semantic/InformationOverlayData.interface.js +2 -0
  36. package/build/interfaces/data/semantic/LabelOverlayData.interface.d.ts +7 -0
  37. package/build/interfaces/data/semantic/LabelOverlayData.interface.js +2 -0
  38. package/build/interfaces/data/semantic/MetaOverlayData.interface.d.ts +12 -0
  39. package/build/interfaces/data/semantic/MetaOverlayData.interface.js +2 -0
  40. package/build/interfaces/data/semantic/StandardOverlayData.interface.d.ts +5 -0
  41. package/build/interfaces/data/semantic/StandardOverlayData.interface.js +2 -0
  42. package/build/interfaces/index.d.ts +2 -0
  43. package/build/interfaces/index.js +18 -0
  44. package/build/interfaces/overlay/OverlayBundleAttribute.interface.d.ts +9 -0
  45. package/build/interfaces/overlay/OverlayBundleAttribute.interface.js +2 -0
  46. package/build/interfaces/overlay/OverlayBundleMetadata.interface.d.ts +9 -0
  47. package/build/interfaces/overlay/OverlayBundleMetadata.interface.js +2 -0
  48. package/build/interfaces/overlay/index.d.ts +3 -0
  49. package/build/interfaces/overlay/index.js +2 -0
  50. package/build/legacy/index.d.ts +3 -0
  51. package/build/legacy/index.js +19 -0
  52. package/build/legacy/resolver/oca.d.ts +99 -0
  53. package/build/legacy/resolver/oca.js +239 -0
  54. package/build/legacy/resolver/record.d.ts +50 -0
  55. package/build/legacy/resolver/record.js +37 -0
  56. package/build/legacy/resolver/remote-oca.d.ts +186 -0
  57. package/build/legacy/resolver/remote-oca.js +536 -0
  58. package/build/types/OverlayTypeMap.d.ts +5 -0
  59. package/build/types/OverlayTypeMap.js +25 -0
  60. package/build/types/TypeEnums.d.ts +19 -0
  61. package/build/types/TypeEnums.js +24 -0
  62. package/build/types/base/BaseOverlay.d.ts +8 -0
  63. package/build/types/base/BaseOverlay.js +28 -0
  64. package/build/types/branding/BrandingOverlay.d.ts +15 -0
  65. package/build/types/branding/BrandingOverlay.js +68 -0
  66. package/build/types/branding/LegacyBrandingOverlay.d.ts +18 -0
  67. package/build/types/branding/LegacyBrandingOverlay.js +51 -0
  68. package/build/types/bundle/OverlayBundle.d.ts +20 -0
  69. package/build/types/bundle/OverlayBundle.js +167 -0
  70. package/build/types/capture-base/CaptureBase.d.ts +10 -0
  71. package/build/types/capture-base/CaptureBase.js +30 -0
  72. package/build/types/index.d.ts +14 -0
  73. package/build/types/index.js +33 -0
  74. package/build/types/semantic/CharacterEncodingOverlay.d.ts +9 -0
  75. package/build/types/semantic/CharacterEncodingOverlay.js +43 -0
  76. package/build/types/semantic/FormatOverlay.d.ts +7 -0
  77. package/build/types/semantic/FormatOverlay.js +30 -0
  78. package/build/types/semantic/InformationOverlay.d.ts +8 -0
  79. package/build/types/semantic/InformationOverlay.js +31 -0
  80. package/build/types/semantic/LabelOverlay.d.ts +10 -0
  81. package/build/types/semantic/LabelOverlay.js +41 -0
  82. package/build/types/semantic/MetaOverlay.d.ts +15 -0
  83. package/build/types/semantic/MetaOverlay.js +54 -0
  84. package/build/types/semantic/StandardOverlay.d.ts +8 -0
  85. package/build/types/semantic/StandardOverlay.js +38 -0
  86. package/build/utils/color/generateColor.d.ts +2 -0
  87. package/build/utils/color/generateColor.js +11 -0
  88. package/build/utils/color/hashCode.d.ts +8 -0
  89. package/build/utils/color/hashCode.js +12 -0
  90. package/build/utils/color/hashToRGBA.d.ts +8 -0
  91. package/build/utils/color/hashToRGBA.js +23 -0
  92. package/build/utils/color/index.d.ts +5 -0
  93. package/build/utils/color/index.js +15 -0
  94. package/build/utils/color/luminanceForHexColor.d.ts +7 -0
  95. package/build/utils/color/luminanceForHexColor.js +18 -0
  96. package/build/utils/color/mulberry32.d.ts +9 -0
  97. package/build/utils/color/mulberry32.js +16 -0
  98. package/build/utils/color/textColorForBackground.d.ts +1 -0
  99. package/build/utils/color/textColorForBackground.js +24 -0
  100. package/build/utils/credential-definition.d.ts +1 -0
  101. package/build/utils/credential-definition.js +21 -0
  102. package/build/utils/index.d.ts +1 -0
  103. package/build/utils/index.js +17 -0
  104. package/build/utils/logger.d.ts +5 -0
  105. package/build/utils/logger.js +17 -0
  106. package/build/utils/schema.d.ts +4 -0
  107. package/build/utils/schema.js +19 -0
  108. package/package.json +53 -0
  109. package/src/__tests__/__snapshots__/remote.test.ts.snap +293 -0
  110. package/src/__tests__/fixtures/bundle.json +131 -0
  111. package/src/__tests__/fixtures/oca.json +4 -0
  112. package/src/__tests__/fixtures/ocabundles.json +142 -0
  113. package/src/__tests__/remote.test.ts +180 -0
  114. package/src/constants.ts +7 -0
  115. package/src/formatters/credential/CredentialFormatter.ts +20 -0
  116. package/src/formatters/credential/DisplayAttribute.ts +29 -0
  117. package/src/formatters/credential/LocalizedCredential.ts +53 -0
  118. package/src/formatters/credential/index.ts +5 -0
  119. package/src/formatters/index.ts +5 -0
  120. package/src/index.ts +5 -0
  121. package/src/interfaces/data/base/BaseOverlayData.interface.ts +5 -0
  122. package/src/interfaces/data/branding/BrandingOverlayData.interface.ts +13 -0
  123. package/src/interfaces/data/branding/LegacyBrandingOverlayData.interface.ts +16 -0
  124. package/src/interfaces/data/bundle/OverlayBundleData.interface.ts +7 -0
  125. package/src/interfaces/data/capture-base/CaptureBaseData.interface.ts +7 -0
  126. package/src/interfaces/data/index.ts +25 -0
  127. package/src/interfaces/data/semantic/CharacterEncodingOverlayData.interface.ts +8 -0
  128. package/src/interfaces/data/semantic/FormatOverlayData.interface.ts +5 -0
  129. package/src/interfaces/data/semantic/InformationOverlayData.interface.ts +6 -0
  130. package/src/interfaces/data/semantic/LabelOverlayData.interface.ts +8 -0
  131. package/src/interfaces/data/semantic/MetaOverlayData.interface.ts +13 -0
  132. package/src/interfaces/data/semantic/StandardOverlayData.interface.ts +7 -0
  133. package/src/interfaces/index.ts +2 -0
  134. package/src/interfaces/overlay/OverlayBundleAttribute.interface.ts +9 -0
  135. package/src/interfaces/overlay/OverlayBundleMetadata.interface.ts +9 -0
  136. package/src/interfaces/overlay/index.ts +4 -0
  137. package/src/legacy/index.ts +3 -0
  138. package/src/legacy/resolver/oca.ts +377 -0
  139. package/src/legacy/resolver/record.ts +81 -0
  140. package/src/legacy/resolver/remote-oca.ts +661 -0
  141. package/src/types/OverlayTypeMap.ts +25 -0
  142. package/src/types/TypeEnums.ts +20 -0
  143. package/src/types/base/BaseOverlay.ts +18 -0
  144. package/src/types/branding/BrandingOverlay.ts +61 -0
  145. package/src/types/branding/LegacyBrandingOverlay.ts +47 -0
  146. package/src/types/bundle/OverlayBundle.ts +203 -0
  147. package/src/types/capture-base/CaptureBase.ts +22 -0
  148. package/src/types/index.ts +30 -0
  149. package/src/types/semantic/CharacterEncodingOverlay.ts +30 -0
  150. package/src/types/semantic/FormatOverlay.ts +15 -0
  151. package/src/types/semantic/InformationOverlay.ts +18 -0
  152. package/src/types/semantic/LabelOverlay.ts +30 -0
  153. package/src/types/semantic/MetaOverlay.ts +48 -0
  154. package/src/types/semantic/StandardOverlay.ts +24 -0
  155. package/src/utils/color/generateColor.ts +8 -0
  156. package/src/utils/color/hashCode.ts +11 -0
  157. package/src/utils/color/hashToRGBA.ts +22 -0
  158. package/src/utils/color/index.ts +7 -0
  159. package/src/utils/color/luminanceForHexColor.ts +19 -0
  160. package/src/utils/color/mulberry32.ts +15 -0
  161. package/src/utils/color/textColorForBackground.ts +18 -0
  162. package/src/utils/credential-definition.ts +19 -0
  163. package/src/utils/index.ts +1 -0
  164. package/src/utils/logger.ts +14 -0
  165. package/src/utils/schema.ts +16 -0
@@ -0,0 +1,19 @@
1
+ import { parseSchemaFromId } from './schema'
2
+
3
+ export function parseCredDefFromId(credDefId?: string, schemaId?: string): string {
4
+ let name = 'Credential'
5
+ if (credDefId) {
6
+ const credDefRegex = /[^:]+/g
7
+ const credDefIdParts = credDefId.match(credDefRegex)
8
+ if (credDefIdParts?.length === 5) {
9
+ name = `${credDefIdParts?.[4].replace(/_|-/g, ' ')}`
10
+ .split(' ')
11
+ .map((credIdPart) => credIdPart.charAt(0).toUpperCase() + credIdPart.substring(1))
12
+ .join(' ')
13
+ }
14
+ }
15
+ if (name.toLocaleLowerCase() === 'default' || name.toLowerCase() === 'credential') {
16
+ name = parseSchemaFromId(schemaId).name
17
+ }
18
+ return name
19
+ }
@@ -0,0 +1 @@
1
+ export * from './color'
@@ -0,0 +1,14 @@
1
+ export default class MiniLogger {
2
+ warn(message: string) {
3
+ // eslint-disable-next-line no-console
4
+ console.log(message)
5
+ }
6
+ error(message: string) {
7
+ // eslint-disable-next-line no-console
8
+ console.log(message)
9
+ }
10
+ info(message: string) {
11
+ // eslint-disable-next-line no-console
12
+ console.log(message)
13
+ }
14
+ }
@@ -0,0 +1,16 @@
1
+ export function parseSchemaFromId(schemaId?: string): { name: string; version: string } {
2
+ let name = 'Credential'
3
+ let version = ''
4
+ if (schemaId) {
5
+ const schemaIdRegex = /(.*?):([0-9]):([a-zA-Z .\-_0-9]+):([a-z0-9._-]+)$/
6
+ const schemaIdParts = schemaId.match(schemaIdRegex)
7
+ if (schemaIdParts?.length === 5) {
8
+ name = `${schemaIdParts?.[3].replace(/_|-/g, ' ')}`
9
+ .split(' ')
10
+ .map((schemaIdPart) => schemaIdPart.charAt(0).toUpperCase() + schemaIdPart.substring(1))
11
+ .join(' ')
12
+ version = schemaIdParts?.[4]
13
+ }
14
+ }
15
+ return { name, version }
16
+ }