@awell-health/awell-extensions 1.0.107 → 1.0.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/extensions/index.js +2 -0
  2. package/dist/extensions/index.js.map +1 -1
  3. package/dist/extensions/markdown.json +4 -0
  4. package/dist/extensions/transform/index.d.ts +2 -0
  5. package/dist/extensions/transform/index.js +24 -0
  6. package/dist/extensions/transform/index.js.map +1 -0
  7. package/dist/extensions/transform/settings.d.ts +1 -0
  8. package/dist/extensions/transform/settings.js +5 -0
  9. package/dist/extensions/transform/settings.js.map +1 -0
  10. package/dist/extensions/transform/v1/actions/index.d.ts +4 -0
  11. package/dist/extensions/transform/v1/actions/index.js +12 -0
  12. package/dist/extensions/transform/v1/actions/index.js.map +1 -0
  13. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/dataPoints.d.ts +6 -0
  14. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/dataPoints.js +10 -0
  15. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/dataPoints.js.map +1 -0
  16. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/fields.d.ts +18 -0
  17. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/fields.js +18 -0
  18. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/fields.js.map +1 -0
  19. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/index.d.ts +2 -0
  20. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/index.js +9 -0
  21. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/config/index.js.map +1 -0
  22. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/index.d.ts +1 -0
  23. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/index.js +6 -0
  24. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/index.js.map +1 -0
  25. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.d.ts +4 -0
  26. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.js +69 -0
  27. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.js.map +1 -0
  28. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.test.d.ts +1 -0
  29. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.test.js +26 -0
  30. package/dist/extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.test.js.map +1 -0
  31. package/dist/extensions/transform/v1/actions/parseNumberToText/config/dataPoints.d.ts +6 -0
  32. package/dist/extensions/transform/v1/actions/parseNumberToText/config/dataPoints.js +10 -0
  33. package/dist/extensions/transform/v1/actions/parseNumberToText/config/dataPoints.js.map +1 -0
  34. package/dist/extensions/transform/v1/actions/parseNumberToText/config/fields.d.ts +18 -0
  35. package/dist/extensions/transform/v1/actions/parseNumberToText/config/fields.js +18 -0
  36. package/dist/extensions/transform/v1/actions/parseNumberToText/config/fields.js.map +1 -0
  37. package/dist/extensions/transform/v1/actions/parseNumberToText/config/index.d.ts +2 -0
  38. package/dist/extensions/transform/v1/actions/parseNumberToText/config/index.js +9 -0
  39. package/dist/extensions/transform/v1/actions/parseNumberToText/config/index.js.map +1 -0
  40. package/dist/extensions/transform/v1/actions/parseNumberToText/index.d.ts +1 -0
  41. package/dist/extensions/transform/v1/actions/parseNumberToText/index.js +6 -0
  42. package/dist/extensions/transform/v1/actions/parseNumberToText/index.js.map +1 -0
  43. package/dist/extensions/transform/v1/actions/parseNumberToText/parseNumberToText.d.ts +4 -0
  44. package/dist/extensions/transform/v1/actions/parseNumberToText/parseNumberToText.js +64 -0
  45. package/dist/extensions/transform/v1/actions/parseNumberToText/parseNumberToText.js.map +1 -0
  46. package/dist/extensions/transform/v1/actions/parseNumberToText/parseNumberToText.test.d.ts +1 -0
  47. package/dist/extensions/transform/v1/actions/parseNumberToText/parseNumberToText.test.js +40 -0
  48. package/dist/extensions/transform/v1/actions/parseNumberToText/parseNumberToText.test.js.map +1 -0
  49. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/dataPoints.d.ts +6 -0
  50. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/dataPoints.js +10 -0
  51. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/dataPoints.js.map +1 -0
  52. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/fields.d.ts +18 -0
  53. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/fields.js +18 -0
  54. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/fields.js.map +1 -0
  55. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/index.d.ts +2 -0
  56. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/index.js +9 -0
  57. package/dist/extensions/transform/v1/actions/parseTextToNumber/config/index.js.map +1 -0
  58. package/dist/extensions/transform/v1/actions/parseTextToNumber/index.d.ts +1 -0
  59. package/dist/extensions/transform/v1/actions/parseTextToNumber/index.js +6 -0
  60. package/dist/extensions/transform/v1/actions/parseTextToNumber/index.js.map +1 -0
  61. package/dist/extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.d.ts +4 -0
  62. package/dist/extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.js +65 -0
  63. package/dist/extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.js.map +1 -0
  64. package/dist/extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.test.d.ts +1 -0
  65. package/dist/extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.test.js +54 -0
  66. package/dist/extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.test.js.map +1 -0
  67. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/dataPoints.d.ts +6 -0
  68. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/dataPoints.js +10 -0
  69. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/dataPoints.js.map +1 -0
  70. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/fields.d.ts +18 -0
  71. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/fields.js +18 -0
  72. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/fields.js.map +1 -0
  73. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/index.d.ts +2 -0
  74. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/index.js +9 -0
  75. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/config/index.js.map +1 -0
  76. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/index.d.ts +1 -0
  77. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/index.js +6 -0
  78. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/index.js.map +1 -0
  79. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.d.ts +4 -0
  80. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.js +64 -0
  81. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.js.map +1 -0
  82. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.test.d.ts +1 -0
  83. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.test.js +26 -0
  84. package/dist/extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.test.js.map +1 -0
  85. package/package.json +5 -5
@@ -46,6 +46,7 @@ const cmDotCom_1 = require("./cmDotCom");
46
46
  const docuSign_1 = require("./docuSign");
47
47
  const sendbird_1 = require("./sendbird");
48
48
  const zusHealth_1 = require("./zusHealth");
49
+ const transform_1 = require("./transform");
49
50
  const json = __importStar(require("./markdown.json"));
50
51
  exports.markdown = json;
