react-native-spike-sdk 2.1.12 → 2.1.13

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.
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withSpikeHealthKit = void 0;
7
+ const {
8
+ withEntitlementsPlist,
9
+ withInfoPlist
10
+ } = require('@expo/config-plugins');
11
+ const HEALTH_SHARE = 'Allow $(PRODUCT_NAME) to check health info';
12
+ const HEALTH_UPDATE = 'Allow $(PRODUCT_NAME) to update health info';
13
+ const HEALTH_CLINIC_SHARE = 'Allow $(PRODUCT_NAME) to check health clinical info';
14
+ const withSpikeHealthKit = function (config) {
15
+ let {
16
+ healthSharePermission,
17
+ healthUpdatePermission,
18
+ isClinicalDataEnabled,
19
+ healthClinicalDescription,
20
+ isBackgroundDeliveriesEnabled
21
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
22
+ // Add permissions
23
+ config = withInfoPlist(config, config => {
24
+ config.modResults.NSHealthShareUsageDescription = healthSharePermission || config.modResults.NSHealthShareUsageDescription || HEALTH_SHARE;
25
+ config.modResults.NSHealthUpdateUsageDescription = healthUpdatePermission || config.modResults.NSHealthUpdateUsageDescription || HEALTH_UPDATE;
26
+ isClinicalDataEnabled ? config.modResults.NSHealthClinicalHealthRecordsShareUsageDescription = healthClinicalDescription || config.modResults.NSHealthClinicalHealthRecordsShareUsageDescription || HEALTH_CLINIC_SHARE : null;
27
+ return config;
28
+ });
29
+
30
+ // Add entitlements. These are automatically synced when using EAS build for production apps.
31
+ config = withEntitlementsPlist(config, config => {
32
+ config.modResults['com.apple.developer.healthkit'] = true;
33
+ if (!Array.isArray(config.modResults['com.apple.developer.healthkit.access'])) {
34
+ config.modResults['com.apple.developer.healthkit.access'] = [];
35
+ }
36
+ if (isClinicalDataEnabled != false) {
37
+ config.modResults['com.apple.developer.healthkit.access'].push('health-records');
38
+
39
+ // Remove duplicates
40
+ config.modResults['com.apple.developer.healthkit.access'] = [...new Set(config.modResults['com.apple.developer.healthkit.access'])];
41
+ }
42
+ if (isBackgroundDeliveriesEnabled) {
43
+ config.modResults['com.apple.developer.healthkit.background-delivery'] = true;
44
+ }
45
+ return config;
46
+ });
47
+ return config;
48
+ };
49
+ exports.withSpikeHealthKit = withSpikeHealthKit;
50
+ //# sourceMappingURL=SpikePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["withEntitlementsPlist","withInfoPlist","require","HEALTH_SHARE","HEALTH_UPDATE","HEALTH_CLINIC_SHARE","withSpikeHealthKit","config","healthSharePermission","healthUpdatePermission","isClinicalDataEnabled","healthClinicalDescription","isBackgroundDeliveriesEnabled","modResults","NSHealthShareUsageDescription","NSHealthUpdateUsageDescription","NSHealthClinicalHealthRecordsShareUsageDescription","Array","isArray","push","Set"],"sourceRoot":"../../src","sources":["SpikePlugin.ts"],"mappings":";;;;;;AAEA,MAAM;EACJA,qBAAqB;EACrBC;AACF,CAAC,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AAEnC,MAAMC,YAAY,GAAG,4CAA4C;AACjE,MAAMC,aAAa,GAAG,6CAA6C;AACnE,MAAMC,mBAAmB,GACvB,qDAAqD;AAUhD,MAAMC,kBAA4C,GAAG,UAC1DC,MAAM,EAQH;EAAA,IAPH;IACEC,qBAAqB;IACrBC,sBAAsB;IACtBC,qBAAqB;IACrBC,yBAAyB;IACzBC;EACF,CAAC,uEAAG,CAAC,CAAC;EAEN;EACAL,MAAM,GAAGN,aAAa,CAACM,MAAM,EAAGA,MAAW,IAAK;IAC9CA,MAAM,CAACM,UAAU,CAACC,6BAA6B,GAC7CN,qBAAqB,IACrBD,MAAM,CAACM,UAAU,CAACC,6BAA6B,IAC/CX,YAAY;IACdI,MAAM,CAACM,UAAU,CAACE,8BAA8B,GAC9CN,sBAAsB,IACtBF,MAAM,CAACM,UAAU,CAACE,8BAA8B,IAChDX,aAAa;IACfM,qBAAqB,GAChBH,MAAM,CAACM,UAAU,CAACG,kDAAkD,GACnEL,yBAAyB,IACzBJ,MAAM,CAACM,UAAU,CACdG,kDAAkD,IACrDX,mBAAmB,GACrB,IAAI;IAER,OAAOE,MAAM;EACf,CAAC,CAAC;;EAEF;EACAA,MAAM,GAAGP,qBAAqB,CAACO,MAAM,EAAGA,MAAW,IAAK;IACtDA,MAAM,CAACM,UAAU,CAAC,+BAA+B,CAAC,GAAG,IAAI;IACzD,IACE,CAACI,KAAK,CAACC,OAAO,CAACX,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,CAAC,EACzE;MACAN,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,GAAG,EAAE;IAChE;IAEA,IAAIH,qBAAqB,IAAI,KAAK,EAAE;MAClCH,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,CAACM,IAAI,CAC5D,gBAAgB,CACjB;;MAED;MACAZ,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,GAAG,CAC1D,GAAG,IAAIO,GAAG,CAACb,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,CAAC,CACtE;IACH;IAEA,IAAID,6BAA6B,EAAE;MACjCL,MAAM,CAACM,UAAU,CAAC,mDAAmD,CAAC,GACpE,IAAI;IACR;IAEA,OAAON,MAAM;EACf,CAAC,CAAC;EAEF,OAAOA,MAAM;AACf,CAAC;AAAC"}
@@ -86,6 +86,7 @@ var _SpikeDataTypes = require("./DataModels/SpikeDataTypes");
86
86
  var _Spike = require("./Spike");
87
87
  var _SpikeConnection = require("./SpikeConnection");
88
88
  var _SpikeException = require("./SpikeException");
89
+ var _SpikePlugin = require("./SpikePlugin");
89
90
  var _default = {
90
91
  createConnection: _Spike.createConnection,
91
92
  getBackgroundConnections: _Spike.getBackgroundConnections,
@@ -93,4 +94,5 @@ var _default = {
93
94
  isPackageInstalled: _Spike.isPackageInstalled
94
95
  };
95
96
  exports.default = _default;
97
+ module.exports = _SpikePlugin.withSpikeHealthKit;
96
98
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAEA;AAOA;AAKA;AAW0B,eAaX;EACbA,gBAAgB,EAAhBA,uBAAgB;EAChBC,wBAAwB,EAAxBA,+BAAwB;EACxBC,2BAA2B,EAA3BA,kCAA2B;EAC3BC,kBAAkB,EAAlBA;AACF,CAAC;AAAA"}
1
+ {"version":3,"names":["createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled","module","exports","withSpikeHealthKit"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAEA;AAOA;AAKA;AAuBA;AAAmD,eAEpC;EACbA,gBAAgB,EAAhBA,uBAAgB;EAChBC,wBAAwB,EAAxBA,+BAAwB;EACxBC,2BAA2B,EAA3BA,kCAA2B;EAC3BC,kBAAkB,EAAlBA;AACF,CAAC;AAAA;AAkCDC,MAAM,CAACC,OAAO,GAAGC,+BAAkB"}
@@ -0,0 +1,43 @@
1
+ const {
2
+ withEntitlementsPlist,
3
+ withInfoPlist
4
+ } = require('@expo/config-plugins');
5
+ const HEALTH_SHARE = 'Allow $(PRODUCT_NAME) to check health info';
6
+ const HEALTH_UPDATE = 'Allow $(PRODUCT_NAME) to update health info';
7
+ const HEALTH_CLINIC_SHARE = 'Allow $(PRODUCT_NAME) to check health clinical info';
8
+ export const withSpikeHealthKit = function (config) {
9
+ let {
10
+ healthSharePermission,
11
+ healthUpdatePermission,
12
+ isClinicalDataEnabled,
13
+ healthClinicalDescription,
14
+ isBackgroundDeliveriesEnabled
15
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
+ // Add permissions
17
+ config = withInfoPlist(config, config => {
18
+ config.modResults.NSHealthShareUsageDescription = healthSharePermission || config.modResults.NSHealthShareUsageDescription || HEALTH_SHARE;
19
+ config.modResults.NSHealthUpdateUsageDescription = healthUpdatePermission || config.modResults.NSHealthUpdateUsageDescription || HEALTH_UPDATE;
20
+ isClinicalDataEnabled ? config.modResults.NSHealthClinicalHealthRecordsShareUsageDescription = healthClinicalDescription || config.modResults.NSHealthClinicalHealthRecordsShareUsageDescription || HEALTH_CLINIC_SHARE : null;
21
+ return config;
22
+ });
23
+
24
+ // Add entitlements. These are automatically synced when using EAS build for production apps.
25
+ config = withEntitlementsPlist(config, config => {
26
+ config.modResults['com.apple.developer.healthkit'] = true;
27
+ if (!Array.isArray(config.modResults['com.apple.developer.healthkit.access'])) {
28
+ config.modResults['com.apple.developer.healthkit.access'] = [];
29
+ }
30
+ if (isClinicalDataEnabled != false) {
31
+ config.modResults['com.apple.developer.healthkit.access'].push('health-records');
32
+
33
+ // Remove duplicates
34
+ config.modResults['com.apple.developer.healthkit.access'] = [...new Set(config.modResults['com.apple.developer.healthkit.access'])];
35
+ }
36
+ if (isBackgroundDeliveriesEnabled) {
37
+ config.modResults['com.apple.developer.healthkit.background-delivery'] = true;
38
+ }
39
+ return config;
40
+ });
41
+ return config;
42
+ };
43
+ //# sourceMappingURL=SpikePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["withEntitlementsPlist","withInfoPlist","require","HEALTH_SHARE","HEALTH_UPDATE","HEALTH_CLINIC_SHARE","withSpikeHealthKit","config","healthSharePermission","healthUpdatePermission","isClinicalDataEnabled","healthClinicalDescription","isBackgroundDeliveriesEnabled","modResults","NSHealthShareUsageDescription","NSHealthUpdateUsageDescription","NSHealthClinicalHealthRecordsShareUsageDescription","Array","isArray","push","Set"],"sourceRoot":"../../src","sources":["SpikePlugin.ts"],"mappings":"AAEA,MAAM;EACJA,qBAAqB;EACrBC;AACF,CAAC,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AAEnC,MAAMC,YAAY,GAAG,4CAA4C;AACjE,MAAMC,aAAa,GAAG,6CAA6C;AACnE,MAAMC,mBAAmB,GACvB,qDAAqD;AAUvD,OAAO,MAAMC,kBAA4C,GAAG,UAC1DC,MAAM,EAQH;EAAA,IAPH;IACEC,qBAAqB;IACrBC,sBAAsB;IACtBC,qBAAqB;IACrBC,yBAAyB;IACzBC;EACF,CAAC,uEAAG,CAAC,CAAC;EAEN;EACAL,MAAM,GAAGN,aAAa,CAACM,MAAM,EAAGA,MAAW,IAAK;IAC9CA,MAAM,CAACM,UAAU,CAACC,6BAA6B,GAC7CN,qBAAqB,IACrBD,MAAM,CAACM,UAAU,CAACC,6BAA6B,IAC/CX,YAAY;IACdI,MAAM,CAACM,UAAU,CAACE,8BAA8B,GAC9CN,sBAAsB,IACtBF,MAAM,CAACM,UAAU,CAACE,8BAA8B,IAChDX,aAAa;IACfM,qBAAqB,GAChBH,MAAM,CAACM,UAAU,CAACG,kDAAkD,GACnEL,yBAAyB,IACzBJ,MAAM,CAACM,UAAU,CACdG,kDAAkD,IACrDX,mBAAmB,GACrB,IAAI;IAER,OAAOE,MAAM;EACf,CAAC,CAAC;;EAEF;EACAA,MAAM,GAAGP,qBAAqB,CAACO,MAAM,EAAGA,MAAW,IAAK;IACtDA,MAAM,CAACM,UAAU,CAAC,+BAA+B,CAAC,GAAG,IAAI;IACzD,IACE,CAACI,KAAK,CAACC,OAAO,CAACX,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,CAAC,EACzE;MACAN,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,GAAG,EAAE;IAChE;IAEA,IAAIH,qBAAqB,IAAI,KAAK,EAAE;MAClCH,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,CAACM,IAAI,CAC5D,gBAAgB,CACjB;;MAED;MACAZ,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,GAAG,CAC1D,GAAG,IAAIO,GAAG,CAACb,MAAM,CAACM,UAAU,CAAC,sCAAsC,CAAC,CAAC,CACtE;IACH;IAEA,IAAID,6BAA6B,EAAE;MACjCL,MAAM,CAACM,UAAU,CAAC,mDAAmD,CAAC,GACpE,IAAI;IACR;IAEA,OAAON,MAAM;EACf,CAAC,CAAC;EAEF,OAAOA,MAAM;AACf,CAAC"}
@@ -2,6 +2,7 @@ import { SpikeDataTypes } from './DataModels/SpikeDataTypes';
2
2
  import { createConnection, getBackgroundConnections, ensurePermissionsAreGranted, isPackageInstalled, SpikeConnectionConfig } from './Spike';
3
3
  import { SpikeConnection } from './SpikeConnection';
4
4
  import { SpikeException, SpikeConnectionIsClosedException, SpikeInvalidCredentialsException, SpikeInvalidDateRangeException, SpikeInvalidCallbackUrlException, SpikePackException, SpikePermissionsNotGrantedException, SpikeServerException, SpikeUnpackException, SpikeCallbackURLNotProvidedException } from './SpikeException';
5
+ import { withSpikeHealthKit } from './SpikePlugin';
5
6
  export default {
6
7
  createConnection,
7
8
  getBackgroundConnections,
@@ -9,4 +10,5 @@ export default {
9
10
  isPackageInstalled
10
11
  };
11
12
  export { SpikeConnection, SpikeDataTypes, SpikeConnectionConfig, SpikeException, SpikeConnectionIsClosedException, SpikeInvalidCredentialsException, SpikeInvalidDateRangeException, SpikeInvalidCallbackUrlException, SpikePackException, SpikePermissionsNotGrantedException, SpikeServerException, SpikeUnpackException, SpikeCallbackURLNotProvidedException };
13
+ module.exports = withSpikeHealthKit;
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SpikeDataTypes","createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled","SpikeConnectionConfig","SpikeConnection","SpikeException","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,SACEC,gBAAgB,EAChBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,kBAAkB,EAClBC,qBAAqB,QAChB,SAAS;AAChB,SAASC,eAAe,QAAQ,mBAAmB;AAKnD,SACEC,cAAc,EACdC,gCAAgC,EAChCC,gCAAgC,EAChCC,8BAA8B,EAC9BC,gCAAgC,EAChCC,kBAAkB,EAClBC,mCAAmC,EACnCC,oBAAoB,EACpBC,oBAAoB,EACpBC,oCAAoC,QAC/B,kBAAkB;AAazB,eAAe;EACbf,gBAAgB;EAChBC,wBAAwB;EACxBC,2BAA2B;EAC3BC;AACF,CAAC;AACD,SACEE,eAAe,EACfN,cAAc,EAMdK,qBAAqB,EACrBE,cAAc,EACdC,gCAAgC,EAChCC,gCAAgC,EAChCC,8BAA8B,EAC9BC,gCAAgC,EAChCC,kBAAkB,EAClBC,mCAAmC,EACnCC,oBAAoB,EACpBC,oBAAoB,EACpBC,oCAAoC"}
1
+ {"version":3,"names":["SpikeDataTypes","createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled","SpikeConnectionConfig","SpikeConnection","SpikeException","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException","withSpikeHealthKit","module","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,SACEC,gBAAgB,EAChBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,kBAAkB,EAClBC,qBAAqB,QAChB,SAAS;AAChB,SAASC,eAAe,QAAQ,mBAAmB;AAKnD,SACEC,cAAc,EACdC,gCAAgC,EAChCC,gCAAgC,EAChCC,8BAA8B,EAC9BC,gCAAgC,EAChCC,kBAAkB,EAClBC,mCAAmC,EACnCC,oBAAoB,EACpBC,oBAAoB,EACpBC,oCAAoC,QAC/B,kBAAkB;AAYzB,SAASC,kBAAkB,QAAQ,eAAe;AAElD,eAAe;EACbhB,gBAAgB;EAChBC,wBAAwB;EACxBC,2BAA2B;EAC3BC;AACF,CAAC;AACD,SACEE,eAAe,EACfN,cAAc,EAMdK,qBAAqB,EACrBE,cAAc,EACdC,gCAAgC,EAChCC,gCAAgC,EAChCC,8BAA8B,EAC9BC,gCAAgC,EAChCC,kBAAkB,EAClBC,mCAAmC,EACnCC,oBAAoB,EACpBC,oBAAoB,EACpBC,oCAAoC;AAetCE,MAAM,CAACC,OAAO,GAAGF,kBAAkB"}
@@ -0,0 +1,11 @@
1
+ import type { ConfigPlugin } from '@expo/config-plugins';
2
+ type ConfigType = {
3
+ healthSharePermission?: string;
4
+ healthUpdatePermission?: string;
5
+ isClinicalDataEnabled?: boolean;
6
+ healthClinicalDescription?: string;
7
+ isBackgroundDeliveriesEnabled?: boolean;
8
+ };
9
+ export declare const withSpikeHealthKit: ConfigPlugin<ConfigType>;
10
+ export {};
11
+ //# sourceMappingURL=SpikePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpikePlugin.d.ts","sourceRoot":"","sources":["../../src/SpikePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYzD,KAAK,UAAU,GAAG;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,UAAU,CA4DvD,CAAC"}
@@ -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,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAKL,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,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;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,kBAAkB,EAClB,mCAAmC,EACnC,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AACpG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;;;;;;;AAE1E,wBAKE;AACF,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,+BAA+B,EAC/B,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,kBAAkB,EAClB,mCAAmC,EACnC,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EACpC,SAAS,EACT,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,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,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAKL,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,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;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,kBAAkB,EAClB,mCAAmC,EACnC,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AACpG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;;;;;;;AAG1E,wBAKE;AACF,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,+BAA+B,EAC/B,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,kBAAkB,EAClB,mCAAmC,EACnC,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EACpC,SAAS,EACT,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-spike-sdk",
3
- "version": "2.1.12",
3
+ "version": "2.1.13",
4
4
  "description": "Spike API for health and productivity data from wearables and IoT devices",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -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 = "2.1.12"
8
+ s.version = "2.1.13"
9
9
  s.summary = "Spike API for health and productivity data from wearables and IoT devices"
10
10
 
11
11
  s.description = <<-DESC
@@ -0,0 +1,81 @@
1
+ import type { ConfigPlugin } from '@expo/config-plugins';
2
+
3
+ const {
4
+ withEntitlementsPlist,
5
+ withInfoPlist,
6
+ } = require('@expo/config-plugins');
7
+
8
+ const HEALTH_SHARE = 'Allow $(PRODUCT_NAME) to check health info';
9
+ const HEALTH_UPDATE = 'Allow $(PRODUCT_NAME) to update health info';
10
+ const HEALTH_CLINIC_SHARE =
11
+ 'Allow $(PRODUCT_NAME) to check health clinical info';
12
+
13
+ type ConfigType = {
14
+ healthSharePermission?: string;
15
+ healthUpdatePermission?: string;
16
+ isClinicalDataEnabled?: boolean;
17
+ healthClinicalDescription?: string;
18
+ isBackgroundDeliveriesEnabled?: boolean;
19
+ };
20
+
21
+ export const withSpikeHealthKit: ConfigPlugin<ConfigType> = (
22
+ config,
23
+ {
24
+ healthSharePermission,
25
+ healthUpdatePermission,
26
+ isClinicalDataEnabled,
27
+ healthClinicalDescription,
28
+ isBackgroundDeliveriesEnabled,
29
+ } = {}
30
+ ) => {
31
+ // Add permissions
32
+ config = withInfoPlist(config, (config: any) => {
33
+ config.modResults.NSHealthShareUsageDescription =
34
+ healthSharePermission ||
35
+ config.modResults.NSHealthShareUsageDescription ||
36
+ HEALTH_SHARE;
37
+ config.modResults.NSHealthUpdateUsageDescription =
38
+ healthUpdatePermission ||
39
+ config.modResults.NSHealthUpdateUsageDescription ||
40
+ HEALTH_UPDATE;
41
+ isClinicalDataEnabled
42
+ ? (config.modResults.NSHealthClinicalHealthRecordsShareUsageDescription =
43
+ healthClinicalDescription ||
44
+ config.modResults
45
+ .NSHealthClinicalHealthRecordsShareUsageDescription ||
46
+ HEALTH_CLINIC_SHARE)
47
+ : null;
48
+
49
+ return config;
50
+ });
51
+
52
+ // Add entitlements. These are automatically synced when using EAS build for production apps.
53
+ config = withEntitlementsPlist(config, (config: any) => {
54
+ config.modResults['com.apple.developer.healthkit'] = true;
55
+ if (
56
+ !Array.isArray(config.modResults['com.apple.developer.healthkit.access'])
57
+ ) {
58
+ config.modResults['com.apple.developer.healthkit.access'] = [];
59
+ }
60
+
61
+ if (isClinicalDataEnabled != false) {
62
+ config.modResults['com.apple.developer.healthkit.access'].push(
63
+ 'health-records'
64
+ );
65
+
66
+ // Remove duplicates
67
+ config.modResults['com.apple.developer.healthkit.access'] = [
68
+ ...new Set(config.modResults['com.apple.developer.healthkit.access']),
69
+ ];
70
+ }
71
+
72
+ if (isBackgroundDeliveriesEnabled) {
73
+ config.modResults['com.apple.developer.healthkit.background-delivery'] =
74
+ true;
75
+ }
76
+
77
+ return config;
78
+ });
79
+
80
+ return config;
81
+ };
package/src/index.ts CHANGED
@@ -35,6 +35,7 @@ import type { SpikeOxygenSaturationDataEntry } from './DataModels/SpikeOxygenSat
35
35
  import type { SpikeSleepDataEntry } from './DataModels/SpikeSleepDataEntry';
36
36
  import type { SpikeStepsDataEntry } from './DataModels/SpikeStepsDataEntry';
37
37
  import type { SpikeBodyDataEntry } from './DataModels/SpikeBodyDataEntry';
38
+ import { withSpikeHealthKit } from './SpikePlugin';
38
39
 
39
40
  export default {
40
41
  createConnection,
@@ -74,3 +75,5 @@ export {
74
75
  SpikeStepsDataEntry,
75
76
  SpikeBodyDataEntry,
76
77
  };
78
+
79
+ module.exports = withSpikeHealthKit;