@turndown/library 0.0.4 → 0.0.6
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/package.json +44 -0
- package/dist/src/helpers/index.js +18 -0
- package/dist/src/helpers/object/index.js +194 -0
- package/dist/src/helpers/string/index.js +81 -0
- package/dist/src/index.js +23 -0
- package/dist/src/types/base/index.js +22 -0
- package/dist/src/types/base/paging.types.js +2 -0
- package/dist/src/types/index.js +18 -0
- package/dist/src/types/user/index.js +16 -0
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@turndown/library",
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"description": "Shared TypeScript library for the Turndown suite.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"types",
|
|
7
|
+
"typescript",
|
|
8
|
+
"turndown"
|
|
9
|
+
],
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git@github.com:Turndown-App/turndown-library.git"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"type": "module",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"default": "./dist/index.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./package.json": "./package.json"
|
|
25
|
+
},
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"files": [
|
|
28
|
+
"dist",
|
|
29
|
+
"LICENSE",
|
|
30
|
+
"README.md"
|
|
31
|
+
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"clean": "rimraf dist",
|
|
34
|
+
"build": "tsc -p .",
|
|
35
|
+
"dev": "tsc -w -p .",
|
|
36
|
+
"release": "npm run clean && changeset version && npm install --no-frozen-lockfile && npm run build",
|
|
37
|
+
"publish:ci": "npm run release && changeset publish"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@changesets/cli": "^2.29.7",
|
|
41
|
+
"rimraf": "^6.0.1",
|
|
42
|
+
"typescript": "^5.9.3"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./object"), exports);
|
|
18
|
+
__exportStar(require("./string"), exports);
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasProperties = exports.hasProperty = exports.omitProperties = exports.chunkArray = exports.deletePropertyIfExists = exports.parseNumber = exports.formatNumber = exports.formatPhoneNumber = exports.resetPagination = exports.cleanFormData = exports.convertStringBooleans = exports.removeFormProperties = exports.replaceNulls = exports.sortArrayByProperty = exports.filterArrayById = exports.returnObject = exports.validPath = exports.removeUndefined = exports.JSONStringify = exports.parseJSON = void 0;
|
|
4
|
+
const parseJSON = (jsonString) => {
|
|
5
|
+
try {
|
|
6
|
+
return JSON.parse(jsonString);
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
return {};
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
exports.parseJSON = parseJSON;
|
|
13
|
+
const JSONStringify = (obj) => {
|
|
14
|
+
let cache = [];
|
|
15
|
+
let str = JSON.stringify(obj, function (_key, value) {
|
|
16
|
+
if (typeof value === "object" && value !== null) {
|
|
17
|
+
if (cache.indexOf(value) !== -1) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
cache.push(value);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
});
|
|
24
|
+
cache = null;
|
|
25
|
+
return str;
|
|
26
|
+
};
|
|
27
|
+
exports.JSONStringify = JSONStringify;
|
|
28
|
+
const removeUndefined = (obj) => {
|
|
29
|
+
return JSON.parse((0, exports.JSONStringify)(obj));
|
|
30
|
+
};
|
|
31
|
+
exports.removeUndefined = removeUndefined;
|
|
32
|
+
const validPath = (location, key) => {
|
|
33
|
+
return location?.pathname === key;
|
|
34
|
+
};
|
|
35
|
+
exports.validPath = validPath;
|
|
36
|
+
const returnObject = (input) => {
|
|
37
|
+
return Array.isArray(input) ? input[0] : input;
|
|
38
|
+
};
|
|
39
|
+
exports.returnObject = returnObject;
|
|
40
|
+
const filterArrayById = (array1, array2) => {
|
|
41
|
+
try {
|
|
42
|
+
if (!array1 || !array2)
|
|
43
|
+
return [];
|
|
44
|
+
const idsToExclude = new Set(array2.map((item) => item.id));
|
|
45
|
+
return array1.filter((item) => !idsToExclude.has(item.id));
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error("An error occurred:", error);
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.filterArrayById = filterArrayById;
|
|
53
|
+
const sortArrayByProperty = (array, property) => {
|
|
54
|
+
if (!array || array.length === 0)
|
|
55
|
+
return [];
|
|
56
|
+
return array.sort((a, b) => {
|
|
57
|
+
if (a[property] < b[property])
|
|
58
|
+
return -1;
|
|
59
|
+
if (a[property] > b[property])
|
|
60
|
+
return 1;
|
|
61
|
+
return 0;
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
exports.sortArrayByProperty = sortArrayByProperty;
|
|
65
|
+
const replaceNulls = (obj) => {
|
|
66
|
+
if (obj === null) {
|
|
67
|
+
return "";
|
|
68
|
+
}
|
|
69
|
+
else if (Array.isArray(obj)) {
|
|
70
|
+
return obj.map(exports.replaceNulls);
|
|
71
|
+
}
|
|
72
|
+
else if (typeof obj === "object" && obj !== null) {
|
|
73
|
+
const newObj = {};
|
|
74
|
+
for (const key in obj) {
|
|
75
|
+
if (obj.hasOwnProperty(key)) {
|
|
76
|
+
newObj[key] = (0, exports.replaceNulls)(obj[key]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return newObj;
|
|
80
|
+
}
|
|
81
|
+
return obj;
|
|
82
|
+
};
|
|
83
|
+
exports.replaceNulls = replaceNulls;
|
|
84
|
+
const removeFormProperties = (obj) => {
|
|
85
|
+
const recursiveRemove = (input) => {
|
|
86
|
+
if (Array.isArray(input)) {
|
|
87
|
+
return input.map((item) => recursiveRemove(item));
|
|
88
|
+
}
|
|
89
|
+
else if (typeof input === "object" && input !== null) {
|
|
90
|
+
const newObj = { ...input };
|
|
91
|
+
Object.keys(newObj).forEach((key) => {
|
|
92
|
+
if (key.includes(".")) {
|
|
93
|
+
delete newObj[key];
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
newObj[key] = recursiveRemove(newObj[key]);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return newObj;
|
|
100
|
+
}
|
|
101
|
+
return input;
|
|
102
|
+
};
|
|
103
|
+
return recursiveRemove(obj);
|
|
104
|
+
};
|
|
105
|
+
exports.removeFormProperties = removeFormProperties;
|
|
106
|
+
const convertStringBooleans = (obj) => {
|
|
107
|
+
const recursiveConvert = (input) => {
|
|
108
|
+
if (Array.isArray(input)) {
|
|
109
|
+
return input.map((item) => recursiveConvert(item));
|
|
110
|
+
}
|
|
111
|
+
else if (typeof input === "object" && input !== null) {
|
|
112
|
+
const newObj = { ...input };
|
|
113
|
+
Object.keys(newObj).forEach((key) => {
|
|
114
|
+
const value = newObj[key];
|
|
115
|
+
if (value === "true") {
|
|
116
|
+
newObj[key] = true;
|
|
117
|
+
}
|
|
118
|
+
else if (value === "false") {
|
|
119
|
+
newObj[key] = false;
|
|
120
|
+
}
|
|
121
|
+
else if (typeof value === "object" && value !== null) {
|
|
122
|
+
newObj[key] = recursiveConvert(value);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return newObj;
|
|
126
|
+
}
|
|
127
|
+
return input;
|
|
128
|
+
};
|
|
129
|
+
return recursiveConvert(obj);
|
|
130
|
+
};
|
|
131
|
+
exports.convertStringBooleans = convertStringBooleans;
|
|
132
|
+
const cleanFormData = (obj) => {
|
|
133
|
+
return (0, exports.removeFormProperties)((0, exports.convertStringBooleans)((0, exports.removeUndefined)(obj)));
|
|
134
|
+
};
|
|
135
|
+
exports.cleanFormData = cleanFormData;
|
|
136
|
+
const resetPagination = (sort, filters) => {
|
|
137
|
+
return {
|
|
138
|
+
page: 1,
|
|
139
|
+
size: 25,
|
|
140
|
+
sort: sort || [],
|
|
141
|
+
filters: filters || [],
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
exports.resetPagination = resetPagination;
|
|
145
|
+
const formatPhoneNumber = (value) => {
|
|
146
|
+
const digits = value.toString().replace(/\D/g, "");
|
|
147
|
+
if (digits.length !== 10)
|
|
148
|
+
return value.toString();
|
|
149
|
+
const area = digits.slice(0, 3);
|
|
150
|
+
const prefix = digits.slice(3, 6);
|
|
151
|
+
const line = digits.slice(6);
|
|
152
|
+
return `(${area}) ${prefix}-${line}`;
|
|
153
|
+
};
|
|
154
|
+
exports.formatPhoneNumber = formatPhoneNumber;
|
|
155
|
+
const formatNumber = (value) => {
|
|
156
|
+
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
157
|
+
};
|
|
158
|
+
exports.formatNumber = formatNumber;
|
|
159
|
+
const parseNumber = (value) => {
|
|
160
|
+
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "");
|
|
161
|
+
};
|
|
162
|
+
exports.parseNumber = parseNumber;
|
|
163
|
+
const deletePropertyIfExists = (obj, propertyName) => {
|
|
164
|
+
if (Object.prototype.hasOwnProperty.call(obj, propertyName)) {
|
|
165
|
+
delete obj[propertyName];
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
exports.deletePropertyIfExists = deletePropertyIfExists;
|
|
169
|
+
const chunkArray = (array, chunkSize) => {
|
|
170
|
+
const result = [];
|
|
171
|
+
for (let i = 0; i < array.length; i += chunkSize) {
|
|
172
|
+
result.push(array.slice(i, i + chunkSize));
|
|
173
|
+
}
|
|
174
|
+
return result;
|
|
175
|
+
};
|
|
176
|
+
exports.chunkArray = chunkArray;
|
|
177
|
+
const omitProperties = (obj, propsToOmit) => {
|
|
178
|
+
const newObj = { ...obj };
|
|
179
|
+
propsToOmit.forEach((prop) => {
|
|
180
|
+
delete newObj[prop];
|
|
181
|
+
});
|
|
182
|
+
return newObj;
|
|
183
|
+
};
|
|
184
|
+
exports.omitProperties = omitProperties;
|
|
185
|
+
const hasProperty = (obj, key) => {
|
|
186
|
+
if (!obj)
|
|
187
|
+
return false;
|
|
188
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
189
|
+
};
|
|
190
|
+
exports.hasProperty = hasProperty;
|
|
191
|
+
const hasProperties = (obj) => {
|
|
192
|
+
return Object.keys(obj || {}).length > 0;
|
|
193
|
+
};
|
|
194
|
+
exports.hasProperties = hasProperties;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kebabToSpaces = exports.snakeCaseToSpaces = exports.snakeCase = exports.kebabCase = exports.pascalCase = exports.camelCase = exports.lowerCase = exports.upperCase = exports.sentenceCase = exports.normalCase = void 0;
|
|
4
|
+
const normalCase = (str) => {
|
|
5
|
+
if (!str)
|
|
6
|
+
return "";
|
|
7
|
+
return str
|
|
8
|
+
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
9
|
+
.replace(/([A-Z])([A-Z][a-z])/g, "$1 $2")
|
|
10
|
+
.split(/\s+/)
|
|
11
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
12
|
+
.join(" ");
|
|
13
|
+
};
|
|
14
|
+
exports.normalCase = normalCase;
|
|
15
|
+
const sentenceCase = (str) => {
|
|
16
|
+
if (!str)
|
|
17
|
+
return "";
|
|
18
|
+
const s = str.trim();
|
|
19
|
+
return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
|
|
20
|
+
};
|
|
21
|
+
exports.sentenceCase = sentenceCase;
|
|
22
|
+
const upperCase = (str) => {
|
|
23
|
+
return str ? str.toUpperCase() : "";
|
|
24
|
+
};
|
|
25
|
+
exports.upperCase = upperCase;
|
|
26
|
+
const lowerCase = (str) => {
|
|
27
|
+
return str ? str.toLowerCase() : "";
|
|
28
|
+
};
|
|
29
|
+
exports.lowerCase = lowerCase;
|
|
30
|
+
const camelCase = (str) => {
|
|
31
|
+
if (!str)
|
|
32
|
+
return "";
|
|
33
|
+
return str
|
|
34
|
+
.toLowerCase()
|
|
35
|
+
.split(/[\s_-]+/)
|
|
36
|
+
.map((word, i) => i === 0
|
|
37
|
+
? word
|
|
38
|
+
: word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
39
|
+
.join("");
|
|
40
|
+
};
|
|
41
|
+
exports.camelCase = camelCase;
|
|
42
|
+
const pascalCase = (str) => {
|
|
43
|
+
if (!str)
|
|
44
|
+
return "";
|
|
45
|
+
return str
|
|
46
|
+
.toLowerCase()
|
|
47
|
+
.split(/[\s_-]+/)
|
|
48
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
49
|
+
.join("");
|
|
50
|
+
};
|
|
51
|
+
exports.pascalCase = pascalCase;
|
|
52
|
+
const kebabCase = (str) => {
|
|
53
|
+
if (!str)
|
|
54
|
+
return "";
|
|
55
|
+
return str
|
|
56
|
+
.replace(/([a-z])([A-Z])/g, "$1-$2")
|
|
57
|
+
.replace(/[\s_]+/g, "-")
|
|
58
|
+
.toLowerCase();
|
|
59
|
+
};
|
|
60
|
+
exports.kebabCase = kebabCase;
|
|
61
|
+
const snakeCase = (str) => {
|
|
62
|
+
if (!str)
|
|
63
|
+
return "";
|
|
64
|
+
return str
|
|
65
|
+
.replace(/([a-z])([A-Z])/g, "$1_$2")
|
|
66
|
+
.replace(/[\s-]+/g, "_")
|
|
67
|
+
.toLowerCase();
|
|
68
|
+
};
|
|
69
|
+
exports.snakeCase = snakeCase;
|
|
70
|
+
const snakeCaseToSpaces = (str) => {
|
|
71
|
+
if (!str)
|
|
72
|
+
return "";
|
|
73
|
+
return str.split("_").join(" ");
|
|
74
|
+
};
|
|
75
|
+
exports.snakeCaseToSpaces = snakeCaseToSpaces;
|
|
76
|
+
const kebabToSpaces = (str) => {
|
|
77
|
+
if (!str)
|
|
78
|
+
return "";
|
|
79
|
+
return str.split("-").join(" ");
|
|
80
|
+
};
|
|
81
|
+
exports.kebabToSpaces = kebabToSpaces;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.test = void 0;
|
|
18
|
+
__exportStar(require("./helpers"), exports);
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
const test = () => {
|
|
21
|
+
console.log("working");
|
|
22
|
+
};
|
|
23
|
+
exports.test = test;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.STATUS = void 0;
|
|
18
|
+
exports.STATUS = {
|
|
19
|
+
ACTIVE: "ACTIVE",
|
|
20
|
+
INACTIVE: "INACTIVE",
|
|
21
|
+
};
|
|
22
|
+
__exportStar(require("./paging.types"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./user"), exports);
|
|
18
|
+
__exportStar(require("./base"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LANGUAGE = exports.ACCOUNT_TYPE = void 0;
|
|
4
|
+
exports.ACCOUNT_TYPE = {
|
|
5
|
+
TURNDOWN_ADMIN: "TURNDOWN_ADMIN",
|
|
6
|
+
OWNER: "OWNER",
|
|
7
|
+
ACCOUNT_ADMIN: "ACCOUNT_ADMIN",
|
|
8
|
+
MAINTAINER: "MAINTAINER",
|
|
9
|
+
CLEANER: "CLEANER",
|
|
10
|
+
};
|
|
11
|
+
exports.LANGUAGE = {
|
|
12
|
+
ENGLISH: "ENGLISH",
|
|
13
|
+
FRENCH: "FRENCH",
|
|
14
|
+
SPANISH: "SPANISH",
|
|
15
|
+
GERMAN: "GERMAN",
|
|
16
|
+
};
|