react-native-spike-sdk 1.0.23 → 2.1.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 +243 -185
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/spikesdk/SpikeMappers.kt +9 -3
- package/android/src/main/java/com/spikesdk/SpikeSdkModule.kt +54 -98
- package/ios/SpikeConnectionListener.swift +1 -1
- package/ios/SpikeDataTypeMapper.swift +2 -2
- package/ios/SpikeExceptionMapper.swift +2 -0
- package/ios/SpikeSdk.m +1 -24
- package/ios/SpikeSdk.swift +15 -110
- package/lib/commonjs/Spike.js +4 -39
- package/lib/commonjs/Spike.js.map +1 -1
- package/lib/commonjs/SpikeBackgroundDeliveriesLogger.js +2 -0
- package/lib/{module/SpikeWebhookConnectionListener.js.map → commonjs/SpikeBackgroundDeliveriesLogger.js.map} +1 -1
- package/lib/commonjs/SpikeConnection.js +82 -8
- package/lib/commonjs/SpikeConnection.js.map +1 -1
- package/lib/commonjs/SpikeException.js +3 -1
- package/lib/commonjs/SpikeException.js.map +1 -1
- package/lib/commonjs/index.js +9 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/Spike.js +4 -35
- package/lib/module/Spike.js.map +1 -1
- package/lib/module/SpikeBackgroundDeliveriesLogger.js +2 -0
- package/lib/{commonjs/SpikeWebhookConnectionListener.js.map → module/SpikeBackgroundDeliveriesLogger.js.map} +1 -1
- package/lib/module/SpikeConnection.js +82 -8
- package/lib/module/SpikeConnection.js.map +1 -1
- package/lib/module/SpikeException.js +1 -0
- package/lib/module/SpikeException.js.map +1 -1
- package/lib/module/index.js +4 -9
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/Spike.d.ts +10 -8
- package/lib/typescript/Spike.d.ts.map +1 -1
- package/lib/typescript/SpikeBackgroundDeliveriesLogger.d.ts +4 -0
- package/lib/typescript/SpikeBackgroundDeliveriesLogger.d.ts.map +1 -0
- package/lib/typescript/SpikeConnection.d.ts +21 -4
- package/lib/typescript/SpikeConnection.d.ts.map +1 -1
- package/lib/typescript/SpikeException.d.ts +2 -0
- package/lib/typescript/SpikeException.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +6 -10
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-spike-sdk.podspec +2 -2
- package/src/Spike.ts +16 -71
- package/src/SpikeBackgroundDeliveriesLogger.ts +3 -0
- package/src/SpikeConnection.ts +157 -21
- package/src/SpikeException.ts +1 -0
- package/src/index.ts +6 -13
- package/lib/commonjs/SpikeWebhookConnection.js +0 -111
- package/lib/commonjs/SpikeWebhookConnection.js.map +0 -1
- package/lib/commonjs/SpikeWebhookConnectionListener.js +0 -2
- package/lib/module/SpikeWebhookConnection.js +0 -104
- package/lib/module/SpikeWebhookConnection.js.map +0 -1
- package/lib/module/SpikeWebhookConnectionListener.js +0 -2
- package/lib/typescript/SpikeWebhookConnection.d.ts +0 -22
- package/lib/typescript/SpikeWebhookConnection.d.ts.map +0 -1
- package/lib/typescript/SpikeWebhookConnectionListener.d.ts +0 -4
- package/lib/typescript/SpikeWebhookConnectionListener.d.ts.map +0 -1
- package/src/SpikeWebhookConnection.ts +0 -173
- package/src/SpikeWebhookConnectionListener.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpikeBackgroundDeliveriesLogger.d.ts","sourceRoot":"","sources":["../../src/SpikeBackgroundDeliveriesLogger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import type { SpikeLogger } from './SpikeLogger';
|
|
2
2
|
import type { SpikeData, SpikeDataEntry } from './DataModels/SpikeData';
|
|
3
|
-
import type
|
|
3
|
+
import { type SpikeDataType } from './DataTypes/SpikeDataType';
|
|
4
|
+
import type { SpikeWebhookJob } from './DataModels/SpikeWebhookJob';
|
|
5
|
+
import type { SpikeBackgroundDeliveriesLogger } from './SpikeBackgroundDeliveriesLogger';
|
|
6
|
+
export type SpikeExtractConfig<DataEntry extends SpikeDataEntry> = {
|
|
7
|
+
dataType: SpikeDataType<DataEntry>;
|
|
8
|
+
} | {
|
|
9
|
+
dataType: SpikeDataType<DataEntry>;
|
|
10
|
+
from: Date;
|
|
11
|
+
to: Date;
|
|
12
|
+
};
|
|
4
13
|
export declare class SpikeConnection {
|
|
5
14
|
private logEventListener;
|
|
15
|
+
private eventListener;
|
|
16
|
+
private backgroundLogger;
|
|
6
17
|
protected connectionUUID: string;
|
|
7
18
|
protected logger: SpikeLogger | null;
|
|
8
19
|
toString(): string;
|
|
@@ -15,11 +26,17 @@ export declare class SpikeConnection {
|
|
|
15
26
|
getAppId(): Promise<string>;
|
|
16
27
|
getSpikeEndUserId(): Promise<string>;
|
|
17
28
|
getCustomerEndUserId(): Promise<string>;
|
|
29
|
+
getCallbackUrl(): Promise<string>;
|
|
18
30
|
close(): Promise<void>;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
31
|
+
extractData<DataEntry extends SpikeDataEntry>(config: SpikeExtractConfig<DataEntry>): Promise<SpikeData<DataEntry>>;
|
|
32
|
+
extractAndPostData<DataEntry extends SpikeDataEntry>(config: SpikeExtractConfig<DataEntry>): Promise<SpikeWebhookJob>;
|
|
33
|
+
enableBackgroundDelivery<DataEntry extends SpikeDataEntry>(dataTypes: SpikeDataType<DataEntry>[]): Promise<void>;
|
|
34
|
+
getBackgroundDeliveryDataTypes<DataEntry extends SpikeDataEntry>(): Promise<SpikeDataType<DataEntry>[]>;
|
|
35
|
+
setListener(listener: SpikeBackgroundDeliveriesLogger | null): Promise<void>;
|
|
22
36
|
private setupLogger;
|
|
23
37
|
private removeLogger;
|
|
38
|
+
private setupListener;
|
|
39
|
+
private removeListeners;
|
|
40
|
+
private convertDataType;
|
|
24
41
|
}
|
|
25
42
|
//# sourceMappingURL=SpikeConnection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpikeConnection.d.ts","sourceRoot":"","sources":["../../src/SpikeConnection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SpikeConnection.d.ts","sourceRoot":"","sources":["../../src/SpikeConnection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAML,KAAK,aAAa,EAOnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAYzF,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,cAAc,IAC3D;IAAE,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;CAAE,GACtC;IAAE,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjE,qBAAa,eAAe;IAC1B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,aAAa,CAAiC;IAEtD,OAAO,CAAC,gBAAgB,CAAgD;IAExE,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAQ;IAE5C,QAAQ;IAIR,MAAM,IAAI,MAAM;gBAOJ,cAAc,EAAE,MAAM,EAAE,MAAM,GAAE,WAAW,GAAG,IAAW;IAK/D,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpC,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAO3C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAM3B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMpC,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMvC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,WAAW,CAAC,SAAS,SAAS,cAAc,EAChD,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,GACpC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAuB1B,kBAAkB,CAAC,SAAS,SAAS,cAAc,EACvD,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,GACpC,OAAO,CAAC,eAAe,CAAC;IAuBrB,wBAAwB,CAAC,SAAS,SAAS,cAAc,EAC7D,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IAUV,8BAA8B,CAClC,SAAS,SAAS,cAAc,KAC7B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;IAUlC,WAAW,CACf,QAAQ,EAAE,+BAA+B,GAAG,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC;IAShB,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;CA4BxB"}
|
|
@@ -18,4 +18,6 @@ export declare class SpikeServerException extends SpikeException {
|
|
|
18
18
|
}
|
|
19
19
|
export declare class SpikeUnpackException extends SpikeException {
|
|
20
20
|
}
|
|
21
|
+
export declare class SpikeCallbackURLNotProvidedException extends SpikeException {
|
|
22
|
+
}
|
|
21
23
|
//# sourceMappingURL=SpikeException.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpikeException.d.ts","sourceRoot":"","sources":["../../src/SpikeException.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C,qBAAa,qCAAsC,SAAQ,cAAc;CAAG;AAC5E,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AACvE,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AACvE,qBAAa,8BAA+B,SAAQ,cAAc;CAAG;AACrE,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AACvE,qBAAa,kBAAmB,SAAQ,cAAc;CAAG;AACzD,qBAAa,mCAAoC,SAAQ,cAAc;CAAG;AAC1E,qBAAa,oBAAqB,SAAQ,cAAc;CAAG;AAC3D,qBAAa,oBAAqB,SAAQ,cAAc;CAAG"}
|
|
1
|
+
{"version":3,"file":"SpikeException.d.ts","sourceRoot":"","sources":["../../src/SpikeException.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C,qBAAa,qCAAsC,SAAQ,cAAc;CAAG;AAC5E,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AACvE,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AACvE,qBAAa,8BAA+B,SAAQ,cAAc;CAAG;AACrE,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AACvE,qBAAa,kBAAmB,SAAQ,cAAc;CAAG;AACzD,qBAAa,mCAAoC,SAAQ,cAAc;CAAG;AAC1E,qBAAa,oBAAqB,SAAQ,cAAc;CAAG;AAC3D,qBAAa,oBAAqB,SAAQ,cAAc;CAAG;AAC3D,qBAAa,oCAAqC,SAAQ,cAAc;CAAG"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import { SpikeDataTypes } from './DataModels/SpikeDataTypes';
|
|
2
2
|
import type { SpikeDataType } from './DataTypes/SpikeDataType';
|
|
3
3
|
import type { SpikeDataEntry } from './DataModels/SpikeData';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { SpikeConnectionConfig } from './Spike';
|
|
5
|
+
import { SpikeConnection, SpikeExtractConfig } from './SpikeConnection';
|
|
6
6
|
import type { SpikeLogger } from './SpikeLogger';
|
|
7
|
-
import type {
|
|
7
|
+
import type { SpikeBackgroundDeliveriesLogger } from './SpikeBackgroundDeliveriesLogger';
|
|
8
8
|
import type { SpikeEnvironment } from './SpikeEnvironment';
|
|
9
9
|
declare const _default: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
createWebhookConnection: (appId: string, authToken: string, customerEndUserId: string, callbackUrl: string, logger?: SpikeLogger | null) => Promise<SpikeWebhookConnection>;
|
|
13
|
-
unpackConnection: (connection: string, logger?: SpikeLogger | null) => Promise<SpikeConnection>;
|
|
14
|
-
getBackgroundConnections: () => Promise<SpikeWebhookConnection[]>;
|
|
10
|
+
createConnection: (config: SpikeConnectionConfig, logger?: SpikeLogger | undefined) => Promise<SpikeConnection>;
|
|
11
|
+
getBackgroundConnections: () => Promise<SpikeConnection[]>;
|
|
15
12
|
ensurePermissionsAreGranted: <DataEntry extends SpikeDataEntry>(permissions: SpikeDataType<DataEntry>[]) => Promise<void>;
|
|
16
|
-
initialize: () => void;
|
|
17
13
|
};
|
|
18
14
|
export default _default;
|
|
19
|
-
export { SpikeConnection,
|
|
15
|
+
export { SpikeConnection, SpikeDataTypes, SpikeDataType, SpikeDataEntry, SpikeLogger, SpikeBackgroundDeliveriesLogger, SpikeEnvironment, SpikeConnectionConfig, SpikeExtractConfig, };
|
|
20
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAIL,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;;;;;;AAE3D,wBAIE;AAEF,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,+BAA+B,EAC/B,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1
|
|
|
5
5
|
|
|
6
6
|
Pod::Spec.new do |s|
|
|
7
7
|
s.name = "react-native-spike-sdk"
|
|
8
|
-
s.version = "1.0
|
|
8
|
+
s.version = "2.1.0"
|
|
9
9
|
s.summary = "Spike API for health and productivity data from wearables and IoT devices"
|
|
10
10
|
|
|
11
11
|
s.description = <<-DESC
|
|
@@ -25,7 +25,7 @@ Pod::Spec.new do |s|
|
|
|
25
25
|
s.swift_version = "5"
|
|
26
26
|
|
|
27
27
|
s.dependency "React-Core"
|
|
28
|
-
s.dependency "SpikeSDK", "1.0
|
|
28
|
+
s.dependency "SpikeSDK", "2.1.0"
|
|
29
29
|
|
|
30
30
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
31
31
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
package/src/Spike.ts
CHANGED
|
@@ -6,19 +6,18 @@ import type { SpikeEnvironment } from './SpikeEnvironment';
|
|
|
6
6
|
import { SpikeException } from './SpikeException';
|
|
7
7
|
import type { SpikeLogger } from './SpikeLogger';
|
|
8
8
|
import { SpikeSdk } from './SpikeSdk';
|
|
9
|
-
import { SpikeWebhookConnection } from './SpikeWebhookConnection';
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
type SpikeConnectionConfig = {
|
|
11
|
+
appId: string;
|
|
12
|
+
authToken: string;
|
|
13
|
+
customerEndUserId: string;
|
|
14
|
+
callbackUrl?: string;
|
|
15
|
+
env?: SpikeEnvironment;
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
const createConnection = async (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
customerEndUserId: string,
|
|
21
|
-
logger: SpikeLogger | null = null
|
|
19
|
+
config: SpikeConnectionConfig,
|
|
20
|
+
logger?: SpikeLogger
|
|
22
21
|
): Promise<SpikeConnection> => {
|
|
23
22
|
if (!SpikeSdk) throw new SpikeException();
|
|
24
23
|
|
|
@@ -27,68 +26,23 @@ const createConnection = async (
|
|
|
27
26
|
|
|
28
27
|
await SpikeSdk.createConnection(
|
|
29
28
|
connectionUUID,
|
|
30
|
-
appId,
|
|
31
|
-
authToken,
|
|
32
|
-
customerEndUserId,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return spikeConnection;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
const createWebhookConnection = async (
|
|
40
|
-
appId: string,
|
|
41
|
-
authToken: string,
|
|
42
|
-
customerEndUserId: string,
|
|
43
|
-
callbackUrl: string,
|
|
44
|
-
logger: SpikeLogger | null = null
|
|
45
|
-
): Promise<SpikeWebhookConnection> => {
|
|
46
|
-
if (!SpikeSdk) throw new SpikeException();
|
|
47
|
-
|
|
48
|
-
const connectionUUID = generateUUID();
|
|
49
|
-
const spikeConnection = new SpikeWebhookConnection(connectionUUID, logger);
|
|
50
|
-
|
|
51
|
-
await SpikeSdk.createWebhookConnection(
|
|
52
|
-
connectionUUID,
|
|
53
|
-
appId,
|
|
54
|
-
authToken,
|
|
55
|
-
customerEndUserId,
|
|
56
|
-
callbackUrl,
|
|
29
|
+
config.appId,
|
|
30
|
+
config.authToken,
|
|
31
|
+
config.customerEndUserId,
|
|
32
|
+
config.callbackUrl ?? null,
|
|
33
|
+
config.env ?? 'PROD',
|
|
57
34
|
!!logger
|
|
58
35
|
);
|
|
59
36
|
|
|
60
37
|
return spikeConnection;
|
|
61
38
|
};
|
|
62
39
|
|
|
63
|
-
const
|
|
64
|
-
connection: string,
|
|
65
|
-
logger: SpikeLogger | null = null
|
|
66
|
-
): Promise<SpikeConnection> => {
|
|
67
|
-
if (!SpikeSdk) throw new SpikeException();
|
|
68
|
-
|
|
69
|
-
const connectionUUID = generateUUID();
|
|
70
|
-
const webhookConnection = new SpikeWebhookConnection(connectionUUID, logger);
|
|
71
|
-
|
|
72
|
-
await SpikeSdk.unpackConnection(connectionUUID, connection, !!logger);
|
|
73
|
-
|
|
74
|
-
try {
|
|
75
|
-
await webhookConnection.getCallbackUrl();
|
|
76
|
-
return webhookConnection;
|
|
77
|
-
} catch (error) {
|
|
78
|
-
return webhookConnection as SpikeConnection;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const getBackgroundConnections = async (): Promise<
|
|
83
|
-
SpikeWebhookConnection[]
|
|
84
|
-
> => {
|
|
40
|
+
const getBackgroundConnections = async (): Promise<SpikeConnection[]> => {
|
|
85
41
|
if (!SpikeSdk) throw new SpikeException();
|
|
86
42
|
|
|
87
43
|
const connectionUUIDs: string[] = await SpikeSdk.getBackgroundConnections();
|
|
88
44
|
|
|
89
|
-
const connections = connectionUUIDs.map(
|
|
90
|
-
(uuid) => new SpikeWebhookConnection(uuid)
|
|
91
|
-
);
|
|
45
|
+
const connections = connectionUUIDs.map((uuid) => new SpikeConnection(uuid));
|
|
92
46
|
return connections;
|
|
93
47
|
};
|
|
94
48
|
|
|
@@ -103,12 +57,6 @@ const ensurePermissionsAreGranted = async <DataEntry extends SpikeDataEntry>(
|
|
|
103
57
|
);
|
|
104
58
|
};
|
|
105
59
|
|
|
106
|
-
const initialize = () => {
|
|
107
|
-
if (!SpikeSdk) throw new SpikeException();
|
|
108
|
-
|
|
109
|
-
SpikeSdk.initialize();
|
|
110
|
-
};
|
|
111
|
-
|
|
112
60
|
function generateUUID() {
|
|
113
61
|
const S4 = function () {
|
|
114
62
|
let str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXZ';
|
|
@@ -136,11 +84,8 @@ function generateUUID() {
|
|
|
136
84
|
}
|
|
137
85
|
|
|
138
86
|
export {
|
|
139
|
-
setEnvironment,
|
|
140
87
|
createConnection,
|
|
141
|
-
createWebhookConnection,
|
|
142
|
-
unpackConnection,
|
|
143
88
|
getBackgroundConnections,
|
|
144
89
|
ensurePermissionsAreGranted,
|
|
145
|
-
|
|
90
|
+
SpikeConnectionConfig,
|
|
146
91
|
};
|
package/src/SpikeConnection.ts
CHANGED
|
@@ -3,14 +3,42 @@ import { SpikeException } from './SpikeException';
|
|
|
3
3
|
import type { SpikeLogger } from './SpikeLogger';
|
|
4
4
|
import { SpikeSdk } from './SpikeSdk';
|
|
5
5
|
import type { SpikeData, SpikeDataEntry } from './DataModels/SpikeData';
|
|
6
|
-
import
|
|
6
|
+
import {
|
|
7
|
+
SpikeActivitiesStreamDataType,
|
|
8
|
+
SpikeActivitiesSummaryDataType,
|
|
9
|
+
SpikeBreathingDataType,
|
|
10
|
+
SpikeCaloriesDataType,
|
|
11
|
+
SpikeDistanceDataType,
|
|
12
|
+
type SpikeDataType,
|
|
13
|
+
SpikeGlucoseDataType,
|
|
14
|
+
SpikeHeartDataType,
|
|
15
|
+
SpikeOxygenSaturationDataType,
|
|
16
|
+
SpikeSleepDataType,
|
|
17
|
+
SpikeStepsDataType,
|
|
18
|
+
SpikeBodyDataType,
|
|
19
|
+
} from './DataTypes/SpikeDataType';
|
|
20
|
+
import type { SpikeWebhookJob } from './DataModels/SpikeWebhookJob';
|
|
21
|
+
import type { SpikeBackgroundDeliveriesLogger } from './SpikeBackgroundDeliveriesLogger';
|
|
7
22
|
|
|
8
23
|
interface ILogEvent {
|
|
9
24
|
connectionUUID: string;
|
|
10
25
|
message: string;
|
|
11
26
|
}
|
|
27
|
+
|
|
28
|
+
interface IBackgroundLog {
|
|
29
|
+
connectionUUID: string;
|
|
30
|
+
log: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type SpikeExtractConfig<DataEntry extends SpikeDataEntry> =
|
|
34
|
+
| { dataType: SpikeDataType<DataEntry> }
|
|
35
|
+
| { dataType: SpikeDataType<DataEntry>; from: Date; to: Date };
|
|
36
|
+
|
|
12
37
|
export class SpikeConnection {
|
|
13
38
|
private logEventListener: NativeEventEmitter | undefined;
|
|
39
|
+
private eventListener: NativeEventEmitter | undefined;
|
|
40
|
+
|
|
41
|
+
private backgroundLogger: SpikeBackgroundDeliveriesLogger | null = null;
|
|
14
42
|
|
|
15
43
|
protected connectionUUID: string;
|
|
16
44
|
protected logger: SpikeLogger | null = null;
|
|
@@ -77,47 +105,102 @@ export class SpikeConnection {
|
|
|
77
105
|
return await SpikeSdk.getCustomerEndUserId(this.connectionUUID);
|
|
78
106
|
}
|
|
79
107
|
|
|
80
|
-
async
|
|
108
|
+
async getCallbackUrl(): Promise<string> {
|
|
81
109
|
if (!SpikeSdk) throw new SpikeException();
|
|
82
110
|
|
|
83
|
-
await SpikeSdk.
|
|
111
|
+
return await SpikeSdk.getCallbackUrl(this.connectionUUID);
|
|
84
112
|
}
|
|
85
113
|
|
|
86
|
-
async
|
|
114
|
+
async close(): Promise<void> {
|
|
87
115
|
if (!SpikeSdk) throw new SpikeException();
|
|
88
116
|
|
|
89
|
-
|
|
117
|
+
await SpikeSdk.close(this.connectionUUID);
|
|
118
|
+
this.removeListeners();
|
|
90
119
|
}
|
|
91
120
|
|
|
92
121
|
async extractData<DataEntry extends SpikeDataEntry>(
|
|
93
|
-
|
|
122
|
+
config: SpikeExtractConfig<DataEntry>
|
|
94
123
|
): Promise<SpikeData<DataEntry>> {
|
|
95
124
|
if (!SpikeSdk) throw new SpikeException();
|
|
96
125
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
126
|
+
let json: string = '';
|
|
127
|
+
|
|
128
|
+
if ('from' in config) {
|
|
129
|
+
json = await SpikeSdk.extractDataInRange(
|
|
130
|
+
this.connectionUUID,
|
|
131
|
+
config.dataType.rawValue,
|
|
132
|
+
config.from.getTime(),
|
|
133
|
+
config.to.getTime()
|
|
134
|
+
);
|
|
135
|
+
} else {
|
|
136
|
+
json = await SpikeSdk.extractData(
|
|
137
|
+
this.connectionUUID,
|
|
138
|
+
config.dataType.rawValue
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
101
142
|
const data: SpikeData<DataEntry> = JSON.parse(json);
|
|
102
143
|
return data;
|
|
103
144
|
}
|
|
104
145
|
|
|
105
|
-
async
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
to: Date
|
|
109
|
-
): Promise<SpikeData<DataEntry>> {
|
|
146
|
+
async extractAndPostData<DataEntry extends SpikeDataEntry>(
|
|
147
|
+
config: SpikeExtractConfig<DataEntry>
|
|
148
|
+
): Promise<SpikeWebhookJob> {
|
|
110
149
|
if (!SpikeSdk) throw new SpikeException();
|
|
111
150
|
|
|
112
|
-
|
|
151
|
+
let json: string = '';
|
|
152
|
+
|
|
153
|
+
if ('from' in config) {
|
|
154
|
+
json = await SpikeSdk.extractAndPostDataInRange(
|
|
155
|
+
this.connectionUUID,
|
|
156
|
+
config.dataType.rawValue,
|
|
157
|
+
config.from.getTime(),
|
|
158
|
+
config.to.getTime()
|
|
159
|
+
);
|
|
160
|
+
} else {
|
|
161
|
+
json = await SpikeSdk.extractAndPostData(
|
|
162
|
+
this.connectionUUID,
|
|
163
|
+
config.dataType.rawValue
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const data: SpikeWebhookJob = JSON.parse(json);
|
|
168
|
+
return data;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
async enableBackgroundDelivery<DataEntry extends SpikeDataEntry>(
|
|
172
|
+
dataTypes: SpikeDataType<DataEntry>[]
|
|
173
|
+
): Promise<void> {
|
|
174
|
+
if (Platform.OS !== 'ios') return;
|
|
175
|
+
if (!SpikeSdk) throw new SpikeException();
|
|
176
|
+
|
|
177
|
+
await SpikeSdk.enableBackgroundDelivery(
|
|
113
178
|
this.connectionUUID,
|
|
114
|
-
|
|
115
|
-
from.getTime(),
|
|
116
|
-
to.getTime()
|
|
179
|
+
dataTypes.map((type) => type.rawValue)
|
|
117
180
|
);
|
|
181
|
+
}
|
|
118
182
|
|
|
119
|
-
|
|
120
|
-
|
|
183
|
+
async getBackgroundDeliveryDataTypes<
|
|
184
|
+
DataEntry extends SpikeDataEntry
|
|
185
|
+
>(): Promise<SpikeDataType<DataEntry>[]> {
|
|
186
|
+
if (Platform.OS !== 'ios') return [];
|
|
187
|
+
if (!SpikeSdk) throw new SpikeException();
|
|
188
|
+
|
|
189
|
+
const dataTypes: string[] = await SpikeSdk.getBackgroundDeliveryDataTypes(
|
|
190
|
+
this.connectionUUID
|
|
191
|
+
);
|
|
192
|
+
return dataTypes.map((type) => this.convertDataType(type));
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
async setListener(
|
|
196
|
+
listener: SpikeBackgroundDeliveriesLogger | null
|
|
197
|
+
): Promise<void> {
|
|
198
|
+
if (Platform.OS !== 'ios') return;
|
|
199
|
+
if (!SpikeSdk) throw new SpikeException();
|
|
200
|
+
|
|
201
|
+
this.setupListener(listener);
|
|
202
|
+
|
|
203
|
+
await SpikeSdk.setListener(this.connectionUUID);
|
|
121
204
|
}
|
|
122
205
|
|
|
123
206
|
private setupLogger(logger: SpikeLogger | null) {
|
|
@@ -161,4 +244,57 @@ export class SpikeConnection {
|
|
|
161
244
|
this.logEventListener = undefined;
|
|
162
245
|
this.logger = null;
|
|
163
246
|
}
|
|
247
|
+
|
|
248
|
+
private setupListener(listener: SpikeBackgroundDeliveriesLogger | null) {
|
|
249
|
+
if (!SpikeSdk) return;
|
|
250
|
+
|
|
251
|
+
this.removeListeners();
|
|
252
|
+
|
|
253
|
+
this.eventListener = new NativeEventEmitter(SpikeSdk);
|
|
254
|
+
this.backgroundLogger = listener;
|
|
255
|
+
|
|
256
|
+
this.eventListener?.addListener(
|
|
257
|
+
'onBackgroundLog',
|
|
258
|
+
(data: IBackgroundLog) => {
|
|
259
|
+
if (this.connectionUUID !== data.connectionUUID) return;
|
|
260
|
+
this.backgroundLogger?.onBackgroundLog(data.log);
|
|
261
|
+
}
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
private removeListeners() {
|
|
266
|
+
if (!this.eventListener) return;
|
|
267
|
+
|
|
268
|
+
this.eventListener.removeAllListeners('onBackgroundLog');
|
|
269
|
+
this.eventListener = undefined;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
private convertDataType<DataEntry extends SpikeDataEntry>(
|
|
273
|
+
dataType: string
|
|
274
|
+
): SpikeDataType<DataEntry> {
|
|
275
|
+
if (dataType === 'activities_summary') {
|
|
276
|
+
return new SpikeActivitiesSummaryDataType();
|
|
277
|
+
} else if (dataType === 'activities_stream') {
|
|
278
|
+
return new SpikeActivitiesStreamDataType();
|
|
279
|
+
} else if (dataType === 'breathing') {
|
|
280
|
+
return new SpikeBreathingDataType();
|
|
281
|
+
} else if (dataType === 'calories') {
|
|
282
|
+
return new SpikeCaloriesDataType();
|
|
283
|
+
} else if (dataType === 'distance') {
|
|
284
|
+
return new SpikeDistanceDataType();
|
|
285
|
+
} else if (dataType === 'glucose') {
|
|
286
|
+
return new SpikeGlucoseDataType();
|
|
287
|
+
} else if (dataType === 'heart') {
|
|
288
|
+
return new SpikeHeartDataType();
|
|
289
|
+
} else if (dataType === 'oxygen_saturation') {
|
|
290
|
+
return new SpikeOxygenSaturationDataType();
|
|
291
|
+
} else if (dataType === 'sleep') {
|
|
292
|
+
return new SpikeSleepDataType();
|
|
293
|
+
} else if (dataType === 'steps') {
|
|
294
|
+
return new SpikeStepsDataType();
|
|
295
|
+
} else if (dataType === 'body') {
|
|
296
|
+
return new SpikeBodyDataType();
|
|
297
|
+
}
|
|
298
|
+
return new SpikeStepsDataType();
|
|
299
|
+
}
|
|
164
300
|
}
|
package/src/SpikeException.ts
CHANGED
|
@@ -9,3 +9,4 @@ export class SpikePackException extends SpikeException {}
|
|
|
9
9
|
export class SpikePermissionsNotGrantedException extends SpikeException {}
|
|
10
10
|
export class SpikeServerException extends SpikeException {}
|
|
11
11
|
export class SpikeUnpackException extends SpikeException {}
|
|
12
|
+
export class SpikeCallbackURLNotProvidedException extends SpikeException {}
|
package/src/index.ts
CHANGED
|
@@ -2,37 +2,30 @@ import { SpikeDataTypes } from './DataModels/SpikeDataTypes';
|
|
|
2
2
|
import type { SpikeDataType } from './DataTypes/SpikeDataType';
|
|
3
3
|
import type { SpikeDataEntry } from './DataModels/SpikeData';
|
|
4
4
|
import {
|
|
5
|
-
setEnvironment,
|
|
6
5
|
createConnection,
|
|
7
|
-
createWebhookConnection,
|
|
8
|
-
unpackConnection,
|
|
9
6
|
getBackgroundConnections,
|
|
10
7
|
ensurePermissionsAreGranted,
|
|
11
|
-
|
|
8
|
+
SpikeConnectionConfig,
|
|
12
9
|
} from './Spike';
|
|
13
|
-
import { SpikeConnection } from './SpikeConnection';
|
|
14
|
-
import { SpikeWebhookConnection } from './SpikeWebhookConnection';
|
|
10
|
+
import { SpikeConnection, SpikeExtractConfig } from './SpikeConnection';
|
|
15
11
|
import type { SpikeLogger } from './SpikeLogger';
|
|
16
|
-
import type {
|
|
12
|
+
import type { SpikeBackgroundDeliveriesLogger } from './SpikeBackgroundDeliveriesLogger';
|
|
17
13
|
import type { SpikeEnvironment } from './SpikeEnvironment';
|
|
18
14
|
|
|
19
15
|
export default {
|
|
20
|
-
setEnvironment,
|
|
21
16
|
createConnection,
|
|
22
|
-
createWebhookConnection,
|
|
23
|
-
unpackConnection,
|
|
24
17
|
getBackgroundConnections,
|
|
25
18
|
ensurePermissionsAreGranted,
|
|
26
|
-
initialize,
|
|
27
19
|
};
|
|
28
20
|
|
|
29
21
|
export {
|
|
30
22
|
SpikeConnection,
|
|
31
|
-
SpikeWebhookConnection,
|
|
32
23
|
SpikeDataTypes,
|
|
33
24
|
SpikeDataType,
|
|
34
25
|
SpikeDataEntry,
|
|
35
26
|
SpikeLogger,
|
|
36
|
-
|
|
27
|
+
SpikeBackgroundDeliveriesLogger,
|
|
37
28
|
SpikeEnvironment,
|
|
29
|
+
SpikeConnectionConfig,
|
|
30
|
+
SpikeExtractConfig,
|
|
38
31
|
};
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SpikeWebhookConnection = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _SpikeConnection = require("./SpikeConnection");
|
|
9
|
-
var _SpikeException = require("./SpikeException");
|
|
10
|
-
var _SpikeSdk = require("./SpikeSdk");
|
|
11
|
-
var _SpikeDataType = require("./DataTypes/SpikeDataType");
|
|
12
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
14
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
-
class SpikeWebhookConnection extends _SpikeConnection.SpikeConnection {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
_defineProperty(this, "eventListener", void 0);
|
|
19
|
-
_defineProperty(this, "webhookListener", null);
|
|
20
|
-
}
|
|
21
|
-
toString() {
|
|
22
|
-
return 'This is wrapper class. To get connection data use `getAppId()`, `getSpikeEndUserId()`, `getCustomerEndUserId()`, `getCallbackUrl()` methods.';
|
|
23
|
-
}
|
|
24
|
-
toJSON() {
|
|
25
|
-
return JSON.stringify({
|
|
26
|
-
warning: 'This is wrapper class. To get connection data use `getAppId()`, `getSpikeEndUserId()`, `getCustomerEndUserId()`, `getCallbackUrl()` methods.'
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
async getCallbackUrl() {
|
|
30
|
-
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
31
|
-
return await _SpikeSdk.SpikeSdk.getCallbackUrl(this.connectionUUID);
|
|
32
|
-
}
|
|
33
|
-
async extractAndPostData(dataType) {
|
|
34
|
-
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
35
|
-
const json = await _SpikeSdk.SpikeSdk.extractAndPostData(this.connectionUUID, dataType.rawValue);
|
|
36
|
-
const data = JSON.parse(json);
|
|
37
|
-
return data;
|
|
38
|
-
}
|
|
39
|
-
async extractAndPostDataInRange(dataType, from, to) {
|
|
40
|
-
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
41
|
-
const json = await _SpikeSdk.SpikeSdk.extractAndPostDataInRange(this.connectionUUID, dataType.rawValue, from.getTime(), to.getTime());
|
|
42
|
-
const data = JSON.parse(json);
|
|
43
|
-
return data;
|
|
44
|
-
}
|
|
45
|
-
async enableBackgroundDelivery(dataTypes) {
|
|
46
|
-
if (_reactNative.Platform.OS !== 'ios') return;
|
|
47
|
-
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
48
|
-
await _SpikeSdk.SpikeSdk.enableBackgroundDelivery(this.connectionUUID, dataTypes.map(type => type.rawValue));
|
|
49
|
-
}
|
|
50
|
-
async getBackgroundDeliveryDataTypes() {
|
|
51
|
-
if (_reactNative.Platform.OS !== 'ios') return [];
|
|
52
|
-
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
53
|
-
const dataTypes = await _SpikeSdk.SpikeSdk.getBackgroundDeliveryDataTypes(this.connectionUUID);
|
|
54
|
-
return dataTypes.map(type => this.convertDataType(type));
|
|
55
|
-
}
|
|
56
|
-
async setListener(listener) {
|
|
57
|
-
if (_reactNative.Platform.OS !== 'ios') return;
|
|
58
|
-
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
59
|
-
this.setupListener(listener);
|
|
60
|
-
await _SpikeSdk.SpikeSdk.setListener(this.connectionUUID);
|
|
61
|
-
}
|
|
62
|
-
async close() {
|
|
63
|
-
await super.close();
|
|
64
|
-
this.removeListeners();
|
|
65
|
-
}
|
|
66
|
-
setupListener(listener) {
|
|
67
|
-
var _this$eventListener;
|
|
68
|
-
if (!_SpikeSdk.SpikeSdk) return;
|
|
69
|
-
this.removeListeners();
|
|
70
|
-
this.eventListener = new _reactNative.NativeEventEmitter(_SpikeSdk.SpikeSdk);
|
|
71
|
-
this.webhookListener = listener;
|
|
72
|
-
(_this$eventListener = this.eventListener) === null || _this$eventListener === void 0 ? void 0 : _this$eventListener.addListener('onBackgroundLog', data => {
|
|
73
|
-
var _this$webhookListener;
|
|
74
|
-
if (this.connectionUUID !== data.connectionUUID) return;
|
|
75
|
-
(_this$webhookListener = this.webhookListener) === null || _this$webhookListener === void 0 ? void 0 : _this$webhookListener.onBackgroundLog(data.log);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
removeListeners() {
|
|
79
|
-
if (!this.eventListener) return;
|
|
80
|
-
this.eventListener.removeAllListeners('onBackgroundLog');
|
|
81
|
-
this.eventListener = undefined;
|
|
82
|
-
}
|
|
83
|
-
convertDataType(dataType) {
|
|
84
|
-
if (dataType === 'activities_summary') {
|
|
85
|
-
return new _SpikeDataType.SpikeActivitiesSummaryDataType();
|
|
86
|
-
} else if (dataType === 'activities_stream') {
|
|
87
|
-
return new _SpikeDataType.SpikeActivitiesStreamDataType();
|
|
88
|
-
} else if (dataType === 'breathing') {
|
|
89
|
-
return new _SpikeDataType.SpikeBreathingDataType();
|
|
90
|
-
} else if (dataType === 'calories') {
|
|
91
|
-
return new _SpikeDataType.SpikeCaloriesDataType();
|
|
92
|
-
} else if (dataType === 'distance') {
|
|
93
|
-
return new _SpikeDataType.SpikeDistanceDataType();
|
|
94
|
-
} else if (dataType === 'glucose') {
|
|
95
|
-
return new _SpikeDataType.SpikeGlucoseDataType();
|
|
96
|
-
} else if (dataType === 'heart') {
|
|
97
|
-
return new _SpikeDataType.SpikeHeartDataType();
|
|
98
|
-
} else if (dataType === 'oxygen_saturation') {
|
|
99
|
-
return new _SpikeDataType.SpikeOxygenSaturationDataType();
|
|
100
|
-
} else if (dataType === 'sleep') {
|
|
101
|
-
return new _SpikeDataType.SpikeSleepDataType();
|
|
102
|
-
} else if (dataType === 'steps') {
|
|
103
|
-
return new _SpikeDataType.SpikeStepsDataType();
|
|
104
|
-
} else if (dataType === 'body') {
|
|
105
|
-
return new _SpikeDataType.SpikeBodyDataType();
|
|
106
|
-
}
|
|
107
|
-
return new _SpikeDataType.SpikeStepsDataType();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
exports.SpikeWebhookConnection = SpikeWebhookConnection;
|
|
111
|
-
//# sourceMappingURL=SpikeWebhookConnection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["SpikeWebhookConnection","SpikeConnection","toString","toJSON","JSON","stringify","warning","getCallbackUrl","SpikeSdk","SpikeException","connectionUUID","extractAndPostData","dataType","json","rawValue","data","parse","extractAndPostDataInRange","from","to","getTime","enableBackgroundDelivery","dataTypes","Platform","OS","map","type","getBackgroundDeliveryDataTypes","convertDataType","setListener","listener","setupListener","close","removeListeners","eventListener","NativeEventEmitter","webhookListener","addListener","onBackgroundLog","log","removeAllListeners","undefined","SpikeActivitiesSummaryDataType","SpikeActivitiesStreamDataType","SpikeBreathingDataType","SpikeCaloriesDataType","SpikeDistanceDataType","SpikeGlucoseDataType","SpikeHeartDataType","SpikeOxygenSaturationDataType","SpikeSleepDataType","SpikeStepsDataType","SpikeBodyDataType"],"sourceRoot":"../../src","sources":["SpikeWebhookConnection.ts"],"mappings":"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"}
|