@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.
- package/README.md +33 -0
- package/build/__tests__/remote.test.d.ts +1 -0
- package/build/__tests__/remote.test.js +162 -0
- package/build/constants.d.ts +4 -0
- package/build/constants.js +7 -0
- package/build/formatters/credential/CredentialFormatter.d.ts +8 -0
- package/build/formatters/credential/CredentialFormatter.js +32 -0
- package/build/formatters/credential/DisplayAttribute.d.ts +11 -0
- package/build/formatters/credential/DisplayAttribute.js +18 -0
- package/build/formatters/credential/LocalizedCredential.d.ts +13 -0
- package/build/formatters/credential/LocalizedCredential.js +57 -0
- package/build/formatters/credential/index.d.ts +4 -0
- package/build/formatters/credential/index.js +12 -0
- package/build/formatters/index.d.ts +4 -0
- package/build/formatters/index.js +12 -0
- package/build/index.d.ts +5 -0
- package/build/index.js +34 -0
- package/build/interfaces/data/base/BaseOverlayData.interface.d.ts +5 -0
- package/build/interfaces/data/base/BaseOverlayData.interface.js +2 -0
- package/build/interfaces/data/branding/BrandingOverlayData.interface.d.ts +12 -0
- package/build/interfaces/data/branding/BrandingOverlayData.interface.js +2 -0
- package/build/interfaces/data/branding/LegacyBrandingOverlayData.interface.d.ts +15 -0
- package/build/interfaces/data/branding/LegacyBrandingOverlayData.interface.js +2 -0
- package/build/interfaces/data/bundle/OverlayBundleData.interface.d.ts +6 -0
- package/build/interfaces/data/bundle/OverlayBundleData.interface.js +2 -0
- package/build/interfaces/data/capture-base/CaptureBaseData.interface.d.ts +7 -0
- package/build/interfaces/data/capture-base/CaptureBaseData.interface.js +2 -0
- package/build/interfaces/data/index.d.ts +12 -0
- package/build/interfaces/data/index.js +2 -0
- package/build/interfaces/data/semantic/CharacterEncodingOverlayData.interface.d.ts +6 -0
- package/build/interfaces/data/semantic/CharacterEncodingOverlayData.interface.js +2 -0
- package/build/interfaces/data/semantic/FormatOverlayData.interface.d.ts +4 -0
- package/build/interfaces/data/semantic/FormatOverlayData.interface.js +2 -0
- package/build/interfaces/data/semantic/InformationOverlayData.interface.d.ts +5 -0
- package/build/interfaces/data/semantic/InformationOverlayData.interface.js +2 -0
- package/build/interfaces/data/semantic/LabelOverlayData.interface.d.ts +7 -0
- package/build/interfaces/data/semantic/LabelOverlayData.interface.js +2 -0
- package/build/interfaces/data/semantic/MetaOverlayData.interface.d.ts +12 -0
- package/build/interfaces/data/semantic/MetaOverlayData.interface.js +2 -0
- package/build/interfaces/data/semantic/StandardOverlayData.interface.d.ts +5 -0
- package/build/interfaces/data/semantic/StandardOverlayData.interface.js +2 -0
- package/build/interfaces/index.d.ts +2 -0
- package/build/interfaces/index.js +18 -0
- package/build/interfaces/overlay/OverlayBundleAttribute.interface.d.ts +9 -0
- package/build/interfaces/overlay/OverlayBundleAttribute.interface.js +2 -0
- package/build/interfaces/overlay/OverlayBundleMetadata.interface.d.ts +9 -0
- package/build/interfaces/overlay/OverlayBundleMetadata.interface.js +2 -0
- package/build/interfaces/overlay/index.d.ts +3 -0
- package/build/interfaces/overlay/index.js +2 -0
- package/build/legacy/index.d.ts +3 -0
- package/build/legacy/index.js +19 -0
- package/build/legacy/resolver/oca.d.ts +99 -0
- package/build/legacy/resolver/oca.js +239 -0
- package/build/legacy/resolver/record.d.ts +50 -0
- package/build/legacy/resolver/record.js +37 -0
- package/build/legacy/resolver/remote-oca.d.ts +186 -0
- package/build/legacy/resolver/remote-oca.js +536 -0
- package/build/types/OverlayTypeMap.d.ts +5 -0
- package/build/types/OverlayTypeMap.js +25 -0
- package/build/types/TypeEnums.d.ts +19 -0
- package/build/types/TypeEnums.js +24 -0
- package/build/types/base/BaseOverlay.d.ts +8 -0
- package/build/types/base/BaseOverlay.js +28 -0
- package/build/types/branding/BrandingOverlay.d.ts +15 -0
- package/build/types/branding/BrandingOverlay.js +68 -0
- package/build/types/branding/LegacyBrandingOverlay.d.ts +18 -0
- package/build/types/branding/LegacyBrandingOverlay.js +51 -0
- package/build/types/bundle/OverlayBundle.d.ts +20 -0
- package/build/types/bundle/OverlayBundle.js +167 -0
- package/build/types/capture-base/CaptureBase.d.ts +10 -0
- package/build/types/capture-base/CaptureBase.js +30 -0
- package/build/types/index.d.ts +14 -0
- package/build/types/index.js +33 -0
- package/build/types/semantic/CharacterEncodingOverlay.d.ts +9 -0
- package/build/types/semantic/CharacterEncodingOverlay.js +43 -0
- package/build/types/semantic/FormatOverlay.d.ts +7 -0
- package/build/types/semantic/FormatOverlay.js +30 -0
- package/build/types/semantic/InformationOverlay.d.ts +8 -0
- package/build/types/semantic/InformationOverlay.js +31 -0
- package/build/types/semantic/LabelOverlay.d.ts +10 -0
- package/build/types/semantic/LabelOverlay.js +41 -0
- package/build/types/semantic/MetaOverlay.d.ts +15 -0
- package/build/types/semantic/MetaOverlay.js +54 -0
- package/build/types/semantic/StandardOverlay.d.ts +8 -0
- package/build/types/semantic/StandardOverlay.js +38 -0
- package/build/utils/color/generateColor.d.ts +2 -0
- package/build/utils/color/generateColor.js +11 -0
- package/build/utils/color/hashCode.d.ts +8 -0
- package/build/utils/color/hashCode.js +12 -0
- package/build/utils/color/hashToRGBA.d.ts +8 -0
- package/build/utils/color/hashToRGBA.js +23 -0
- package/build/utils/color/index.d.ts +5 -0
- package/build/utils/color/index.js +15 -0
- package/build/utils/color/luminanceForHexColor.d.ts +7 -0
- package/build/utils/color/luminanceForHexColor.js +18 -0
- package/build/utils/color/mulberry32.d.ts +9 -0
- package/build/utils/color/mulberry32.js +16 -0
- package/build/utils/color/textColorForBackground.d.ts +1 -0
- package/build/utils/color/textColorForBackground.js +24 -0
- package/build/utils/credential-definition.d.ts +1 -0
- package/build/utils/credential-definition.js +21 -0
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +17 -0
- package/build/utils/logger.d.ts +5 -0
- package/build/utils/logger.js +17 -0
- package/build/utils/schema.d.ts +4 -0
- package/build/utils/schema.js +19 -0
- package/package.json +53 -0
- package/src/__tests__/__snapshots__/remote.test.ts.snap +293 -0
- package/src/__tests__/fixtures/bundle.json +131 -0
- package/src/__tests__/fixtures/oca.json +4 -0
- package/src/__tests__/fixtures/ocabundles.json +142 -0
- package/src/__tests__/remote.test.ts +180 -0
- package/src/constants.ts +7 -0
- package/src/formatters/credential/CredentialFormatter.ts +20 -0
- package/src/formatters/credential/DisplayAttribute.ts +29 -0
- package/src/formatters/credential/LocalizedCredential.ts +53 -0
- package/src/formatters/credential/index.ts +5 -0
- package/src/formatters/index.ts +5 -0
- package/src/index.ts +5 -0
- package/src/interfaces/data/base/BaseOverlayData.interface.ts +5 -0
- package/src/interfaces/data/branding/BrandingOverlayData.interface.ts +13 -0
- package/src/interfaces/data/branding/LegacyBrandingOverlayData.interface.ts +16 -0
- package/src/interfaces/data/bundle/OverlayBundleData.interface.ts +7 -0
- package/src/interfaces/data/capture-base/CaptureBaseData.interface.ts +7 -0
- package/src/interfaces/data/index.ts +25 -0
- package/src/interfaces/data/semantic/CharacterEncodingOverlayData.interface.ts +8 -0
- package/src/interfaces/data/semantic/FormatOverlayData.interface.ts +5 -0
- package/src/interfaces/data/semantic/InformationOverlayData.interface.ts +6 -0
- package/src/interfaces/data/semantic/LabelOverlayData.interface.ts +8 -0
- package/src/interfaces/data/semantic/MetaOverlayData.interface.ts +13 -0
- package/src/interfaces/data/semantic/StandardOverlayData.interface.ts +7 -0
- package/src/interfaces/index.ts +2 -0
- package/src/interfaces/overlay/OverlayBundleAttribute.interface.ts +9 -0
- package/src/interfaces/overlay/OverlayBundleMetadata.interface.ts +9 -0
- package/src/interfaces/overlay/index.ts +4 -0
- package/src/legacy/index.ts +3 -0
- package/src/legacy/resolver/oca.ts +377 -0
- package/src/legacy/resolver/record.ts +81 -0
- package/src/legacy/resolver/remote-oca.ts +661 -0
- package/src/types/OverlayTypeMap.ts +25 -0
- package/src/types/TypeEnums.ts +20 -0
- package/src/types/base/BaseOverlay.ts +18 -0
- package/src/types/branding/BrandingOverlay.ts +61 -0
- package/src/types/branding/LegacyBrandingOverlay.ts +47 -0
- package/src/types/bundle/OverlayBundle.ts +203 -0
- package/src/types/capture-base/CaptureBase.ts +22 -0
- package/src/types/index.ts +30 -0
- package/src/types/semantic/CharacterEncodingOverlay.ts +30 -0
- package/src/types/semantic/FormatOverlay.ts +15 -0
- package/src/types/semantic/InformationOverlay.ts +18 -0
- package/src/types/semantic/LabelOverlay.ts +30 -0
- package/src/types/semantic/MetaOverlay.ts +48 -0
- package/src/types/semantic/StandardOverlay.ts +24 -0
- package/src/utils/color/generateColor.ts +8 -0
- package/src/utils/color/hashCode.ts +11 -0
- package/src/utils/color/hashToRGBA.ts +22 -0
- package/src/utils/color/index.ts +7 -0
- package/src/utils/color/luminanceForHexColor.ts +19 -0
- package/src/utils/color/mulberry32.ts +15 -0
- package/src/utils/color/textColorForBackground.ts +18 -0
- package/src/utils/credential-definition.ts +19 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/logger.ts +14 -0
- package/src/utils/schema.ts +16 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
var _MetaOverlay_credential_help_text, _MetaOverlay_credential_support_url, _MetaOverlay_issuer_description, _MetaOverlay_issuer_url, _MetaOverlay_watermark;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const BaseOverlay_1 = __importDefault(require("../base/BaseOverlay"));
|
|
19
|
+
class MetaOverlay extends BaseOverlay_1.default {
|
|
20
|
+
constructor(overlay) {
|
|
21
|
+
super(overlay);
|
|
22
|
+
_MetaOverlay_credential_help_text.set(this, void 0);
|
|
23
|
+
_MetaOverlay_credential_support_url.set(this, void 0);
|
|
24
|
+
_MetaOverlay_issuer_description.set(this, void 0);
|
|
25
|
+
_MetaOverlay_issuer_url.set(this, void 0);
|
|
26
|
+
_MetaOverlay_watermark.set(this, void 0);
|
|
27
|
+
this.language = overlay.language;
|
|
28
|
+
this.name = overlay.name;
|
|
29
|
+
this.description = overlay.description;
|
|
30
|
+
__classPrivateFieldSet(this, _MetaOverlay_credential_help_text, overlay.credential_help_text, "f");
|
|
31
|
+
__classPrivateFieldSet(this, _MetaOverlay_credential_support_url, overlay.credential_support_url, "f");
|
|
32
|
+
this.issuer = overlay.issuer;
|
|
33
|
+
__classPrivateFieldSet(this, _MetaOverlay_issuer_description, overlay.issuer_description, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _MetaOverlay_issuer_url, overlay.issuer_url, "f");
|
|
35
|
+
__classPrivateFieldSet(this, _MetaOverlay_watermark, overlay.watermark, "f");
|
|
36
|
+
}
|
|
37
|
+
get credentialHelpText() {
|
|
38
|
+
return __classPrivateFieldGet(this, _MetaOverlay_credential_help_text, "f");
|
|
39
|
+
}
|
|
40
|
+
get credentialSupportUrl() {
|
|
41
|
+
return __classPrivateFieldGet(this, _MetaOverlay_credential_support_url, "f");
|
|
42
|
+
}
|
|
43
|
+
get issuerDescription() {
|
|
44
|
+
return __classPrivateFieldGet(this, _MetaOverlay_issuer_description, "f");
|
|
45
|
+
}
|
|
46
|
+
get issuerUrl() {
|
|
47
|
+
return __classPrivateFieldGet(this, _MetaOverlay_issuer_url, "f");
|
|
48
|
+
}
|
|
49
|
+
get watermark() {
|
|
50
|
+
return __classPrivateFieldGet(this, _MetaOverlay_watermark, "f");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
_MetaOverlay_credential_help_text = new WeakMap(), _MetaOverlay_credential_support_url = new WeakMap(), _MetaOverlay_issuer_description = new WeakMap(), _MetaOverlay_issuer_url = new WeakMap(), _MetaOverlay_watermark = new WeakMap();
|
|
54
|
+
exports.default = MetaOverlay;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IStandardOverlayData } from '../../interfaces/data';
|
|
2
|
+
import BaseOverlay from '../base/BaseOverlay';
|
|
3
|
+
export default class StandardOverlay extends BaseOverlay {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(overlay: IStandardOverlayData);
|
|
6
|
+
get attrStandards(): Record<string, string> | undefined;
|
|
7
|
+
get attributeStandards(): Record<string, string>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
var _StandardOverlay_attr_standards, _StandardOverlay_attribute_standards;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const BaseOverlay_1 = __importDefault(require("../base/BaseOverlay"));
|
|
19
|
+
class StandardOverlay extends BaseOverlay_1.default {
|
|
20
|
+
constructor(overlay) {
|
|
21
|
+
super(overlay);
|
|
22
|
+
// DEPRECATED - Use #attribute_standards instead
|
|
23
|
+
_StandardOverlay_attr_standards.set(this, void 0);
|
|
24
|
+
_StandardOverlay_attribute_standards.set(this, void 0);
|
|
25
|
+
// DEPRECATED - Use #attribute_standards instead
|
|
26
|
+
__classPrivateFieldSet(this, _StandardOverlay_attr_standards, overlay.attr_standards, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _StandardOverlay_attribute_standards, overlay.attribute_standards, "f");
|
|
28
|
+
}
|
|
29
|
+
// DEPRECATED - Use attributeStandards instead
|
|
30
|
+
get attrStandards() {
|
|
31
|
+
return __classPrivateFieldGet(this, _StandardOverlay_attr_standards, "f");
|
|
32
|
+
}
|
|
33
|
+
get attributeStandards() {
|
|
34
|
+
return __classPrivateFieldGet(this, _StandardOverlay_attribute_standards, "f");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
_StandardOverlay_attr_standards = new WeakMap(), _StandardOverlay_attribute_standards = new WeakMap();
|
|
38
|
+
exports.default = StandardOverlay;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const hashCode_1 = __importDefault(require("./hashCode"));
|
|
7
|
+
const hashToRGBA_1 = __importDefault(require("./hashToRGBA"));
|
|
8
|
+
const generateColor = (seed) => {
|
|
9
|
+
return (0, hashToRGBA_1.default)((0, hashCode_1.default)(seed));
|
|
10
|
+
};
|
|
11
|
+
exports.default = generateColor;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a numerical hash based on a given string
|
|
3
|
+
* @see https://stackoverflow.com/questions/3426404/create-a-hexadecimal-colour-based-on-a-string-with-javascript
|
|
4
|
+
* @param { string } s given string
|
|
5
|
+
* @returns { number } numerical hash value
|
|
6
|
+
*/
|
|
7
|
+
declare const hashCode: (s: string) => number;
|
|
8
|
+
export default hashCode;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Generates a numerical hash based on a given string
|
|
5
|
+
* @see https://stackoverflow.com/questions/3426404/create-a-hexadecimal-colour-based-on-a-string-with-javascript
|
|
6
|
+
* @param { string } s given string
|
|
7
|
+
* @returns { number } numerical hash value
|
|
8
|
+
*/
|
|
9
|
+
const hashCode = (s) => {
|
|
10
|
+
return s.split('').reduce((hash, char) => char.charCodeAt(0) + ((hash << 5) - hash), 0);
|
|
11
|
+
};
|
|
12
|
+
exports.default = hashCode;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a numerical hash into a hexidecimal color string
|
|
3
|
+
* @see https://helderesteves.com/generating-random-colors-js/#Generating_random_dark_colors
|
|
4
|
+
* @param { number } hash numerical hash value (generated by hashCode function above)
|
|
5
|
+
* @returns { string } hexidecimal string eg. #32d3cc
|
|
6
|
+
*/
|
|
7
|
+
declare const hashToRGBA: (hash: number) => string;
|
|
8
|
+
export default hashToRGBA;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const mulberry32_1 = __importDefault(require("./mulberry32"));
|
|
7
|
+
/**
|
|
8
|
+
* Converts a numerical hash into a hexidecimal color string
|
|
9
|
+
* @see https://helderesteves.com/generating-random-colors-js/#Generating_random_dark_colors
|
|
10
|
+
* @param { number } hash numerical hash value (generated by hashCode function above)
|
|
11
|
+
* @returns { string } hexidecimal string eg. #32d3cc
|
|
12
|
+
*/
|
|
13
|
+
const hashToRGBA = (hash) => {
|
|
14
|
+
let color = '#';
|
|
15
|
+
const colorRangeUpperBound = 256;
|
|
16
|
+
// once for r, g, b
|
|
17
|
+
for (let i = 0; i < 3; i++) {
|
|
18
|
+
// append a pseudorandom two-char hexidecimal value from the lower half of the color spectrum (to limit to darker colors)
|
|
19
|
+
color += ('0' + Math.floor(((0, mulberry32_1.default)(hash + i) * colorRangeUpperBound) / 2).toString(16)).slice(-2);
|
|
20
|
+
}
|
|
21
|
+
return color;
|
|
22
|
+
};
|
|
23
|
+
exports.default = hashToRGBA;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.hashToRGBA = exports.hashCode = exports.textColorForBackground = exports.generateColor = void 0;
|
|
7
|
+
const generateColor_1 = __importDefault(require("./generateColor"));
|
|
8
|
+
exports.generateColor = generateColor_1.default;
|
|
9
|
+
// Remove hashCode and hashToRGBA when deprecated OCA resolver is removed
|
|
10
|
+
const hashCode_1 = __importDefault(require("./hashCode"));
|
|
11
|
+
exports.hashCode = hashCode_1.default;
|
|
12
|
+
const hashToRGBA_1 = __importDefault(require("./hashToRGBA"));
|
|
13
|
+
exports.hashToRGBA = hashToRGBA_1.default;
|
|
14
|
+
const textColorForBackground_1 = require("./textColorForBackground");
|
|
15
|
+
Object.defineProperty(exports, "textColorForBackground", { enumerable: true, get: function () { return textColorForBackground_1.textColorForBackground; } });
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a hexidecimal color string into a luminance value
|
|
3
|
+
* @param hex color string in hexidecimal format
|
|
4
|
+
* @returns { number | undefined } between 0 and 255
|
|
5
|
+
*/
|
|
6
|
+
declare const luminanceForHexColor: (hex: string) => number | undefined;
|
|
7
|
+
export default luminanceForHexColor;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Converts a hexidecimal color string into a luminance value
|
|
5
|
+
* @param hex color string in hexidecimal format
|
|
6
|
+
* @returns { number | undefined } between 0 and 255
|
|
7
|
+
*/
|
|
8
|
+
const luminanceForHexColor = (hex) => {
|
|
9
|
+
if (!/^#([A-Fa-f0-9]{6})$/.test(hex)) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const hexAsNumber = Number(`0x${hex.slice(1)}`);
|
|
13
|
+
const [r, g, b] = [(hexAsNumber >> 16) & 255, (hexAsNumber >> 8) & 255, hexAsNumber & 255];
|
|
14
|
+
// Scalars below defined [here](https://en.wikipedia.org/wiki/Relative_luminance)
|
|
15
|
+
const y = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
16
|
+
return Math.round(y);
|
|
17
|
+
};
|
|
18
|
+
exports.default = luminanceForHexColor;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a pseudorandom number between 0 and 1 based on a seed
|
|
3
|
+
* @see https://gist.github.com/tommyettinger/46a874533244883189143505d203312c
|
|
4
|
+
* @see https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript
|
|
5
|
+
* @param { number } seed any number
|
|
6
|
+
* @returns { number } pseudorandom number between 0 and 1
|
|
7
|
+
*/
|
|
8
|
+
declare const mulberry32: (seed: number) => number;
|
|
9
|
+
export default mulberry32;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Generates a pseudorandom number between 0 and 1 based on a seed
|
|
5
|
+
* @see https://gist.github.com/tommyettinger/46a874533244883189143505d203312c
|
|
6
|
+
* @see https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript
|
|
7
|
+
* @param { number } seed any number
|
|
8
|
+
* @returns { number } pseudorandom number between 0 and 1
|
|
9
|
+
*/
|
|
10
|
+
const mulberry32 = (seed) => {
|
|
11
|
+
let t = (seed += 0x6d2b79f5);
|
|
12
|
+
t = Math.imul(t ^ (t >>> 15), t | 1);
|
|
13
|
+
t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
|
|
14
|
+
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
15
|
+
};
|
|
16
|
+
exports.default = mulberry32;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const textColorForBackground: (background: string) => string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.textColorForBackground = void 0;
|
|
7
|
+
const luminanceForHexColor_1 = __importDefault(require("./luminanceForHexColor"));
|
|
8
|
+
const textColorForBackground = (background) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const spectrum = {
|
|
11
|
+
black: '#000000',
|
|
12
|
+
darkGrey: '#313132',
|
|
13
|
+
mediumGrey: '#606060',
|
|
14
|
+
lightGrey: '#D3D3D3',
|
|
15
|
+
veryLightGrey: '#F2F2F2',
|
|
16
|
+
white: '#FFFFFF',
|
|
17
|
+
};
|
|
18
|
+
const midpoint = 255 / 2;
|
|
19
|
+
if (((_a = (0, luminanceForHexColor_1.default)(background !== null && background !== void 0 ? background : '')) !== null && _a !== void 0 ? _a : 0) >= midpoint) {
|
|
20
|
+
return spectrum.darkGrey;
|
|
21
|
+
}
|
|
22
|
+
return spectrum.white;
|
|
23
|
+
};
|
|
24
|
+
exports.textColorForBackground = textColorForBackground;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function parseCredDefFromId(credDefId?: string, schemaId?: string): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCredDefFromId = parseCredDefFromId;
|
|
4
|
+
const schema_1 = require("./schema");
|
|
5
|
+
function parseCredDefFromId(credDefId, schemaId) {
|
|
6
|
+
let name = 'Credential';
|
|
7
|
+
if (credDefId) {
|
|
8
|
+
const credDefRegex = /[^:]+/g;
|
|
9
|
+
const credDefIdParts = credDefId.match(credDefRegex);
|
|
10
|
+
if ((credDefIdParts === null || credDefIdParts === void 0 ? void 0 : credDefIdParts.length) === 5) {
|
|
11
|
+
name = `${credDefIdParts === null || credDefIdParts === void 0 ? void 0 : credDefIdParts[4].replace(/_|-/g, ' ')}`
|
|
12
|
+
.split(' ')
|
|
13
|
+
.map((credIdPart) => credIdPart.charAt(0).toUpperCase() + credIdPart.substring(1))
|
|
14
|
+
.join(' ');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (name.toLocaleLowerCase() === 'default' || name.toLowerCase() === 'credential') {
|
|
18
|
+
name = (0, schema_1.parseSchemaFromId)(schemaId).name;
|
|
19
|
+
}
|
|
20
|
+
return name;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './color';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./color"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class MiniLogger {
|
|
4
|
+
warn(message) {
|
|
5
|
+
// eslint-disable-next-line no-console
|
|
6
|
+
console.log(message);
|
|
7
|
+
}
|
|
8
|
+
error(message) {
|
|
9
|
+
// eslint-disable-next-line no-console
|
|
10
|
+
console.log(message);
|
|
11
|
+
}
|
|
12
|
+
info(message) {
|
|
13
|
+
// eslint-disable-next-line no-console
|
|
14
|
+
console.log(message);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = MiniLogger;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseSchemaFromId = parseSchemaFromId;
|
|
4
|
+
function parseSchemaFromId(schemaId) {
|
|
5
|
+
let name = 'Credential';
|
|
6
|
+
let version = '';
|
|
7
|
+
if (schemaId) {
|
|
8
|
+
const schemaIdRegex = /(.*?):([0-9]):([a-zA-Z .\-_0-9]+):([a-z0-9._-]+)$/;
|
|
9
|
+
const schemaIdParts = schemaId.match(schemaIdRegex);
|
|
10
|
+
if ((schemaIdParts === null || schemaIdParts === void 0 ? void 0 : schemaIdParts.length) === 5) {
|
|
11
|
+
name = `${schemaIdParts === null || schemaIdParts === void 0 ? void 0 : schemaIdParts[3].replace(/_|-/g, ' ')}`
|
|
12
|
+
.split(' ')
|
|
13
|
+
.map((schemaIdPart) => schemaIdPart.charAt(0).toUpperCase() + schemaIdPart.substring(1))
|
|
14
|
+
.join(' ');
|
|
15
|
+
version = schemaIdParts === null || schemaIdParts === void 0 ? void 0 : schemaIdParts[4];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return { name, version };
|
|
19
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bifold/oca",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "TypeScript implementation of Overlay Capture Architecture (OCA) for styling Aries Verifiable Credentials",
|
|
5
|
+
"main": "build/index.js",
|
|
6
|
+
"types": "build/index.d.ts",
|
|
7
|
+
"source": "src/index.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"src",
|
|
10
|
+
"build"
|
|
11
|
+
],
|
|
12
|
+
"license": "Apache-2.0",
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "echo 'building oca 🏗️' && yarn run clean && yarn run compile && echo 'oca built ✅'",
|
|
15
|
+
"clean": "rimraf ./build",
|
|
16
|
+
"compile": "tsc",
|
|
17
|
+
"test": "TZ=GMT jest --config ./jest.config.js",
|
|
18
|
+
"test:watch": "TZ=GMT jest --config ./jest.config.js --watch",
|
|
19
|
+
"coverage": "TZ=GMT jest --config ./jest.config.js --coverage"
|
|
20
|
+
},
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/openwallet-foundation/bifold-wallet.git",
|
|
24
|
+
"directory": "packages/oca"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"registry": "https://registry.npmjs.org/",
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"bugs": {
|
|
31
|
+
"url": "https://github.com/openwallet-foundation/bifold-wallet/issues"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://github.com/openwallet-foundation/bifold-wallet/",
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@testing-library/jest-native": "5.4.3",
|
|
36
|
+
"@types/jest": "29.5.5",
|
|
37
|
+
"@types/lodash.startcase": "^4.4.7",
|
|
38
|
+
"@typescript-eslint/parser": "^6.6.0",
|
|
39
|
+
"eslint": "^8.48.0",
|
|
40
|
+
"eslint-import-resolver-typescript": "^2.5.0",
|
|
41
|
+
"jest": "29.6.4",
|
|
42
|
+
"rimraf": "^5.0.0",
|
|
43
|
+
"ts-jest": "^29.1.2",
|
|
44
|
+
"typescript": "^5.0.4"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@credo-ts/anoncreds": "0.5.13",
|
|
48
|
+
"@credo-ts/core": "0.5.13",
|
|
49
|
+
"axios": "^1.4.0",
|
|
50
|
+
"lodash.startcase": "^4.4.0",
|
|
51
|
+
"react-native-fs": "^2.16.6"
|
|
52
|
+
}
|
|
53
|
+
}
|