@pittica/google-business-intelligence-helpers 1.15.3 → 1.15.4

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.
@@ -93,12 +93,20 @@ exports.extractStorageResponse = (response, schemas = "", dateFormat = "YYYY-MM-
93
93
  * @param {string} folder Google Storage folder path.
94
94
  * @returns {object} A safe name of a file in the given folder in the given bucket.
95
95
  */
96
- exports.getSafeFilename = (storage, bucket, filename, folder = "") => getFiles(storage, bucket, folder ? `${folder}/${filename}` : filename).then(response => {
97
- const file = response.flat(3).filter(value => value && typeof value.name !== "undefined").map(({
98
- name
99
- }) => folder ? name.replace(new RegExp(`^${folder}\/`, "gs"), "") : name).slice(-1).pop();
100
- return typeof file !== "undefined" && file ? incrementFilenameVersion(splitName(file)) : splitName(filename);
101
- });
96
+ exports.getSafeFilename = (storage, bucket, filename, folder = "") => {
97
+ const {
98
+ name,
99
+ ext
100
+ } = path.parse(filename);
101
+ const regex = new RegExp(`${name}(_\\d+)?\\${ext}$`, "gs");
102
+ return getFiles(storage, bucket, folder ? `${folder}/${name}` : name).then(response => {
103
+ const [files] = response;
104
+ const file = files.flat(3).filter(value => value && typeof value.name !== "undefined" && regex.test(value.name)).map(({
105
+ name
106
+ }) => folder ? name.replace(new RegExp(`^${folder}\/`, "gs"), "") : name).slice(-1).pop();
107
+ return typeof file !== "undefined" && file ? incrementFilenameVersion(splitName(file)) : splitName(filename);
108
+ });
109
+ };
102
110
 
103
111
  /**
104
112
  * Ritrieves a safe name of a file in the given folder in the given bucket.
@@ -16,7 +16,7 @@ const {
16
16
  getFilenameVersion
17
17
  } = require("./file");
18
18
  const {
19
- partsToDate
19
+ partsToDateUTC
20
20
  } = require("./date");
21
21
 
22
22
  /**
@@ -30,7 +30,7 @@ exports.splitName = name => {
30
30
  const split = name.split(/^(\d{4})\-(\d{2})\-(\d{2})\-(([\w_-]+)(?:\_[0-9]+)|([\w_-]+))(?:\.(\w+))$/gis);
31
31
  if (split.length >= 8) {
32
32
  return {
33
- date: partsToDate(split),
33
+ date: partsToDateUTC(split),
34
34
  name: typeof split[5] !== "undefined" ? split[5] : split[6],
35
35
  fullname: typeof split[4] !== "undefined" ? split[4] : name,
36
36
  extension: split[7],
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pittica/google-business-intelligence-helpers",
3
3
  "private": false,
4
- "version": "1.15.3",
4
+ "version": "1.15.4",
5
5
  "description": "Helpers for business intelligence for Google Cloud.",
6
6
  "main": "dist/index.js",
7
7
  "scripts": {