@nuralogix.ai/web-measurement-embedded-app 0.1.0-alpha.8 → 0.1.0-alpha.9
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 +3 -3
- package/dist/app.mjs +18 -18
- package/lib/index.d.ts +37 -29
- package/lib/index.mjs +1 -1
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -917,7 +917,9 @@ interface Results {
|
|
|
917
917
|
declare const measurementEmbeddedAppEvents: {
|
|
918
918
|
readonly RESULTS: "results";
|
|
919
919
|
readonly ERROR: "error";
|
|
920
|
-
readonly
|
|
920
|
+
readonly APPEVENT: "appEvent";
|
|
921
|
+
readonly CANCELLED: "cancelled";
|
|
922
|
+
readonly LOGS: "logs";
|
|
921
923
|
};
|
|
922
924
|
interface AppSettings {
|
|
923
925
|
token: string;
|
|
@@ -945,10 +947,23 @@ interface MeasurementEmbeddedAppOptions {
|
|
|
945
947
|
apiUrl?: string;
|
|
946
948
|
loadError?: (error: string) => void;
|
|
947
949
|
}
|
|
950
|
+
declare enum logCategory {
|
|
951
|
+
measurement = "Measurement",
|
|
952
|
+
collector = "Collector",
|
|
953
|
+
camera = "Camera",
|
|
954
|
+
app = "App"
|
|
955
|
+
}
|
|
956
|
+
interface Log {
|
|
957
|
+
timestamp: string;
|
|
958
|
+
category: logCategory;
|
|
959
|
+
message: string;
|
|
960
|
+
meta?: any;
|
|
961
|
+
}
|
|
948
962
|
interface MeasurementEmbedded {
|
|
949
963
|
init(options: MeasurementEmbeddedAppOptions): void;
|
|
950
964
|
destroy(): void;
|
|
951
|
-
cancel():
|
|
965
|
+
cancel(): Promise<boolean>;
|
|
966
|
+
getLogs: () => Promise<Log[]>;
|
|
952
967
|
setTheme(theme: 'light' | 'dark'): void;
|
|
953
968
|
setLanguage(language: SupportedLanguage): void;
|
|
954
969
|
on: {
|
|
@@ -963,37 +978,35 @@ interface MeasurementEmbedded {
|
|
|
963
978
|
*/
|
|
964
979
|
error: ((error: MeasurementEmbeddedAppError) => void) | null;
|
|
965
980
|
/**
|
|
966
|
-
* when
|
|
967
|
-
* @param {
|
|
981
|
+
* when an AppEvent is received
|
|
982
|
+
* @param {appEvent} AppEvent - app event
|
|
968
983
|
*/
|
|
969
|
-
|
|
984
|
+
event: ((appEvent: AppEvent) => void) | null;
|
|
970
985
|
};
|
|
971
986
|
}
|
|
972
987
|
interface MeasurementEmbeddedAppError {
|
|
973
988
|
code: ErrorCodes;
|
|
974
989
|
message: string;
|
|
975
990
|
}
|
|
976
|
-
declare const
|
|
991
|
+
declare const appEventSeverity: {
|
|
977
992
|
readonly INFO: "INFO";
|
|
978
993
|
readonly WARN: "WARN";
|
|
979
994
|
readonly ERROR: "ERROR";
|
|
980
995
|
};
|
|
981
|
-
declare const
|
|
996
|
+
declare const appEvent: {
|
|
982
997
|
readonly CAMERA_STARTED: "CAMERA_STARTED";
|
|
983
998
|
readonly APP_LOADED: "APP_LOADED";
|
|
984
999
|
readonly MEASUREMENT_STARTED: "MEASUREMENT_STARTED";
|
|
985
1000
|
readonly MEASUREMENT_COMPLETED: "MEASUREMENT_COMPLETED";
|
|
986
|
-
readonly CAMERA_PERMISSION_DENIED: "CAMERA_PERMISSION_DENIED";
|
|
987
1001
|
readonly CAMERA_PERMISSION_GRANTED: "CAMERA_PERMISSION_GRANTED";
|
|
988
1002
|
readonly INTERMEDIATE_RESULTS: "INTERMEDIATE_RESULTS";
|
|
989
1003
|
readonly RESULTS_RECEIVED: "RESULTS_RECEIVED";
|
|
990
1004
|
readonly MEASUREMENT_CANCELED: "MEASUREMENT_CANCELED";
|
|
991
1005
|
readonly CONSTRAINT_VIOLATION: "CONSTRAINT_VIOLATION";
|
|
992
1006
|
readonly PAGE_UNLOADED: "PAGE_UNLOADED";
|
|
993
|
-
readonly WEBSOCKET_DISCONNECTED: "WEBSOCKET_DISCONNECTED";
|
|
994
1007
|
readonly PAGE_VISIBILITY_CHANGE: "PAGE_VISIBILITY_CHANGE";
|
|
995
1008
|
};
|
|
996
|
-
declare const
|
|
1009
|
+
declare const appEvents: {
|
|
997
1010
|
readonly CAMERA_STARTED: {
|
|
998
1011
|
readonly event: "CAMERA_STARTED";
|
|
999
1012
|
readonly level: "INFO";
|
|
@@ -1010,10 +1023,6 @@ declare const webhookEvents: {
|
|
|
1010
1023
|
readonly event: "MEASUREMENT_COMPLETED";
|
|
1011
1024
|
readonly level: "INFO";
|
|
1012
1025
|
};
|
|
1013
|
-
readonly CAMERA_PERMISSION_DENIED: {
|
|
1014
|
-
readonly event: "CAMERA_PERMISSION_DENIED";
|
|
1015
|
-
readonly level: "ERROR";
|
|
1016
|
-
};
|
|
1017
1026
|
readonly CAMERA_PERMISSION_GRANTED: {
|
|
1018
1027
|
readonly event: "CAMERA_PERMISSION_GRANTED";
|
|
1019
1028
|
readonly level: "INFO";
|
|
@@ -1038,18 +1047,14 @@ declare const webhookEvents: {
|
|
|
1038
1047
|
readonly event: "PAGE_UNLOADED";
|
|
1039
1048
|
readonly level: "INFO";
|
|
1040
1049
|
};
|
|
1041
|
-
readonly WEBSOCKET_DISCONNECTED: {
|
|
1042
|
-
readonly event: "WEBSOCKET_DISCONNECTED";
|
|
1043
|
-
readonly level: "WARN";
|
|
1044
|
-
};
|
|
1045
1050
|
readonly PAGE_VISIBILITY_CHANGE: {
|
|
1046
1051
|
readonly event: "PAGE_VISIBILITY_CHANGE";
|
|
1047
1052
|
readonly level: "INFO";
|
|
1048
1053
|
};
|
|
1049
1054
|
};
|
|
1050
|
-
interface
|
|
1051
|
-
event: keyof typeof
|
|
1052
|
-
level: keyof typeof
|
|
1055
|
+
interface AppEvent {
|
|
1056
|
+
event: keyof typeof appEvent;
|
|
1057
|
+
level: keyof typeof appEventSeverity;
|
|
1053
1058
|
}
|
|
1054
1059
|
declare enum ErrorCodes {
|
|
1055
1060
|
CAMERA_PERMISSION_DENIED = "CAMERA_PERMISSION_DENIED",
|
|
@@ -1058,7 +1063,9 @@ declare enum ErrorCodes {
|
|
|
1058
1063
|
NO_DEVICES_FOUND = "NO_DEVICES_FOUND",
|
|
1059
1064
|
PAGE_NOT_VISIBLE = "PAGE_NOT_VISIBLE",
|
|
1060
1065
|
CAMERA_START_FAILED = "CAMERA_START_FAILED",
|
|
1061
|
-
MEASUREMENT_LOW_SNR = "MEASUREMENT_LOW_SNR"
|
|
1066
|
+
MEASUREMENT_LOW_SNR = "MEASUREMENT_LOW_SNR",
|
|
1067
|
+
COLLECTOR = "COLLECTOR",
|
|
1068
|
+
WEBSOCKET_DISCONNECTED = "WEBSOCKET_DISCONNECTED"
|
|
1062
1069
|
}
|
|
1063
1070
|
type MeasurementErrorCodes = ErrorCodes.WORKER_ERROR | ErrorCodes.PROFILE_INFO_NOT_SET;
|
|
1064
1071
|
|
|
@@ -1071,23 +1078,24 @@ declare class MeasurementEmbeddedApp implements MeasurementEmbedded {
|
|
|
1071
1078
|
*/
|
|
1072
1079
|
results: ((results: Results) => void) | null;
|
|
1073
1080
|
/**
|
|
1074
|
-
* when measurement
|
|
1075
|
-
* @param {
|
|
1081
|
+
* when there is an error in the measurement embedded app
|
|
1082
|
+
* @param {error} MeasurementEmbeddedAppError - measurement embedded app error
|
|
1076
1083
|
*/
|
|
1077
1084
|
error: ((error: MeasurementEmbeddedAppError) => void) | null;
|
|
1078
1085
|
/**
|
|
1079
|
-
* when
|
|
1080
|
-
* @param {
|
|
1086
|
+
* when an appEvent is received
|
|
1087
|
+
* @param {appEvent} AppEvent - appEvent
|
|
1081
1088
|
*/
|
|
1082
|
-
|
|
1089
|
+
event: ((appEvent: AppEvent) => void) | null;
|
|
1083
1090
|
};
|
|
1084
1091
|
constructor();
|
|
1085
1092
|
init(options: MeasurementEmbeddedAppOptions): void;
|
|
1086
1093
|
destroy(): void;
|
|
1087
1094
|
setTheme(theme: 'light' | 'dark'): void;
|
|
1088
1095
|
setLanguage(language: SupportedLanguage): void;
|
|
1089
|
-
cancel():
|
|
1096
|
+
cancel(): Promise<boolean>;
|
|
1097
|
+
getLogs(): Promise<Log[]>;
|
|
1090
1098
|
}
|
|
1091
1099
|
|
|
1092
|
-
export { ErrorCodes, MeasurementEmbeddedApp as default, faceAttributeValue, measurementEmbeddedAppEvents
|
|
1100
|
+
export { ErrorCodes, appEvents, MeasurementEmbeddedApp as default, faceAttributeValue, measurementEmbeddedAppEvents };
|
|
1093
1101
|
export type { AppSettings, DfxPointId, MeasurementEmbeddedAppError, MeasurementEmbeddedAppOptions, MeasurementErrorCodes, Point, Profile, Results };
|
package/lib/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const l={RESULTS:"results",ERROR:"error",APPEVENT:"appEvent",CANCELLED:"cancelled",LOGS:"logs"};var f=(e=>(e.measurement="Measurement",e.collector="Collector",e.camera="Camera",e.app="App",e))(f||{});const o={INFO:"INFO",WARN:"WARN",ERROR:"ERROR"},i={CAMERA_STARTED:"CAMERA_STARTED",APP_LOADED:"APP_LOADED",MEASUREMENT_STARTED:"MEASUREMENT_STARTED",MEASUREMENT_COMPLETED:"MEASUREMENT_COMPLETED",CAMERA_PERMISSION_GRANTED:"CAMERA_PERMISSION_GRANTED",INTERMEDIATE_RESULTS:"INTERMEDIATE_RESULTS",RESULTS_RECEIVED:"RESULTS_RECEIVED",MEASUREMENT_CANCELED:"MEASUREMENT_CANCELED",CONSTRAINT_VIOLATION:"CONSTRAINT_VIOLATION",PAGE_UNLOADED:"PAGE_UNLOADED",PAGE_VISIBILITY_CHANGE:"PAGE_VISIBILITY_CHANGE"},g={CAMERA_STARTED:{event:i.CAMERA_STARTED,level:o.INFO},APP_LOADED:{event:i.APP_LOADED,level:o.INFO},MEASUREMENT_STARTED:{event:i.MEASUREMENT_STARTED,level:o.INFO},MEASUREMENT_COMPLETED:{event:i.MEASUREMENT_COMPLETED,level:o.INFO},CAMERA_PERMISSION_GRANTED:{event:i.CAMERA_PERMISSION_GRANTED,level:o.INFO},INTERMEDIATE_RESULTS:{event:i.INTERMEDIATE_RESULTS,level:o.INFO},RESULTS_RECEIVED:{event:i.RESULTS_RECEIVED,level:o.INFO},MEASUREMENT_CANCELED:{event:i.MEASUREMENT_CANCELED,level:o.WARN},CONSTRAINT_VIOLATION:{event:i.CONSTRAINT_VIOLATION,level:o.ERROR},PAGE_UNLOADED:{event:i.PAGE_UNLOADED,level:o.INFO},PAGE_VISIBILITY_CHANGE:{event:i.PAGE_VISIBILITY_CHANGE,level:o.INFO}},_={DESTROY:"destroy",CANCEL:"cancel",SET_THEME:"setTheme",SET_LANGUAGE:"setLanguage",GET_LOGS:"getLogs"};var v=(e=>(e.CAMERA_PERMISSION_DENIED="CAMERA_PERMISSION_DENIED",e.WORKER_ERROR="WORKER_ERROR",e.PROFILE_INFO_NOT_SET="PROFILE_INFO_NOT_SET",e.NO_DEVICES_FOUND="NO_DEVICES_FOUND",e.PAGE_NOT_VISIBLE="PAGE_NOT_VISIBLE",e.CAMERA_START_FAILED="CAMERA_START_FAILED",e.MEASUREMENT_LOW_SNR="MEASUREMENT_LOW_SNR",e.COLLECTOR="COLLECTOR",e.WEBSOCKET_DISCONNECTED="WEBSOCKET_DISCONNECTED",e))(v||{}),u=e=>{throw TypeError(e)},M=(e,t,E)=>t.has(e)||u("Cannot "+E),n=(e,t,E)=>(M(e,t,"read from private field"),E?E.call(e):t.get(e)),O=(e,t,E)=>t.has(e)?u("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,E),F=(e,t,E,s)=>(M(e,t,"write to private field"),t.set(e,E),E),r,T,c,A;const C=class a{constructor(t){O(this,A),F(this,A,new Int32Array(t))}lock(){for(;;){if(Atomics.compareExchange(n(this,A),n(a,c),n(a,T),n(a,r))==n(a,T))return;Atomics.wait(n(this,A),n(a,c),n(a,r))}}unlock(){if(Atomics.compareExchange(n(this,A),n(a,c),n(a,r),n(a,T))!=n(a,r))throw new Error("Tried to unlock while not holding the mutex");Atomics.notify(n(this,A),n(a,c))}AsyncLock(t){const E=this;async function s(){for(;;){if(Atomics.compareExchange(n(E,A),n(a,c),n(a,T),n(a,r))==n(a,T)){t(),E.unlock();return}await Atomics.waitAsync(n(E,A),n(a,c),n(a,r)).value}}s()}};r=new WeakMap,T=new WeakMap,c=new WeakMap,A=new WeakMap,O(C,r,1),O(C,T,0),O(C,c,0);const B={SEX_NOT_PROVIDED:1,SEX_ASSIGNED_MALE_AT_BIRTH:2,SEX_ASSIGNED_FEMALE_AT_BIRTH:3,DIABETES_NONE:4,DIABETES_TYPE1:5,DIABETES_TYPE2:6,SMOKER_TRUE:0,SMOKER_FALSE:1,BLOOD_PRESSURE_MEDICATION_TRUE:1,BLOOD_PRESSURE_MEDICATION_FALSE:0},k=document.documentElement.style.overflow;class W{#e=document.createElement("div");#t=document.createElement("div");on={results:null,error:null,event:null};constructor(){this.#e.style.height="100%"}init(t){const{container:E,appPath:s,settings:R,profile:h,config:P,loadError:N,top:D=0,language:U,apiUrl:G="api.deepaffex.ai"}=t;this.#t=E,Object.assign(E.style,{position:"fixed",top:D,left:"0",width:"100vw",height:`calc(100vh - ${D})`}),document.body.appendChild(E);const I=E.attachShadow({mode:"open"});document.documentElement.style.overflow="hidden";const m="app",L=document.createElement("link");L.rel="stylesheet",L.href=`${s}/stylex.css`,I.appendChild(L);const p=document.createElement("link");p.rel="stylesheet",p.href=`${s}/${m}.css`,I.appendChild(p);const w=d=>{this.on.results&&this.on.results({...d.detail})},V=d=>{this.on.error&&this.on.error({...d.detail})},y=d=>{this.on.event&&this.on.event({...d.detail})};this.#e.addEventListener(l.RESULTS,w),this.#e.addEventListener(l.ERROR,V),this.#e.addEventListener(l.APPEVENT,y),I.appendChild(this.#e);const S=document.createElement("script");S.type="module",S.src=`${s}/${m}.mjs`,S.onload=()=>{import(S.src).then(d=>{d.app.init(this.#e,s,R,h,G,P,U)}).catch(()=>{N&&N("Failed to initialize Measurement Embedded React app")})},S.onerror=()=>{N&&N("Failed to load the measurement embedded app script")},I.appendChild(S)}destroy(){const t=new CustomEvent("measurement-embedded-app-action",{detail:{action:_.DESTROY,data:{}}});this.#e.dispatchEvent(t),document.documentElement.style.overflow=k,this.#t&&document.body.contains(this.#t)&&document.body.removeChild(this.#t)}setTheme(t){const E=new CustomEvent("measurement-embedded-app-action",{detail:{action:_.SET_THEME,data:{theme:t}}});this.#e.dispatchEvent(E)}setLanguage(t){const E=new CustomEvent("measurement-embedded-app-action",{detail:{action:_.SET_LANGUAGE,data:{language:t}}});this.#e.dispatchEvent(E)}async cancel(){return new Promise(t=>{const E=R=>{this.#e.removeEventListener(l.CANCELLED,E),t(R.detail.success)};this.#e.addEventListener(l.CANCELLED,E);const s=new CustomEvent("measurement-embedded-app-action",{detail:{action:_.CANCEL,data:{}}});this.#e.dispatchEvent(s)})}getLogs(){return new Promise(t=>{const E=R=>{this.#e.removeEventListener(l.LOGS,E),t(R.detail.logs)};this.#e.addEventListener(l.LOGS,E);const s=new CustomEvent("measurement-embedded-app-action",{detail:{action:_.GET_LOGS,data:{}}});this.#e.dispatchEvent(s)})}}export{v as ErrorCodes,g as appEvents,W as default,B as faceAttributeValue,l as measurementEmbeddedAppEvents};
|