@sqlrooms/utils 0.0.3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/json.d.ts +8 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +17 -0
- package/package.json +2 -2
- package/dist/storage.d.ts +0 -10
- package/dist/storage.d.ts.map +0 -1
- package/dist/storage.js +0 -9
- package/dist/str.test.d.ts +0 -2
- package/dist/str.test.d.ts.map +0 -1
- package/dist/str.test.js +0 -42
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/json.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a JSON string and return the parsed object.
|
|
3
|
+
* If the string is not valid JSON, return null.
|
|
4
|
+
* @param json - The JSON string to parse.
|
|
5
|
+
* @returns The parsed object or null if the string is not valid JSON.
|
|
6
|
+
*/
|
|
7
|
+
export declare function safeJsonParse<T>(json: string | undefined | null): T | null;
|
|
8
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAQ1E"}
|
package/dist/json.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a JSON string and return the parsed object.
|
|
3
|
+
* If the string is not valid JSON, return null.
|
|
4
|
+
* @param json - The JSON string to parse.
|
|
5
|
+
* @returns The parsed object or null if the string is not valid JSON.
|
|
6
|
+
*/
|
|
7
|
+
export function safeJsonParse(json) {
|
|
8
|
+
if (!json)
|
|
9
|
+
return null;
|
|
10
|
+
try {
|
|
11
|
+
return JSON.parse(json);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.error('Failed to parse JSON:', error);
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sqlrooms/utils",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"@types/d3-time-format": "^4.0.3",
|
|
40
40
|
"@types/seedrandom": "^3.0.8"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "2d44f6636dbd53d18c32a422351e93caa182ada6"
|
|
43
43
|
}
|
package/dist/storage.d.ts
DELETED
package/dist/storage.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAGA,wBAAsB,gBAAgB,CACpC,MAAM,EACF;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAC,GACjC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,gBAO5E"}
|
package/dist/storage.js
DELETED
package/dist/str.test.d.ts
DELETED
package/dist/str.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"str.test.d.ts","sourceRoot":"","sources":["../src/str.test.ts"],"names":[],"mappings":""}
|
package/dist/str.test.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { convertToUniqueS3ObjectName, generateUniqueName, generateUniquePath, } from './str';
|
|
2
|
-
test('generateUniqueName generates unique table names', () => {
|
|
3
|
-
expect(generateUniqueName('foo', [])).toBe('foo');
|
|
4
|
-
expect(generateUniqueName('foo', ['345'])).toBe('foo');
|
|
5
|
-
expect(generateUniqueName('foo', ['foo_1'])).toBe('foo');
|
|
6
|
-
expect(generateUniqueName('foo', ['foo', 'foo_1'])).toBe('foo_2');
|
|
7
|
-
expect(generateUniqueName('foo_1', ['foo_1'])).toBe('foo_2');
|
|
8
|
-
expect(generateUniqueName('foo_2', ['foo_2'])).toBe('foo_3');
|
|
9
|
-
expect(generateUniqueName('foo', ['foo', 'foo_1', 'foo_2'])).toBe('foo_3');
|
|
10
|
-
expect(generateUniqueName('')).toBe('');
|
|
11
|
-
expect(generateUniqueName('', [''])).toBe('_1');
|
|
12
|
-
expect(generateUniqueName('_', ['_'])).toBe('__1');
|
|
13
|
-
});
|
|
14
|
-
test('generateUniquePath generates unique paths', () => {
|
|
15
|
-
expect(generateUniquePath('/foo/bar.csv', [])).toBe('/foo/bar.csv');
|
|
16
|
-
expect(generateUniquePath('/foo/bar.csv', ['345'])).toBe('/foo/bar.csv');
|
|
17
|
-
expect(generateUniquePath('/foo/bar.csv', ['/foo/bar.csv'])).toBe('/foo/bar_1.csv');
|
|
18
|
-
expect(generateUniquePath('/foo/bar.csv', ['/foo/bar_1.csv'])).toBe('/foo/bar.csv');
|
|
19
|
-
expect(generateUniquePath('/foo/bar.csv', ['/foo/bar.csv', '/foo/bar_1.csv'])).toBe('/foo/bar_2.csv');
|
|
20
|
-
expect(generateUniquePath('/foo/bar.csv', [
|
|
21
|
-
'/foo/bar.csv',
|
|
22
|
-
'/foo/bar_1.csv',
|
|
23
|
-
'/foo/bar_2.csv',
|
|
24
|
-
])).toBe('/foo/bar_3.csv');
|
|
25
|
-
expect(generateUniquePath('/foo/bar_1.csv', ['/foo/bar_1.csv'])).toBe('/foo/bar_2.csv');
|
|
26
|
-
expect(generateUniquePath('/foo/bar_2.csv', ['/foo/bar_2.csv'])).toBe('/foo/bar_3.csv');
|
|
27
|
-
expect(generateUniquePath('/foo', [])).toBe('/foo');
|
|
28
|
-
expect(generateUniquePath('/foo/bar', [])).toBe('/foo/bar');
|
|
29
|
-
expect(generateUniquePath('/foo/bar', ['/foo/bar'])).toBe('/foo/bar_1');
|
|
30
|
-
expect(generateUniquePath('/', [])).toBe('/');
|
|
31
|
-
expect(generateUniquePath('', [])).toBe('');
|
|
32
|
-
expect(generateUniquePath('', [''])).toBe('_1');
|
|
33
|
-
expect(generateUniquePath('_', ['_'])).toBe('__1');
|
|
34
|
-
});
|
|
35
|
-
test('convertToUniqueS3ObjectName works correctly', () => {
|
|
36
|
-
expect(convertToUniqueS3ObjectName('/flows.csv', [])).toBe('_flows.csv');
|
|
37
|
-
expect(convertToUniqueS3ObjectName('&flows.csv', [])).toBe('_flows.csv');
|
|
38
|
-
expect(convertToUniqueS3ObjectName('@flows.csv', [])).toBe('_flows.csv');
|
|
39
|
-
expect(convertToUniqueS3ObjectName('/flows.csv', [])).toBe('_flows.csv');
|
|
40
|
-
expect(convertToUniqueS3ObjectName('flows.csv', ['flows.csv'])).toBe('flows_1.csv');
|
|
41
|
-
expect(convertToUniqueS3ObjectName('flows.csv', ['flows.csv', 'flows_1.csv'])).toBe('flows_2.csv');
|
|
42
|
-
});
|