51
52
  exports.extensions = [
@@ -64,6 +65,7 @@ exports.extensions = [
64
65
  math_1.MathExtension,
65
66
  messagebird_1.MessageBird,
66
67
  metriport_1.Metriport,
68
+ transform_1.Transform,
67
69
  twilio_1.Twilio,
68
70
  wellinks_1.Wellinks,
69
71
  sendgrid_extension_1.Sendgrid,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AAEvC,sDAAuC;AAG1B,QAAA,QAAQ,GAAa,IAAI,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,oFAAoF;IACpF,aAAK;IACL,qBAAS;IACT,6BAAa;IACb,uBAAU;IACV,yBAAW;IACX,iBAAO;IACP,mBAAQ;IACR,mBAAQ;IACR,wBAAU;IACV,qBAAS;IACT,iBAAO;IACP,oBAAa;IACb,yBAAW;IACX,qBAAS;IACT,eAAM;IACN,mBAAQ;IACR,6BAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,qBAAS;CACV,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../extensions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,mCAA+B;AAC/B,2CAAuC;AACvC,mDAA+C;AAC/C,6CAAyC;AACzC,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAqC;AACrC,yCAAqC;AACrC,+CAA0C;AAC1C,2CAAuC;AACvC,uCAAmC;AACnC,iCAAsC;AACtC,+CAA2C;AAC3C,2CAAuC;AACvC,qCAAiC;AACjC,yCAAqC;AACrC,6DAA+C;AAC/C,yCAAqC;AACrC,yCAAqC;AACrC,yCAAqC;AACrC,2CAAuC;AACvC,2CAAuC;AAEvC,sDAAuC;AAG1B,QAAA,QAAQ,GAAa,IAAI,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,oFAAoF;IACpF,aAAK;IACL,qBAAS;IACT,6BAAa;IACb,uBAAU;IACV,yBAAW;IACX,iBAAO;IACP,mBAAQ;IACR,mBAAQ;IACR,wBAAU;IACV,qBAAS;IACT,iBAAO;IACP,oBAAa;IACb,yBAAW;IACX,qBAAS;IACT,qBAAS;IACT,eAAM;IACN,mBAAQ;IACR,6BAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,mBAAQ;IACR,qBAAS;CACV,CAAA"}
@@ -75,6 +75,10 @@
75
75
  "readme": "---\ntitle: Sendgrid\ndescription: SendGrid is a cloud-based email delivery platform that provides services for sending and managing email campaigns, transactional emails, and other types of messages.\n---\n# Sendgrid\n\nSendGrid is a cloud-based email delivery platform that provides services for sending and managing email campaigns, transactional emails, and other types of messages.\n\n## Extension settings\n\nIn order to set up this extension, you will need to provide:\n\n1. An API key\n2. A from name\n3. A from email\n\n## Custom Actions\n\n### Send email\n\nAllows for sending a plain email to a recipient.\n\n### Send email with a template\n\nAllows for sending an email based on a template to a recipient. You can also insert variables so they are rendered in your template.\n\n### Add or update contact\n\nAllows adding or updating contacts. The contact to update will be determined only by the email field and any fields omitted from the request will remain as they were. A contact's ID cannot be used to update the contact.\n\nPlease note that custom fields need to have been already created if you wish to set their values for the contacts being upserted. To do this, please use the \"Create Custom Field Definition\" endpoint. They also can be created in **Marketing -> Custom Fields** section in Sendgrid.\n\n### Add and remove emails from suppression lists\n\nSuppression lists ([link on SendGrid's website](https://docs.sendgrid.com/api-reference/suppressions-suppressions/add-suppressions-to-a-suppression-group)) are unsubscribe groups. Use these actions to add an email address to any number of unsubscribe groups. You can apply a suppression add/remove to multiple groups by using comma-separated lists for the groups. Only a single email can be used. **This functionality is different from SendGrid's API, which allows multiple email addresses for a single group**.\n\n### Check an import status\n\nAllows user to check the status of contact import jobs when given a jobID. Statuses are either: `pending`, `completed`, `failed`, or `errored`.",
76
76
  "changelog": "# Sendgrid changelog\n\n## July 7, 2023\n\nAdded \"Add Email to Suppression Lists\" and \"Remove Email from Suppression Lists\" actions.\n\n## July 15, 2023\n\nUpdated \"Add or Update Contact\" acction to create a datapoint of the Job ID.\n\nAdded \"Check Import Status\" action.\n\n## July 27, 2023\n\nAdds \"Finished At\" data point to the importStatus action."
77
77
  },
78
+ "transform": {
79
+ "readme": "---\ntitle: Transform\ndescription: Transform is an extension with utility functions that allows you to transform or parse data to a format of your liking\n---\n\n# Transform\n\nTransform is an extension on Awell's Marketplace with utility functions that allows you to transform data from one type to another. These functions are particularly useful e.g. when system A works with IDs that are numbers but system B works with IDs that are strings.\n\n## Custom Actions\n\n### Parse number to text\n\nTransform or parse a number to text (string).\n\n### Parse text to number\n\nTransform or parse text (string) to a number. Will return NaN if the input data is not an actual number.\n\n### Parse date to unix timestamp\n\nTransform or parse a date to a unix timestamp.\n\n### Parse unix timestamp to unix date\n\nTransform or parse a unix timestamp to a date.\n\n",
80
+ "changelog": "# Transform changelog"
81
+ },
78
82
  "twilio": {
79
83
  "readme": "---\ntitle: Twilio\ndescription: Twilio is a customer engagement platform used by hundreds of thousands of businesses and more than ten million developers worldwide to build unique, personalized experiences for their customers.\n---\n# Twilio\n\nTwilio is a customer engagement platform used by hundreds of thousands of businesses and more than ten million developers worldwide to build unique, personalized experiences for their customers.\n\nThey are known for democratizing channels like voice, text, chat, video, and email through APIs, making it easy for every organization to build meaningful interactions with customers on the channels they prefer.\n\n## Extension settings\n\nIn order to set up this extension, you will need:\n\n1. A Twilio API key or auth token which can be found in the Twilio console.\n2. Your account SID which can be found in the Twilio console.\n3. A phone number to send the message from. This must be a Twilio phone number that you own.\n\n## Custom Actions\n\n### Send SMS\n\nSend an SMS with Twilio to a recipient of your liking.\n",
80
84
  "changelog": "# Twilio changelog\n\n## v2 2023-06-23\n\nFull description: https://github.com/awell-health/awell-extensions/issues/157\n\n1. \"Send SMS\" action\n 1. Change label from \"Send SMS\" to \"Send SMS (with from number)\"\n 2. Throw error when \"From\" number in both settings and in fields is not provided\n2. Add new action \"Send SMS (with Messaging Service)\"\n\n## v2\n\nCompared to v1 (pre-beta release), the extension only has one custom action \"Send SMS\" instead of two. The Custom Action allows for:\n\n1. Sending a text message to a recipient (phone number) stored in a data point, including patient profile data points.\n2. Sending a text message to a fixed recipient (phone number).\n"
@@ -0,0 +1,2 @@
1
+ import { type Extension } from '@awell-health/extensions-core';
2
+ export declare const Transform: Extension;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Transform = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const actions_1 = require("./v1/actions");
6
+ const settings_1 = require("./settings");
7
+ exports.Transform = {
8
+ key: 'transform',
9
+ title: 'Transform',
10
+ icon_url: 'https://res.cloudinary.com/da7x4rzl4/image/upload/v1696493305/Awell%20Extensions/imgbin-computer-icons-data-migration-extract-transform-load-others-z1r9GD10ftiy2XXyhy7kWi413.jpg',
11
+ description: "Transform is an extension on Awell's Marketplace with utility functions that allows you to transform data from one type to another.",
12
+ category: extensions_core_1.Category.DATA,
13
+ author: {
14
+ authorType: extensions_core_1.AuthorType.AWELL,
15
+ },
16
+ actions: {
17
+ parseDateToUnixTimestamp: actions_1.parseDateToUnixTimestamp,
18
+ parseNumberToText: actions_1.parseNumberToText,
19
+ parseTextToNumber: actions_1.parseTextToNumber,
20
+ parseUnixTimestampToDate: actions_1.parseUnixTimestampToDate,
21
+ },
22
+ settings: settings_1.settings,
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/transform/index.ts"],"names":[],"mappings":";;;AACA,mEAAoE;AACpE,0CAKqB;AACrB,yCAAqC;AAExB,QAAA,SAAS,GAAc;IAClC,GAAG,EAAE,WAAW;IAChB,KAAK,EAAE,WAAW;IAClB,QAAQ,EACN,mLAAmL;IACrL,WAAW,EACT,qIAAqI;IACvI,QAAQ,EAAE,0BAAQ,CAAC,IAAI;IACvB,MAAM,EAAE;QACN,UAAU,EAAE,4BAAU,CAAC,KAAK;KAC7B;IACD,OAAO,EAAE;QACP,wBAAwB,EAAxB,kCAAwB;QACxB,iBAAiB,EAAjB,2BAAiB;QACjB,iBAAiB,EAAjB,2BAAiB;QACjB,wBAAwB,EAAxB,kCAAwB;KACzB;IACD,QAAQ,EAAR,mBAAQ;CACT,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const settings: {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.settings = void 0;
4
+ exports.settings = {};
5
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../extensions/transform/settings.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAG,EAAoC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { parseTextToNumber } from './parseTextToNumber';
2
+ export { parseDateToUnixTimestamp } from './parseDateToUnixTimestamp';
3
+ export { parseNumberToText } from './parseNumberToText';
4
+ export { parseUnixTimestampToDate } from './parseUnixTimestampToDate';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseUnixTimestampToDate = exports.parseNumberToText = exports.parseDateToUnixTimestamp = exports.parseTextToNumber = void 0;
4
+ var parseTextToNumber_1 = require("./parseTextToNumber");
5
+ Object.defineProperty(exports, "parseTextToNumber", { enumerable: true, get: function () { return parseTextToNumber_1.parseTextToNumber; } });
6
+ var parseDateToUnixTimestamp_1 = require("./parseDateToUnixTimestamp");
7
+ Object.defineProperty(exports, "parseDateToUnixTimestamp", { enumerable: true, get: function () { return parseDateToUnixTimestamp_1.parseDateToUnixTimestamp; } });
8
+ var parseNumberToText_1 = require("./parseNumberToText");
9
+ Object.defineProperty(exports, "parseNumberToText", { enumerable: true, get: function () { return parseNumberToText_1.parseNumberToText; } });
10
+ var parseUnixTimestampToDate_1 = require("./parseUnixTimestampToDate");
11
+ Object.defineProperty(exports, "parseUnixTimestampToDate", { enumerable: true, get: function () { return parseUnixTimestampToDate_1.parseUnixTimestampToDate; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../extensions/transform/v1/actions/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA;AACjC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ unixTimestamp: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ unixTimestamp: {
6
+ key: 'unixTimestamp',
7
+ valueType: 'string',
8
+ },
9
+ };
10
+ //# sourceMappingURL=dataPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseDateToUnixTimestamp/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,aAAa,EAAE;QACb,GAAG,EAAE,eAAe;QACpB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { FieldType } from '@awell-health/extensions-core';
3
+ export declare const fields: {
4
+ date: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.DATE;
9
+ required: true;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ date: z.ZodUnion<[z.ZodEffects<z.ZodDate, string, Date>, z.ZodEffects<z.ZodDate, string, Date>]>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ date: string;
16
+ }, {
17
+ date: Date;
18
+ }>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsValidationSchema = exports.fields = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ exports.fields = {
7
+ date: {
8
+ id: 'date',
9
+ label: 'Date',
10
+ description: 'The date you want to parse to a unix timestamp.',
11
+ type: extensions_core_1.FieldType.DATE,
12
+ required: true,
13
+ },
14
+ };
15
+ exports.FieldsValidationSchema = zod_1.z.object({
16
+ date: zod_1.z.union([extensions_core_1.DateTimeSchema, extensions_core_1.DateOnlySchema]),
17
+ });
18
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseDateToUnixTimestamp/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAKsC;AAEzB,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,gCAAc,EAAE,gCAAc,CAAC,CAAC;CACE,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './dataPoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var dataPoints_1 = require("./dataPoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return dataPoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseDateToUnixTimestamp/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { parseDateToUnixTimestamp } from './parseDateToUnixTimestamp';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseDateToUnixTimestamp = void 0;
4
+ var parseDateToUnixTimestamp_1 = require("./parseDateToUnixTimestamp");
5
+ Object.defineProperty(exports, "parseDateToUnixTimestamp", { enumerable: true, get: function () { return parseDateToUnixTimestamp_1.parseDateToUnixTimestamp; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseDateToUnixTimestamp/index.ts"],"names":[],"mappings":";;;AAAA,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../../settings';
3
+ import { dataPoints, fields } from './config';
4
+ export declare const parseDateToUnixTimestamp: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseDateToUnixTimestamp = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const zod_validation_error_1 = require("zod-validation-error");
7
+ const zod_1 = require("zod");
8
+ exports.parseDateToUnixTimestamp = {
9
+ key: 'parseDateToUnixTimestamp',
10
+ title: 'Parse date to unix timestamp',
11
+ description: 'Transform or parse a date to a unix timestamp.',
12
+ category: extensions_core_1.Category.DATA,
13
+ fields: config_1.fields,
14
+ dataPoints: config_1.dataPoints,
15
+ previewable: true,
16
+ onActivityCreated: async (payload, onComplete, onError) => {
17
+ try {
18
+ const { fields: { date }, } = (0, extensions_core_1.validate)({
19
+ schema: zod_1.z.object({
20
+ fields: config_1.FieldsValidationSchema,
21
+ }),
22
+ payload,
23
+ });
24
+ const dateObj = new Date(date);
25
+ /**
26
+ * The Math.floor function ensures that you're getting a whole number,
27
+ * as Unix timestamps don't have millisecond precision.
28
+ */
29
+ const unixTimeStamp = Math.floor(dateObj.getTime() / 1000);
30
+ await onComplete({
31
+ data_points: {
32
+ unixTimestamp: String(unixTimeStamp),
33
+ },
34
+ });
35
+ }
36
+ catch (err) {
37
+ if (err instanceof zod_1.ZodError) {
38
+ const error = (0, zod_validation_error_1.fromZodError)(err);
39
+ await onError({
40
+ events: [
41
+ {
42
+ date: new Date().toISOString(),
43
+ text: { en: error.name },
44
+ error: {
45
+ category: 'WRONG_INPUT',
46
+ message: `${error.message}`,
47
+ },
48
+ },
49
+ ],
50
+ });
51
+ return;
52
+ }
53
+ const error = err;
54
+ await onError({
55
+ events: [
56
+ {
57
+ date: new Date().toISOString(),
58
+ text: { en: 'Something went wrong while orchestration the action' },
59
+ error: {
60
+ category: 'SERVER_ERROR',
61
+ message: error.message,
62
+ },
63
+ },
64
+ ],
65
+ });
66
+ }
67
+ },
68
+ };
69
+ //# sourceMappingURL=parseDateToUnixTimestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDateToUnixTimestamp.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAElE,qCAAqE;AACrE,+DAAmD;AACnD,6BAAiC;AAEpB,QAAA,wBAAwB,GAIjC;IACF,GAAG,EAAE,0BAA0B;IAC/B,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,0BAAQ,CAAC,IAAI;IACvB,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EACJ,MAAM,EAAE,EAAE,IAAI,EAAE,GACjB,GAAG,IAAA,0BAAQ,EAAC;gBACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;oBACf,MAAM,EAAE,+BAAsB;iBAC/B,CAAC;gBACF,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9B;;;eAGG;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;YAE1D,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;iBACrC;aACF,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,cAAQ,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAA,mCAAY,EAAC,GAAG,CAAC,CAAA;gBAC/B,MAAM,OAAO,CAAC;oBACZ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE;4BACxB,KAAK,EAAE;gCACL,QAAQ,EAAE,aAAa;gCACvB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;6BAC5B;yBACF;qBACF;iBACF,CAAC,CAAA;gBACF,OAAM;aACP;YAED,MAAM,KAAK,GAAG,GAAY,CAAA;YAC1B,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,qDAAqD,EAAE;wBACnE,KAAK,EAAE;4BACL,QAAQ,EAAE,cAAc;4BACxB,OAAO,EAAE,KAAK,CAAC,OAAO;yBACvB;qBACF;iBACF;aACF,CAAC,CAAA;SACH;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const tests_1 = require("../../../../../src/tests");
5
+ describe('Transform - Parse date to unix timestamp', () => {
6
+ const onComplete = jest.fn();
7
+ const onError = jest.fn();
8
+ beforeEach(() => {
9
+ jest.clearAllMocks();
10
+ });
11
+ test('Should parse integer to serialized number', async () => {
12
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
13
+ fields: {
14
+ date: '2023-10-05T07:55:13.573Z',
15
+ },
16
+ settings: {},
17
+ });
18
+ await _1.parseDateToUnixTimestamp.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
19
+ expect(onComplete).toBeCalledWith({
20
+ data_points: {
21
+ unixTimestamp: '1696492513',
22
+ },
23
+ });
24
+ });
25
+ });
26
+ //# sourceMappingURL=parseDateToUnixTimestamp.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDateToUnixTimestamp.test.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseDateToUnixTimestamp/parseDateToUnixTimestamp.test.ts"],"names":[],"mappings":";;AAAA,wBAA4C;AAC5C,oDAA8D;AAE9D,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,IAAI,EAAE,0BAA0B;aACjC;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,2BAAwB,CAAC,iBAAiB,CAC9C,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE;gBACX,aAAa,EAAE,YAAY;aAC5B;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ text: {
3
+ key: string;
4
+ valueType: "string";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ text: {
6
+ key: 'text',
7
+ valueType: 'string',
8
+ },
9
+ };
10
+ //# sourceMappingURL=dataPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseNumberToText/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { FieldType } from '@awell-health/extensions-core';
3
+ export declare const fields: {
4
+ number: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.NUMERIC;
9
+ required: true;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ number: z.ZodUnion<[z.ZodNumber, z.ZodNaN]>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ number: number;
16
+ }, {
17
+ number: number;
18
+ }>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsValidationSchema = exports.fields = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ exports.fields = {
7
+ number: {
8
+ id: 'number',
9
+ label: 'Number',
10
+ description: 'The number you want to parse to a text (string).',
11
+ type: extensions_core_1.FieldType.NUMERIC,
12
+ required: true,
13
+ },
14
+ };
15
+ exports.FieldsValidationSchema = zod_1.z.object({
16
+ number: zod_1.z.union([zod_1.z.number(), zod_1.z.nan()]),
17
+ });
18
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseNumberToText/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAAqE;AAExD,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC;CACW,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './dataPoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var dataPoints_1 = require("./dataPoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return dataPoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseNumberToText/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { parseNumberToText } from './parseNumberToText';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseNumberToText = void 0;
4
+ var parseNumberToText_1 = require("./parseNumberToText");
5
+ Object.defineProperty(exports, "parseNumberToText", { enumerable: true, get: function () { return parseNumberToText_1.parseNumberToText; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseNumberToText/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../../settings';
3
+ import { dataPoints, fields } from './config';
4
+ export declare const parseNumberToText: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseNumberToText = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const zod_validation_error_1 = require("zod-validation-error");
7
+ const zod_1 = require("zod");
8
+ exports.parseNumberToText = {
9
+ key: 'parseNumberToText',
10
+ title: 'Parse number to text',
11
+ description: 'Transform or parse number to text (string).',
12
+ category: extensions_core_1.Category.DATA,
13
+ fields: config_1.fields,
14
+ dataPoints: config_1.dataPoints,
15
+ previewable: true,
16
+ onActivityCreated: async (payload, onComplete, onError) => {
17
+ try {
18
+ const { fields: { number }, } = (0, extensions_core_1.validate)({
19
+ schema: zod_1.z.object({
20
+ fields: config_1.FieldsValidationSchema,
21
+ }),
22
+ payload,
23
+ });
24
+ await onComplete({
25
+ data_points: {
26
+ text: String(number),
27
+ },
28
+ });
29
+ }
30
+ catch (err) {
31
+ console.log(err);
32
+ if (err instanceof zod_1.ZodError) {
33
+ const error = (0, zod_validation_error_1.fromZodError)(err);
34
+ await onError({
35
+ events: [
36
+ {
37
+ date: new Date().toISOString(),
38
+ text: { en: error.name },
39
+ error: {
40
+ category: 'WRONG_INPUT',
41
+ message: `${error.message}`,
42
+ },
43
+ },
44
+ ],
45
+ });
46
+ return;
47
+ }
48
+ const error = err;
49
+ await onError({
50
+ events: [
51
+ {
52
+ date: new Date().toISOString(),
53
+ text: { en: 'Something went wrong while orchestration the action' },
54
+ error: {
55
+ category: 'SERVER_ERROR',
56
+ message: error.message,
57
+ },
58
+ },
59
+ ],
60
+ });
61
+ }
62
+ },
63
+ };
64
+ //# sourceMappingURL=parseNumberToText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNumberToText.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseNumberToText/parseNumberToText.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAElE,qCAAqE;AACrE,+DAAmD;AACnD,6BAAiC;AAEpB,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,0BAAQ,CAAC,IAAI;IACvB,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EACJ,MAAM,EAAE,EAAE,MAAM,EAAE,GACnB,GAAG,IAAA,0BAAQ,EAAC;gBACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;oBACf,MAAM,EAAE,+BAAsB;iBAC/B,CAAC;gBACF,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;iBACrB;aACF,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,IAAI,GAAG,YAAY,cAAQ,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAA,mCAAY,EAAC,GAAG,CAAC,CAAA;gBAC/B,MAAM,OAAO,CAAC;oBACZ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE;4BACxB,KAAK,EAAE;gCACL,QAAQ,EAAE,aAAa;gCACvB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;6BAC5B;yBACF;qBACF;iBACF,CAAC,CAAA;gBACF,OAAM;aACP;YAED,MAAM,KAAK,GAAG,GAAY,CAAA;YAC1B,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,qDAAqD,EAAE;wBACnE,KAAK,EAAE;4BACL,QAAQ,EAAE,cAAc;4BACxB,OAAO,EAAE,KAAK,CAAC,OAAO;yBACvB;qBACF;iBACF;aACF,CAAC,CAAA;SACH;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const tests_1 = require("../../../../../src/tests");
5
+ describe('Transform - Parse text to number', () => {
6
+ const onComplete = jest.fn();
7
+ const onError = jest.fn();
8
+ beforeEach(() => {
9
+ jest.clearAllMocks();
10
+ });
11
+ test('Should parse number to text', async () => {
12
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
13
+ fields: {
14
+ number: 1,
15
+ },
16
+ settings: {},
17
+ });
18
+ await _1.parseNumberToText.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
19
+ expect(onComplete).toBeCalledWith({
20
+ data_points: {
21
+ text: '1',
22
+ },
23
+ });
24
+ });
25
+ test('Should parse NaN to text', async () => {
26
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
27
+ fields: {
28
+ number: NaN,
29
+ },
30
+ settings: {},
31
+ });
32
+ await _1.parseNumberToText.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
33
+ expect(onComplete).toBeCalledWith({
34
+ data_points: {
35
+ text: 'NaN',
36
+ },
37
+ });
38
+ });
39
+ });
40
+ //# sourceMappingURL=parseNumberToText.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNumberToText.test.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseNumberToText/parseNumberToText.test.ts"],"names":[],"mappings":";;AAAA,wBAAqC;AACrC,oDAA8D;AAE9D,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,MAAM,EAAE,CAAC;aACV;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,oBAAiB,CAAC,iBAAiB,CACvC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE;gBACX,IAAI,EAAE,GAAG;aACV;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,MAAM,EAAE,GAAG;aACZ;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,oBAAiB,CAAC,iBAAiB,CACvC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE;gBACX,IAAI,EAAE,KAAK;aACZ;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ number: {
3
+ key: string;
4
+ valueType: "number";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ number: {
6
+ key: 'number',
7
+ valueType: 'number',
8
+ },
9
+ };
10
+ //# sourceMappingURL=dataPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseTextToNumber/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { FieldType } from '@awell-health/extensions-core';
3
+ export declare const fields: {
4
+ text: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.STRING;
9
+ required: true;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ text: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ text: string;
16
+ }, {
17
+ text: string;
18
+ }>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsValidationSchema = exports.fields = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ exports.fields = {
7
+ text: {
8
+ id: 'text',
9
+ label: 'Text',
10
+ description: 'The text you want to parse to a number. Will return NaN if the input is not an actual number.',
11
+ type: extensions_core_1.FieldType.STRING,
12
+ required: true,
13
+ },
14
+ };
15
+ exports.FieldsValidationSchema = zod_1.z.object({
16
+ text: zod_1.z.string(),
17
+ });
18
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseTextToNumber/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAAqE;AAExD,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,WAAW,EACT,+FAA+F;QACjG,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACiC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './dataPoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var dataPoints_1 = require("./dataPoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return dataPoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseTextToNumber/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { parseTextToNumber } from './parseTextToNumber';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTextToNumber = void 0;
4
+ var parseTextToNumber_1 = require("./parseTextToNumber");
5
+ Object.defineProperty(exports, "parseTextToNumber", { enumerable: true, get: function () { return parseTextToNumber_1.parseTextToNumber; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseTextToNumber/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../../settings';
3
+ import { dataPoints, fields } from './config';
4
+ export declare const parseTextToNumber: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTextToNumber = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const zod_validation_error_1 = require("zod-validation-error");
7
+ const zod_1 = require("zod");
8
+ exports.parseTextToNumber = {
9
+ key: 'parseTextToNumber',
10
+ title: 'Parse text to number',
11
+ description: 'Transform or parse text (string) to a number. Will return NaN if the input data is not a number.',
12
+ category: extensions_core_1.Category.DATA,
13
+ fields: config_1.fields,
14
+ dataPoints: config_1.dataPoints,
15
+ previewable: true,
16
+ onActivityCreated: async (payload, onComplete, onError) => {
17
+ try {
18
+ const { fields: { text }, } = (0, extensions_core_1.validate)({
19
+ schema: zod_1.z.object({
20
+ fields: config_1.FieldsValidationSchema,
21
+ }),
22
+ payload,
23
+ });
24
+ const parsed = parseFloat(text);
25
+ const output = isNaN(parsed) ? NaN : parsed;
26
+ await onComplete({
27
+ data_points: {
28
+ number: String(output),
29
+ },
30
+ });
31
+ }
32
+ catch (err) {
33
+ if (err instanceof zod_1.ZodError) {
34
+ const error = (0, zod_validation_error_1.fromZodError)(err);
35
+ await onError({
36
+ events: [
37
+ {
38
+ date: new Date().toISOString(),
39
+ text: { en: error.name },
40
+ error: {
41
+ category: 'WRONG_INPUT',
42
+ message: `${error.message}`,
43
+ },
44
+ },
45
+ ],
46
+ });
47
+ return;
48
+ }
49
+ const error = err;
50
+ await onError({
51
+ events: [
52
+ {
53
+ date: new Date().toISOString(),
54
+ text: { en: 'Something went wrong while orchestration the action' },
55
+ error: {
56
+ category: 'SERVER_ERROR',
57
+ message: error.message,
58
+ },
59
+ },
60
+ ],
61
+ });
62
+ }
63
+ },
64
+ };
65
+ //# sourceMappingURL=parseTextToNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTextToNumber.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAElE,qCAAqE;AACrE,+DAAmD;AACnD,6BAAiC;AAEpB,QAAA,iBAAiB,GAI1B;IACF,GAAG,EAAE,mBAAmB;IACxB,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,kGAAkG;IACpG,QAAQ,EAAE,0BAAQ,CAAC,IAAI;IACvB,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EACJ,MAAM,EAAE,EAAE,IAAI,EAAE,GACjB,GAAG,IAAA,0BAAQ,EAAC;gBACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;oBACf,MAAM,EAAE,+BAAsB;iBAC/B,CAAC;gBACF,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;YAE3C,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;iBACvB;aACF,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,cAAQ,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAA,mCAAY,EAAC,GAAG,CAAC,CAAA;gBAC/B,MAAM,OAAO,CAAC;oBACZ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE;4BACxB,KAAK,EAAE;gCACL,QAAQ,EAAE,aAAa;gCACvB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;6BAC5B;yBACF;qBACF;iBACF,CAAC,CAAA;gBACF,OAAM;aACP;YAED,MAAM,KAAK,GAAG,GAAY,CAAA;YAC1B,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,qDAAqD,EAAE;wBACnE,KAAK,EAAE;4BACL,QAAQ,EAAE,cAAc;4BACxB,OAAO,EAAE,KAAK,CAAC,OAAO;yBACvB;qBACF;iBACF;aACF,CAAC,CAAA;SACH;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const tests_1 = require("../../../../../src/tests");
5
+ describe('Transform - Parse text to number', () => {
6
+ const onComplete = jest.fn();
7
+ const onError = jest.fn();
8
+ beforeEach(() => {
9
+ jest.clearAllMocks();
10
+ });
11
+ test('Should parse integer to serialized number', async () => {
12
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
13
+ fields: {
14
+ text: '1',
15
+ },
16
+ settings: {},
17
+ });
18
+ await _1.parseTextToNumber.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
19
+ expect(onComplete).toBeCalledWith({
20
+ data_points: {
21
+ number: '1',
22
+ },
23
+ });
24
+ });
25
+ test('Should parse float to serialized number', async () => {
26
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
27
+ fields: {
28
+ text: '1.5',
29
+ },
30
+ settings: {},
31
+ });
32
+ await _1.parseTextToNumber.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
33
+ expect(onComplete).toBeCalledWith({
34
+ data_points: {
35
+ number: '1.5',
36
+ },
37
+ });
38
+ });
39
+ test('Should parse to serialized NaN', async () => {
40
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
41
+ fields: {
42
+ text: 'Not a number',
43
+ },
44
+ settings: {},
45
+ });
46
+ await _1.parseTextToNumber.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
47
+ expect(onComplete).toBeCalledWith({
48
+ data_points: {
49
+ number: 'NaN',
50
+ },
51
+ });
52
+ });
53
+ });
54
+ //# sourceMappingURL=parseTextToNumber.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTextToNumber.test.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseTextToNumber/parseTextToNumber.test.ts"],"names":[],"mappings":";;AAAA,wBAAqC;AACrC,oDAA8D;AAE9D,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,IAAI,EAAE,GAAG;aACV;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,oBAAiB,CAAC,iBAAiB,CACvC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE;gBACX,MAAM,EAAE,GAAG;aACZ;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK;aACZ;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,oBAAiB,CAAC,iBAAiB,CACvC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;aACd;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,IAAI,EAAE,cAAc;aACrB;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,oBAAiB,CAAC,iBAAiB,CACvC,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE;gBACX,MAAM,EAAE,KAAK;aACd;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const dataPoints: {
2
+ date: {
3
+ key: string;
4
+ valueType: "date";
5
+ };
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = void 0;
4
+ exports.dataPoints = {
5
+ date: {
6
+ key: 'date',
7
+ valueType: 'date',
8
+ },
9
+ };
10
+ //# sourceMappingURL=dataPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataPoints.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseUnixTimestampToDate/config/dataPoints.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,MAAM;KAClB;CAC4C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { FieldType } from '@awell-health/extensions-core';
3
+ export declare const fields: {
4
+ unixTimeStamp: {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ type: FieldType.NUMERIC;
9
+ required: true;
10
+ };
11
+ };
12
+ export declare const FieldsValidationSchema: z.ZodObject<{
13
+ unixTimeStamp: z.ZodNumber;
14
+ }, "strip", z.ZodTypeAny, {
15
+ unixTimeStamp: number;
16
+ }, {
17
+ unixTimeStamp: number;
18
+ }>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldsValidationSchema = exports.fields = void 0;
4
+ const zod_1 = require("zod");
5
+ const extensions_core_1 = require("@awell-health/extensions-core");
6
+ exports.fields = {
7
+ unixTimeStamp: {
8
+ id: 'unixTimeStamp',
9
+ label: 'Unix timestamp',
10
+ description: 'The unix timestamp you want to parse to a date.',
11
+ type: extensions_core_1.FieldType.NUMERIC,
12
+ required: true,
13
+ },
14
+ };
15
+ exports.FieldsValidationSchema = zod_1.z.object({
16
+ unixTimeStamp: zod_1.z.number(),
17
+ });
18
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseUnixTimestampToDate/config/fields.ts"],"names":[],"mappings":";;;AAAA,6BAAwC;AACxC,mEAAqE;AAExD,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,iDAAiD;QAC9D,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI;KACf;CAC8B,CAAA;AAEpB,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;CACwB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { fields, FieldsValidationSchema } from './fields';
2
+ export { dataPoints } from './dataPoints';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPoints = exports.FieldsValidationSchema = exports.fields = void 0;
4
+ var fields_1 = require("./fields");
5
+ Object.defineProperty(exports, "fields", { enumerable: true, get: function () { return fields_1.fields; } });
6
+ Object.defineProperty(exports, "FieldsValidationSchema", { enumerable: true, get: function () { return fields_1.FieldsValidationSchema; } });
7
+ var dataPoints_1 = require("./dataPoints");
8
+ Object.defineProperty(exports, "dataPoints", { enumerable: true, get: function () { return dataPoints_1.dataPoints; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../extensions/transform/v1/actions/parseUnixTimestampToDate/config/index.ts"],"names":[],"mappings":";;;AAAA,mCAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AACvC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}
@@ -0,0 +1 @@
1
+ export { parseUnixTimestampToDate } from './parseUnixTimestampToDate';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseUnixTimestampToDate = void 0;
4
+ var parseUnixTimestampToDate_1 = require("./parseUnixTimestampToDate");
5
+ Object.defineProperty(exports, "parseUnixTimestampToDate", { enumerable: true, get: function () { return parseUnixTimestampToDate_1.parseUnixTimestampToDate; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseUnixTimestampToDate/index.ts"],"names":[],"mappings":";;;AAAA,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Action } from '@awell-health/extensions-core';
2
+ import { type settings } from '../../../settings';
3
+ import { dataPoints, fields } from './config';
4
+ export declare const parseUnixTimestampToDate: Action<typeof fields, typeof settings, keyof typeof dataPoints>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseUnixTimestampToDate = void 0;
4
+ const extensions_core_1 = require("@awell-health/extensions-core");
5
+ const config_1 = require("./config");
6
+ const zod_validation_error_1 = require("zod-validation-error");
7
+ const zod_1 = require("zod");
8
+ exports.parseUnixTimestampToDate = {
9
+ key: 'parseUnixTimestampToDate',
10
+ title: 'Parse unix timestamp to date',
11
+ description: 'Transform or parse a unix timestamp to a date.',
12
+ category: extensions_core_1.Category.DATA,
13
+ fields: config_1.fields,
14
+ dataPoints: config_1.dataPoints,
15
+ previewable: true,
16
+ onActivityCreated: async (payload, onComplete, onError) => {
17
+ try {
18
+ const { fields: { unixTimeStamp }, } = (0, extensions_core_1.validate)({
19
+ schema: zod_1.z.object({
20
+ fields: config_1.FieldsValidationSchema,
21
+ }),
22
+ payload,
23
+ });
24
+ const isoDate = new Date(unixTimeStamp * 1000).toISOString();
25
+ await onComplete({
26
+ data_points: {
27
+ date: String(isoDate),
28
+ },
29
+ });
30
+ }
31
+ catch (err) {
32
+ if (err instanceof zod_1.ZodError) {
33
+ const error = (0, zod_validation_error_1.fromZodError)(err);
34
+ await onError({
35
+ events: [
36
+ {
37
+ date: new Date().toISOString(),
38
+ text: { en: error.name },
39
+ error: {
40
+ category: 'WRONG_INPUT',
41
+ message: `${error.message}`,
42
+ },
43
+ },
44
+ ],
45
+ });
46
+ return;
47
+ }
48
+ const error = err;
49
+ await onError({
50
+ events: [
51
+ {
52
+ date: new Date().toISOString(),
53
+ text: { en: 'Something went wrong while orchestration the action' },
54
+ error: {
55
+ category: 'SERVER_ERROR',
56
+ message: error.message,
57
+ },
58
+ },
59
+ ],
60
+ });
61
+ }
62
+ },
63
+ };
64
+ //# sourceMappingURL=parseUnixTimestampToDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUnixTimestampToDate.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAElE,qCAAqE;AACrE,+DAAmD;AACnD,6BAAiC;AAEpB,QAAA,wBAAwB,GAIjC;IACF,GAAG,EAAE,0BAA0B;IAC/B,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,0BAAQ,CAAC,IAAI;IACvB,MAAM,EAAN,eAAM;IACN,UAAU,EAAV,mBAAU;IACV,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACxD,IAAI;YACF,MAAM,EACJ,MAAM,EAAE,EAAE,aAAa,EAAE,GAC1B,GAAG,IAAA,0BAAQ,EAAC;gBACX,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;oBACf,MAAM,EAAE,+BAAsB;iBAC/B,CAAC;gBACF,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;YAE5D,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE;oBACX,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;iBACtB;aACF,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,cAAQ,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAA,mCAAY,EAAC,GAAG,CAAC,CAAA;gBAC/B,MAAM,OAAO,CAAC;oBACZ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE;4BACxB,KAAK,EAAE;gCACL,QAAQ,EAAE,aAAa;gCACvB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;6BAC5B;yBACF;qBACF;iBACF,CAAC,CAAA;gBACF,OAAM;aACP;YAED,MAAM,KAAK,GAAG,GAAY,CAAA;YAC1B,MAAM,OAAO,CAAC;gBACZ,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,qDAAqD,EAAE;wBACnE,KAAK,EAAE;4BACL,QAAQ,EAAE,cAAc;4BACxB,OAAO,EAAE,KAAK,CAAC,OAAO;yBACvB;qBACF;iBACF;aACF,CAAC,CAAA;SACH;IACH,CAAC;CACF,CAAA"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _1 = require(".");
4
+ const tests_1 = require("../../../../../src/tests");
5
+ describe('Transform - Parse unix timestamp to date', () => {
6
+ const onComplete = jest.fn();
7
+ const onError = jest.fn();
8
+ beforeEach(() => {
9
+ jest.clearAllMocks();
10
+ });
11
+ test('Should parse integer to serialized number', async () => {
12
+ const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
13
+ fields: {
14
+ unixTimeStamp: 1,
15
+ },
16
+ settings: {},
17
+ });
18
+ await _1.parseUnixTimestampToDate.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
19
+ expect(onComplete).toBeCalledWith({
20
+ data_points: {
21
+ date: '1970-01-01T00:00:01.000Z',
22
+ },
23
+ });
24
+ });
25
+ });
26
+ //# sourceMappingURL=parseUnixTimestampToDate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUnixTimestampToDate.test.js","sourceRoot":"","sources":["../../../../../../extensions/transform/v1/actions/parseUnixTimestampToDate/parseUnixTimestampToDate.test.ts"],"names":[],"mappings":";;AAAA,wBAA4C;AAC5C,oDAA8D;AAE9D,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,0BAA0B,GAAG,IAAA,2BAAmB,EAAC;YACrD,MAAM,EAAE;gBACN,aAAa,EAAE,CAAC;aACjB;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;QAEF,MAAM,2BAAwB,CAAC,iBAAiB,CAC9C,0BAA0B,EAC1B,UAAU,EACV,OAAO,CACR,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE;gBACX,IAAI,EAAE,0BAA0B;aACjC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "1.0.107",
3
+ "version": "1.0.109",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {
@@ -45,15 +45,15 @@
45
45
  "@types/showdown": "^2.0.0",
46
46
  "@types/xml2js": "^0.4.12",
47
47
  "@typescript-eslint/eslint-plugin": "^5.52.0",
48
- "eslint": "^8.34.0",
48
+ "eslint": "^8.50.0",
49
49
  "eslint-config-prettier": "^8.6.0",
50
50
  "eslint-config-standard-with-typescript": "^34.0.0",
51
- "eslint-plugin-import": "^2.27.5",
51
+ "eslint-plugin-import": "^2.28.1",
52
52
  "eslint-plugin-n": "^15.6.1",
53
53
  "eslint-plugin-promise": "^6.1.1",
54
54
  "husky": "^8.0.3",
55
55
  "jest": "^29.4.3",
56
- "lint-staged": "^13.1.2",
56
+ "lint-staged": "^14.0.1",
57
57
  "prettier": "2.8.4",
58
58
  "rimraf": "^4.1.2",
59
59
  "ts-jest": "^29.0.5",
@@ -75,7 +75,7 @@
75
75
  "docusign-esign": "^6.3.0",
76
76
  "driver-license-validator": "2.0.2",
77
77
  "form-data": "^4.0.0",
78
- "graphql": "^16.6.0",
78
+ "graphql": "^16.8.1",
79
79
  "graphql-request": "5.1.0",
80
80
  "graphql-tag": "^2.12.6",
81
81
  "libphonenumber-js": "^1.10.26",