JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8201
  • Score
    100M100P100Q128974F
  • License MIT

Gatekeeper's pdf/email Utils - shared in NPM

Package Exports

  • @gatekeeper_technology/report-utils
  • @gatekeeper_technology/report-utils/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@gatekeeper_technology/report-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Gatekeeper's report utils

Gatekeeper's pdf/email Utils - shared in NPM

Set-up

  1. Create a .npmrc file containing: //registry.npmjs.org/:_authToken=<publish-npm-token>. You can find the publish npm-token on onePassword.

Updating

  1. Put your code changes in index.js.
    • If you added a new function, write jest test cases for it.
  2. Update the version number in the package.json.
  3. Describe your changes in the README.md changelog.
  4. Test your code before publishing:
    • Navigate one directory back
    • Open the terminal.
    • Execute npm install @gatekeeper_technology/report-utils.
    • If any error fix them.
    • Navigate back into the report-utils directory
      • Make sure you have jest installed on your machine.
    • run npm test to test that all the functions are working correctly.
  5. Execute cd report-utils and npm publish in the terminal.
  6. Commit & Push your changes to GitHub.

Using this package in a JourneyApps CloudCode Task.

  • In your CloudCode, open the package.json file and make sure you have the following code:
    "dependencies": {
        "@gatekeeper_technology/report-utils": "<current-version-number>"
    }
    , where <current-version-number> is the version number saved in this repo's package.json file.
  • In the JavaScript code add the following line at the top of the page: const utils = require("@gatekeeper_technology/report-utils");.
  • Create a .npmrc file (in the CC task) containing: //registry.npmjs.org/:_authToken=<read-only-npm-token>. You can find the read-only npm-token on 1Password.
  • You can check at the top of this repo's index.js file to see which functions we export. We should update the list of functionality soon.
  • Happy coding!

Functionality

This package has three parts

  • date_time_utils - Functions that format JavaScript datetime objects to a readable/printable format
  • email_utils - These functions ensure that the specified email addresses do not violate any of the SendGrid v3 requirements and implements whitelisting
  • photo_attachment_utils -

Changelog

[1.3.1]

Removed

  • Updated the rollbar-utils version

[1.2.1]

Removed

  • dist ignore file in .npmignore.

[1.2.0]

Added

  • Added postToJourneyBackend function
  • Added journeyApps npm packages as dependencies to assist with the reportUtil package.
  • Added sortArrayByField function
  • Added generateHTML function
  • Added formatText function
  • Added getImageContentForPDF function

Changed

  • Migrated to TypeScript
  • All date functions should now be able to accept Day variables.
  • .gitignore file now ignores compiled files.
  • isAttachment(s)Uploaded functions no longer reschedules. It now throws an error with the cause = attachments-uploading

[1.1.10]

Removed

  • Removed loadBase64 function in a race against time.

[1.1.9]

Added

  • Jest Test cases
  • formatText, sortArrayByField and generateHTML functions
  • .d.ts files.

[1.1.8]

Changed

  • Added more validation on general utils

Added

  • Unit Tests on General Utils.

Removed

  • console.error() on date Utils.

[1.1.7]

Changed

  • Fixed funky way of throwing errors
  • Added a new utils folder with small internal utils

[1.1.6]

Changed

  • When retrying a task, we don't need to specify the CloudCode task name as we can access it programmatically

[1.1.5]

Added

  • isSameDay: Checks if the given two dates falls on the same day (second date value defaults to now).
  • compareDates: Checks if the given two dates falls on the same date and time (return 0), date 1 is before date 2 (returns -1), otherwise returns 1 (second date value defaults to now).

Removed

  • isToday: Can be used via the isSameDay() function
  • isPastDate and isFutureDate: Can be user via the compareDates() function

Changed

  • Improved Test file (WIP)

[1.1.4]

Added

  • areEqualDates
  • areEqualDateTimes
  • isToday
  • getStartOfWeek
  • getEndOfWeek
  • getWeekNumber
  • isFutureDate
  • isPastDate

[1.1.3]

Fixed

  • A bug where you cannot import the report-utils package in the /mobile side of an App.

[1.1.2]

Changed

  • [TESTING] Moved the loadImageBase64 function to index.js to see if the required("fs") problem is fixed.

[1.1.1]

Changed

  • [TESTING] Moved the require("fs") out of the function.

[1.1.0]

Changed

  • Refactored the file structure to separate the concerns.
  • Replaced displayPhoto with journeyPhotoToBase64, it now has a more descriptive name
  • Replaced loadPhotoOrSignature with getPhotoOrSignatureData, it's now up to the developer to load the data into a data hash.
  • Replaced loadSignatureBase64 with encodeBase64ImagePNG, renamed function and changed the input parameter to the actual image data.

[1.00.07]

Added

  • index.js: Added the ability to specify in which environments to enable email whitelisting.

[1.00.06]

Changed

  • index.js: Emails are first trimmed and toLowerCase'd before checking if it is valid.

[1.00.05]

Changed

  • index.js: Changed the way loadAttachments function receives retry_count value.

[1.00.04]

Fixed

  • index.js: a Bug where the loadPhotoOrSignature function was out of date.

[1.00.03]

Changed

  • index.js: Emails check now convert all emails to lowercase before checking for duplicates.

[1.00.02]

Added

  • index.js: Added function displayTimeWithSeconds.

Changed

  • index.js: improved javadocs commenting .

[1.00.01]

Changed

  • Readme.md: explanation improved.
  • index.js: Added functions displayDateTime and displayTime.

[1.00.00]

Added

  • package.json: Added.
  • index.js: Added and populated with Gatekeeper's handlebarUtil functions.
  • .npmignore: Added.
  • .gitignore: Added.
  • README.md: Added with description, set-up and change-log.