@leav/utils 0.0.1-test
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/README.md +8 -0
- package/dist/cjs/MIMEByExtension.json +806 -0
- package/dist/cjs/constants.d.ts +2 -0
- package/dist/cjs/constants.js +9 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.js +31 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/applications.d.ts +1 -0
- package/dist/cjs/types/applications.js +8 -0
- package/dist/cjs/types/applications.js.map +1 -0
- package/dist/cjs/types/attributes.d.ts +7 -0
- package/dist/cjs/types/attributes.js +15 -0
- package/dist/cjs/types/attributes.js.map +1 -0
- package/dist/cjs/types/errors.d.ts +5 -0
- package/dist/cjs/types/errors.js +13 -0
- package/dist/cjs/types/errors.js.map +1 -0
- package/dist/cjs/types/events.d.ts +75 -0
- package/dist/cjs/types/events.js +37 -0
- package/dist/cjs/types/events.js.map +1 -0
- package/dist/cjs/types/files.d.ts +16 -0
- package/dist/cjs/types/files.js +15 -0
- package/dist/cjs/types/files.js.map +1 -0
- package/dist/cjs/types/forms.d.ts +60 -0
- package/dist/cjs/types/forms.js +29 -0
- package/dist/cjs/types/forms.js.map +1 -0
- package/dist/cjs/types/helpers.d.ts +13 -0
- package/dist/cjs/types/helpers.js +3 -0
- package/dist/cjs/types/helpers.js.map +1 -0
- package/dist/cjs/types/logs.d.ts +2 -0
- package/dist/cjs/types/logs.js +3 -0
- package/dist/cjs/types/logs.js.map +1 -0
- package/dist/cjs/types/previews.d.ts +5 -0
- package/dist/cjs/types/previews.js +13 -0
- package/dist/cjs/types/previews.js.map +1 -0
- package/dist/cjs/types/values.d.ts +4 -0
- package/dist/cjs/types/values.js +3 -0
- package/dist/cjs/types/values.js.map +1 -0
- package/dist/cjs/utils.d.ts +68 -0
- package/dist/cjs/utils.js +312 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/MIMEByExtension.json +806 -0
- package/dist/esm/constants.d.ts +2 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/applications.d.ts +1 -0
- package/dist/esm/types/applications.js +5 -0
- package/dist/esm/types/applications.js.map +1 -0
- package/dist/esm/types/attributes.d.ts +7 -0
- package/dist/esm/types/attributes.js +12 -0
- package/dist/esm/types/attributes.js.map +1 -0
- package/dist/esm/types/errors.d.ts +5 -0
- package/dist/esm/types/errors.js +10 -0
- package/dist/esm/types/errors.js.map +1 -0
- package/dist/esm/types/events.d.ts +75 -0
- package/dist/esm/types/events.js +34 -0
- package/dist/esm/types/events.js.map +1 -0
- package/dist/esm/types/files.d.ts +16 -0
- package/dist/esm/types/files.js +12 -0
- package/dist/esm/types/files.js.map +1 -0
- package/dist/esm/types/forms.d.ts +60 -0
- package/dist/esm/types/forms.js +26 -0
- package/dist/esm/types/forms.js.map +1 -0
- package/dist/esm/types/helpers.d.ts +13 -0
- package/dist/esm/types/helpers.js +2 -0
- package/dist/esm/types/helpers.js.map +1 -0
- package/dist/esm/types/logs.d.ts +2 -0
- package/dist/esm/types/logs.js +2 -0
- package/dist/esm/types/logs.js.map +1 -0
- package/dist/esm/types/previews.d.ts +5 -0
- package/dist/esm/types/previews.js +10 -0
- package/dist/esm/types/previews.js.map +1 -0
- package/dist/esm/types/values.d.ts +4 -0
- package/dist/esm/types/values.js +2 -0
- package/dist/esm/types/values.js.map +1 -0
- package/dist/esm/utils.d.ts +68 -0
- package/dist/esm/utils.js +262 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,312 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.omit = exports.isTypeStandard = exports.isTypeLink = exports.waitFor = exports.getLogsIndexName = exports.getFlagByLang = exports.simpleStringHash = exports.slugifyString = exports._getInitialEngine = exports.getInitials = exports.getCallStack = exports.getFileType = exports.nameValArrayToObj = exports.objectToNameValueArray = exports.extractArgsFromString = exports.getInvertColor = exports.stringToColor = exports.localizedTranslation = exports.isFileAllowed = exports.getGraphqlQueryNameFromLibraryName = exports.getGraphqlTypeFromLibraryName = void 0;
|
|
30
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
31
|
+
// This file is released under LGPL V3
|
|
32
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
33
|
+
const camelCase_1 = __importDefault(require("lodash/camelCase"));
|
|
34
|
+
const flow_1 = __importDefault(require("lodash/flow"));
|
|
35
|
+
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
36
|
+
const partialRight_1 = __importDefault(require("lodash/partialRight"));
|
|
37
|
+
const trimEnd_1 = __importDefault(require("lodash/trimEnd"));
|
|
38
|
+
const upperFirst_1 = __importDefault(require("lodash/upperFirst"));
|
|
39
|
+
const minimatch_1 = __importDefault(require("minimatch"));
|
|
40
|
+
const extensions = __importStar(require("./MIMEByExtension.json"));
|
|
41
|
+
const attributes_1 = require("./types/attributes");
|
|
42
|
+
const files_1 = require("./types/files");
|
|
43
|
+
const getGraphqlTypeFromLibraryName = (library) => (0, flow_1.default)([camelCase_1.default, upperFirst_1.default, trimEnd_1.default, (0, partialRight_1.default)(trimEnd_1.default, 's')])(library);
|
|
44
|
+
exports.getGraphqlTypeFromLibraryName = getGraphqlTypeFromLibraryName;
|
|
45
|
+
const getGraphqlQueryNameFromLibraryName = (library) => (0, flow_1.default)([camelCase_1.default, trimEnd_1.default])(library);
|
|
46
|
+
exports.getGraphqlQueryNameFromLibraryName = getGraphqlQueryNameFromLibraryName;
|
|
47
|
+
const isFileAllowed = (fsPath, allowList, ignoreList, filePath) => {
|
|
48
|
+
// if allowPatterns is empty it's an implicit allow of all files
|
|
49
|
+
if (!allowList.length) {
|
|
50
|
+
allowList = ['**'];
|
|
51
|
+
}
|
|
52
|
+
const isAllowed = allowList.some(pattern => (0, minimatch_1.default)(filePath, `${fsPath}/${pattern}`));
|
|
53
|
+
const isIgnored = ignoreList.some(pattern => (0, minimatch_1.default)(filePath, `${fsPath}/${pattern}`));
|
|
54
|
+
return !isIgnored && isAllowed;
|
|
55
|
+
};
|
|
56
|
+
exports.isFileAllowed = isFileAllowed;
|
|
57
|
+
const localizedTranslation = (translations, availableLanguages) => {
|
|
58
|
+
if (!translations) {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
const userLang = availableLanguages[0];
|
|
62
|
+
const fallbackLang = availableLanguages[1] ? availableLanguages[1] : '';
|
|
63
|
+
return translations[userLang] || translations[fallbackLang] || translations[Object.keys(translations)[0]] || '';
|
|
64
|
+
};
|
|
65
|
+
exports.localizedTranslation = localizedTranslation;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @param str
|
|
69
|
+
* @param format 'hsl' || 'rgb' || 'hex'
|
|
70
|
+
* @param saturation in percent, default to 30
|
|
71
|
+
* @param luminosity in percent, default to 80
|
|
72
|
+
*/
|
|
73
|
+
const stringToColor = (str = '', format = 'hsl', saturation = 30, luminosity = 80) => {
|
|
74
|
+
let hash = 0;
|
|
75
|
+
for (let i = 0; i < (str ?? '').length; i++) {
|
|
76
|
+
// eslint-disable-next-line no-bitwise
|
|
77
|
+
hash = str.charCodeAt(i) + ((hash << 5) - hash);
|
|
78
|
+
}
|
|
79
|
+
const hue = hash % 360;
|
|
80
|
+
switch (format) {
|
|
81
|
+
case 'hex':
|
|
82
|
+
return _hslToHex(hue, saturation, luminosity);
|
|
83
|
+
case 'rgb':
|
|
84
|
+
const [r, g, b] = _hslToRgb(hue, saturation, luminosity);
|
|
85
|
+
return `rgb(${r},${g},${b})`;
|
|
86
|
+
case 'hsl':
|
|
87
|
+
return `hsl(${hue}, ${saturation}%, ${luminosity}%)`;
|
|
88
|
+
default:
|
|
89
|
+
return `hsl(${hue}, ${saturation}%, ${luminosity}%)`;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
exports.stringToColor = stringToColor;
|
|
93
|
+
const _hue2rgb = (p, q, t) => {
|
|
94
|
+
if (t < 0) {
|
|
95
|
+
t += 1;
|
|
96
|
+
}
|
|
97
|
+
if (t > 1) {
|
|
98
|
+
t -= 1;
|
|
99
|
+
}
|
|
100
|
+
if (t < 1 / 6) {
|
|
101
|
+
return p + (q - p) * 6 * t;
|
|
102
|
+
}
|
|
103
|
+
if (t < 1 / 2) {
|
|
104
|
+
return q;
|
|
105
|
+
}
|
|
106
|
+
if (t < 2 / 3) {
|
|
107
|
+
return p + (q - p) * (2 / 3 - t) * 6;
|
|
108
|
+
}
|
|
109
|
+
return p;
|
|
110
|
+
};
|
|
111
|
+
const _hslToHex = (h, s, l) => {
|
|
112
|
+
const [r, g, b] = _hslToRgb(h, s, l);
|
|
113
|
+
const _toHex = (x) => {
|
|
114
|
+
const hex = x.toString(16);
|
|
115
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
116
|
+
};
|
|
117
|
+
return `#${_toHex(r)}${_toHex(g)}${_toHex(b)}`;
|
|
118
|
+
};
|
|
119
|
+
const _hslToRgb = (h, s, l) => {
|
|
120
|
+
h /= 360;
|
|
121
|
+
s /= 100;
|
|
122
|
+
l /= 100;
|
|
123
|
+
let r;
|
|
124
|
+
let g;
|
|
125
|
+
let b;
|
|
126
|
+
if (s === 0) {
|
|
127
|
+
r = g = b = l; // achromatic
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
131
|
+
const p = 2 * l - q;
|
|
132
|
+
r = _hue2rgb(p, q, h + 1 / 3);
|
|
133
|
+
g = _hue2rgb(p, q, h);
|
|
134
|
+
b = _hue2rgb(p, q, h - 1 / 3);
|
|
135
|
+
}
|
|
136
|
+
return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
|
|
137
|
+
};
|
|
138
|
+
const getInvertColor = (color) => {
|
|
139
|
+
const hexcolor = color.replace(/#/g, '');
|
|
140
|
+
const r = parseInt(hexcolor.substr(0, 2), 16);
|
|
141
|
+
const g = parseInt(hexcolor.substr(2, 2), 16);
|
|
142
|
+
const b = parseInt(hexcolor.substr(4, 2), 16);
|
|
143
|
+
const yiq = (r * 299 + g * 587 + b * 114) / 1000;
|
|
144
|
+
return yiq >= 128 ? '#000000' : '#FFFFFF';
|
|
145
|
+
};
|
|
146
|
+
exports.getInvertColor = getInvertColor;
|
|
147
|
+
/**
|
|
148
|
+
* Parse string to extract args.
|
|
149
|
+
* Arg is a string with format:
|
|
150
|
+
* -[argName] argValue
|
|
151
|
+
*
|
|
152
|
+
* eg. "-library product -type link" => {library: product, type: link}
|
|
153
|
+
* @param mapping
|
|
154
|
+
*/
|
|
155
|
+
const extractArgsFromString = (mapping) => {
|
|
156
|
+
const args = mapping
|
|
157
|
+
.split('-')
|
|
158
|
+
.slice(1)
|
|
159
|
+
.map(e => e.replace(/\s+/g, ' ').trim().split(' '));
|
|
160
|
+
return args.reduce((acc, value) => ({ ...acc, [value[0]]: value[1] ?? true }), {});
|
|
161
|
+
};
|
|
162
|
+
exports.extractArgsFromString = extractArgsFromString;
|
|
163
|
+
const objectToNameValueArray = (obj) => Object.keys(obj ?? {}).map(key => ({ name: key, value: obj[key] }));
|
|
164
|
+
exports.objectToNameValueArray = objectToNameValueArray;
|
|
165
|
+
const nameValArrayToObj = (arr = [], keyFieldName = 'name', valueFieldName = 'value') => Array.isArray(arr) && arr.length
|
|
166
|
+
? arr.reduce((formattedElem, elem) => {
|
|
167
|
+
formattedElem[elem[keyFieldName]] = elem[valueFieldName];
|
|
168
|
+
return formattedElem;
|
|
169
|
+
}, {})
|
|
170
|
+
: null;
|
|
171
|
+
exports.nameValArrayToObj = nameValArrayToObj;
|
|
172
|
+
const getFileType = (fileName) => {
|
|
173
|
+
if (!fileName) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
const extension = fileName.slice(fileName.lastIndexOf('.') + 1).toLowerCase();
|
|
177
|
+
if (!extensions[extension]) {
|
|
178
|
+
return files_1.FileType.OTHER;
|
|
179
|
+
}
|
|
180
|
+
const type = extensions[extension].type;
|
|
181
|
+
return type;
|
|
182
|
+
};
|
|
183
|
+
exports.getFileType = getFileType;
|
|
184
|
+
/**
|
|
185
|
+
* Return a simplified call stack (for the function who called this function, not this one, obviously)
|
|
186
|
+
*
|
|
187
|
+
* @param depth Number of calls to return
|
|
188
|
+
*/
|
|
189
|
+
const getCallStack = (depth = 2) => {
|
|
190
|
+
const callersStartDepth = 3;
|
|
191
|
+
const callers = new Error().stack.split('\n').slice(callersStartDepth, callersStartDepth + depth);
|
|
192
|
+
return callers.map(c => c.trim().split(' ').splice(1).join(' @ '));
|
|
193
|
+
};
|
|
194
|
+
exports.getCallStack = getCallStack;
|
|
195
|
+
const getInitials = (label, length = 2) => {
|
|
196
|
+
if (typeof label !== 'string' || (0, isEmpty_1.default)(label.trim()) || length < 1) {
|
|
197
|
+
return '?';
|
|
198
|
+
}
|
|
199
|
+
const words = label.split(' ');
|
|
200
|
+
/* Setting up the list of word by using a regex according to the label sent
|
|
201
|
+
if the label contains letters & numbers, filter only on these letters
|
|
202
|
+
if the label contains only numbers, filter only on these numbers
|
|
203
|
+
symbols are ignored by the regex
|
|
204
|
+
if both list filtered by the regex are null, using the basic filter and split the label by space
|
|
205
|
+
*/
|
|
206
|
+
const letterRegex = new RegExp(/[A-Za-z]+/g);
|
|
207
|
+
const numberRegex = new RegExp(/[1-9]+/g);
|
|
208
|
+
// Remove accents from the label
|
|
209
|
+
const sanitizedLabel = label
|
|
210
|
+
.normalize('NFD')
|
|
211
|
+
.replace(/\p{Diacritic}/gu, '')
|
|
212
|
+
.replace(/[^\w\s]/g, '');
|
|
213
|
+
const wordsRegex = sanitizedLabel.match(letterRegex)
|
|
214
|
+
? sanitizedLabel.match(letterRegex)
|
|
215
|
+
: sanitizedLabel.match(numberRegex);
|
|
216
|
+
return wordsRegex !== null ? (0, exports._getInitialEngine)(wordsRegex, length) : (0, exports._getInitialEngine)(words, length);
|
|
217
|
+
};
|
|
218
|
+
exports.getInitials = getInitials;
|
|
219
|
+
const _getInitialEngine = (words, length) => {
|
|
220
|
+
let initials = '';
|
|
221
|
+
if (words.length === 1) {
|
|
222
|
+
initials = words[0].slice(0, length);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
//the number of initial to display cannot exceed the number of words filtered
|
|
226
|
+
if (words.length < length) {
|
|
227
|
+
length = words.length;
|
|
228
|
+
}
|
|
229
|
+
for (let index = 0; index < length; index++) {
|
|
230
|
+
initials = initials + words[index].charAt(0);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return initials.toUpperCase();
|
|
234
|
+
};
|
|
235
|
+
exports._getInitialEngine = _getInitialEngine;
|
|
236
|
+
/**
|
|
237
|
+
* Format an ID: remove accents, any special characters, replace spaces by underscore and make sure there is no double underscore
|
|
238
|
+
*
|
|
239
|
+
* @param id
|
|
240
|
+
* @returns formatted ID
|
|
241
|
+
*/
|
|
242
|
+
const slugifyString = (id, separator = '_') => id
|
|
243
|
+
.normalize('NFD') // Decompose the string in the base and the accents
|
|
244
|
+
.toLowerCase() // Lowercase the string
|
|
245
|
+
.replace(/[\u0300-\u036f]/g, '') // Remove accents
|
|
246
|
+
.replace(/[^a-zA-Z0-9\s]/g, separator) // Transform any special character into an underscore
|
|
247
|
+
.trim() // Remove spaces at the beginning and the end
|
|
248
|
+
.replace(/\s/g, separator) // Replace spaces by underscore
|
|
249
|
+
.replace(new RegExp(`${separator}${separator}+`, 'g'), separator) // Remove double underscores
|
|
250
|
+
.replace(new RegExp(`${separator}$`, 'g'), '') // Remove separator at the end
|
|
251
|
+
.replace(new RegExp(`^${separator}`, 'g'), ''); // Remove underscore at the beginning
|
|
252
|
+
exports.slugifyString = slugifyString;
|
|
253
|
+
/**
|
|
254
|
+
* Returns a hash code from a string
|
|
255
|
+
* @param {String} str The string to hash.
|
|
256
|
+
* @return {Number} A 32bit integer
|
|
257
|
+
*/
|
|
258
|
+
const simpleStringHash = (str) => {
|
|
259
|
+
let hash = 0;
|
|
260
|
+
for (let i = 0, len = str.length; i < len; i++) {
|
|
261
|
+
const chr = str.charCodeAt(i);
|
|
262
|
+
// eslint-disable-next-line no-bitwise
|
|
263
|
+
hash = (hash << 5) - hash + chr;
|
|
264
|
+
// eslint-disable-next-line no-bitwise
|
|
265
|
+
hash |= 0; // Convert to 32bit integer
|
|
266
|
+
}
|
|
267
|
+
return Math.abs(hash);
|
|
268
|
+
};
|
|
269
|
+
exports.simpleStringHash = simpleStringHash;
|
|
270
|
+
const getFlagByLang = (lang) => {
|
|
271
|
+
const flagsByLang = {
|
|
272
|
+
en: '🇬🇧', // English
|
|
273
|
+
es: '🇪🇸', // Spanish
|
|
274
|
+
fr: '🇫🇷', // French
|
|
275
|
+
de: '🇩🇪', // German
|
|
276
|
+
zh: '🇨🇳', // Chinese
|
|
277
|
+
ru: '🇷🇺', // Russian
|
|
278
|
+
pt: '🇵🇹', // Portuguese
|
|
279
|
+
ja: '🇯🇵', // Japanese
|
|
280
|
+
ko: '🇰🇷' // Korean
|
|
281
|
+
};
|
|
282
|
+
return flagsByLang[lang] ?? '';
|
|
283
|
+
};
|
|
284
|
+
exports.getFlagByLang = getFlagByLang;
|
|
285
|
+
const getLogsIndexName = (indexPrefix, instanceId) => `${indexPrefix}${instanceId}`;
|
|
286
|
+
exports.getLogsIndexName = getLogsIndexName;
|
|
287
|
+
const waitFor = async (predicate, options = {}) => {
|
|
288
|
+
const { timeout = 5000, interval = 250 } = options;
|
|
289
|
+
const startTime = Date.now();
|
|
290
|
+
while (!(await predicate())) {
|
|
291
|
+
if (Date.now() - startTime > timeout) {
|
|
292
|
+
throw new Error('Timeout expired');
|
|
293
|
+
}
|
|
294
|
+
await new Promise(resolve => setTimeout(resolve, interval));
|
|
295
|
+
}
|
|
296
|
+
return true;
|
|
297
|
+
};
|
|
298
|
+
exports.waitFor = waitFor;
|
|
299
|
+
const isTypeLink = (type) => type === attributes_1.AttributeType.simple_link || type === attributes_1.AttributeType.advanced_link;
|
|
300
|
+
exports.isTypeLink = isTypeLink;
|
|
301
|
+
const isTypeStandard = (type) => type === attributes_1.AttributeType.simple || type === attributes_1.AttributeType.advanced;
|
|
302
|
+
exports.isTypeStandard = isTypeStandard;
|
|
303
|
+
/**
|
|
304
|
+
* Return a new object without the keys passed in parameter
|
|
305
|
+
*/
|
|
306
|
+
const omit = (obj, ...keys) => {
|
|
307
|
+
const result = { ...obj };
|
|
308
|
+
keys.forEach(key => delete result[key]);
|
|
309
|
+
return result;
|
|
310
|
+
};
|
|
311
|
+
exports.omit = omit;
|
|
312
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|