@dbml/cli 5.6.0-alpha.3 → 6.0.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/lib/index.js CHANGED
@@ -1,1310 +1,24 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") for (var keys$1 = __getOwnPropNames(from), i = 0, n = keys$1.length, key; i < n; i++) {
10
- key = keys$1[i];
11
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
- get: ((k) => from[k]).bind(null, key),
13
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
- });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
- value: mod,
20
- enumerable: true
21
- }) : target, mod));
22
- let commander = require("commander");
23
- commander = __toESM(commander);
24
- let __dbml_core = require("@dbml/core");
25
- let figures = require("figures");
26
- figures = __toESM(figures);
27
- let chalk = require("chalk");
28
- chalk = __toESM(chalk);
29
- let path = require("path");
30
- path = __toESM(path);
31
- let fs = require("fs");
32
- fs = __toESM(fs);
33
- let winston = require("winston");
34
- let __dbml_connector = require("@dbml/connector");
35
- var config_default = {
36
- mysql: { name: "MySQL" },
37
- mysqlLegacy: { name: "MySQL" },
38
- postgres: { name: "PostgreSQL" },
39
- postgresLegacy: { name: "PostgreSQL" },
40
- mssql: { name: "SQL Server" },
41
- oracle: { name: "Oracle" },
42
- snowflake: { name: "Snowflake" }
43
- };
44
- var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
45
- var _freeGlobal_default = freeGlobal;
46
- var freeSelf = typeof self == "object" && self && self.Object === Object && self;
47
- var root = _freeGlobal_default || freeSelf || Function("return this")();
48
- var _root_default = root;
49
- var Symbol$1 = _root_default.Symbol;
50
- var _Symbol_default = Symbol$1;
51
- var objectProto$3 = Object.prototype;
52
- var hasOwnProperty$9 = objectProto$3.hasOwnProperty;
53
- var nativeObjectToString$1 = objectProto$3.toString;
54
- var symToStringTag$1 = _Symbol_default ? _Symbol_default.toStringTag : void 0;
55
- function getRawTag(value) {
56
- var isOwn = hasOwnProperty$9.call(value, symToStringTag$1), tag = value[symToStringTag$1];
57
- try {
58
- value[symToStringTag$1] = void 0;
59
- var unmasked = true;
60
- } catch (e) {}
61
- var result = nativeObjectToString$1.call(value);
62
- if (unmasked) if (isOwn) value[symToStringTag$1] = tag;
63
- else delete value[symToStringTag$1];
64
- return result;
65
- }
66
- var _getRawTag_default = getRawTag;
67
- var nativeObjectToString = Object.prototype.toString;
68
- function objectToString(value) {
69
- return nativeObjectToString.call(value);
70
- }
71
- var _objectToString_default = objectToString;
72
- var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
73
- var symToStringTag = _Symbol_default ? _Symbol_default.toStringTag : void 0;
74
- function baseGetTag(value) {
75
- if (value == null) return value === void 0 ? undefinedTag : nullTag;
76
- return symToStringTag && symToStringTag in Object(value) ? _getRawTag_default(value) : _objectToString_default(value);
77
- }
78
- var _baseGetTag_default = baseGetTag;
79
- function isObjectLike(value) {
80
- return value != null && typeof value == "object";
81
- }
82
- var isObjectLike_default = isObjectLike;
83
- var symbolTag$1 = "[object Symbol]";
84
- function isSymbol(value) {
85
- return typeof value == "symbol" || isObjectLike_default(value) && _baseGetTag_default(value) == symbolTag$1;
86
- }
87
- var isSymbol_default = isSymbol;
88
- function arrayMap(array, iteratee) {
89
- var index = -1, length = array == null ? 0 : array.length, result = Array(length);
90
- while (++index < length) result[index] = iteratee(array[index], index, array);
91
- return result;
92
- }
93
- var _arrayMap_default = arrayMap;
94
- var isArray = Array.isArray;
95
- var isArray_default = isArray;
96
- var INFINITY$1 = Infinity;
97
- var symbolProto$1 = _Symbol_default ? _Symbol_default.prototype : void 0, symbolToString = symbolProto$1 ? symbolProto$1.toString : void 0;
98
- function baseToString(value) {
99
- if (typeof value == "string") return value;
100
- if (isArray_default(value)) return _arrayMap_default(value, baseToString) + "";
101
- if (isSymbol_default(value)) return symbolToString ? symbolToString.call(value) : "";
102
- var result = value + "";
103
- return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
104
- }
105
- var _baseToString_default = baseToString;
106
- function isObject(value) {
107
- var type = typeof value;
108
- return value != null && (type == "object" || type == "function");
109
- }
110
- var isObject_default = isObject;
111
- function identity(value) {
112
- return value;
113
- }
114
- var identity_default = identity;
115
- var asyncTag = "[object AsyncFunction]", funcTag$1 = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
116
- function isFunction(value) {
117
- if (!isObject_default(value)) return false;
118
- var tag = _baseGetTag_default(value);
119
- return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;
120
- }
121
- var isFunction_default = isFunction;
122
- var coreJsData = _root_default["__core-js_shared__"];
123
- var _coreJsData_default = coreJsData;
124
- var maskSrcKey = function() {
125
- var uid = /[^.]+$/.exec(_coreJsData_default && _coreJsData_default.keys && _coreJsData_default.keys.IE_PROTO || "");
126
- return uid ? "Symbol(src)_1." + uid : "";
127
- }();
128
- function isMasked(func) {
129
- return !!maskSrcKey && maskSrcKey in func;
130
- }
131
- var _isMasked_default = isMasked;
132
- var funcToString$1 = Function.prototype.toString;
133
- function toSource(func) {
134
- if (func != null) {
135
- try {
136
- return funcToString$1.call(func);
137
- } catch (e) {}
138
- try {
139
- return func + "";
140
- } catch (e) {}
141
- }
142
- return "";
143
- }
144
- var _toSource_default = toSource;
145
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
146
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
147
- var funcProto = Function.prototype, objectProto$2 = Object.prototype;
148
- var funcToString = funcProto.toString;
149
- var hasOwnProperty$8 = objectProto$2.hasOwnProperty;
150
- var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty$8).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
151
- function baseIsNative(value) {
152
- if (!isObject_default(value) || _isMasked_default(value)) return false;
153
- return (isFunction_default(value) ? reIsNative : reIsHostCtor).test(_toSource_default(value));
154
- }
155
- var _baseIsNative_default = baseIsNative;
156
- function getValue(object, key) {
157
- return object == null ? void 0 : object[key];
158
- }
159
- var _getValue_default = getValue;
160
- function getNative(object, key) {
161
- var value = _getValue_default(object, key);
162
- return _baseIsNative_default(value) ? value : void 0;
163
- }
164
- var _getNative_default = getNative;
165
- var WeakMap = _getNative_default(_root_default, "WeakMap");
166
- var _WeakMap_default = WeakMap;
167
- var MAX_SAFE_INTEGER$1 = 9007199254740991;
168
- var reIsUint = /^(?:0|[1-9]\d*)$/;
169
- function isIndex(value, length) {
170
- var type = typeof value;
171
- length = length == null ? MAX_SAFE_INTEGER$1 : length;
172
- return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
173
- }
174
- var _isIndex_default = isIndex;
175
- function eq(value, other) {
176
- return value === other || value !== value && other !== other;
177
- }
178
- var eq_default = eq;
179
- var MAX_SAFE_INTEGER = 9007199254740991;
180
- function isLength(value) {
181
- return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
182
- }
183
- var isLength_default = isLength;
184
- function isArrayLike(value) {
185
- return value != null && isLength_default(value.length) && !isFunction_default(value);
186
- }
187
- var isArrayLike_default = isArrayLike;
188
- var objectProto$1 = Object.prototype;
189
- function isPrototype(value) {
190
- var Ctor = value && value.constructor;
191
- return value === (typeof Ctor == "function" && Ctor.prototype || objectProto$1);
192
- }
193
- var _isPrototype_default = isPrototype;
194
- function baseTimes(n, iteratee) {
195
- var index = -1, result = Array(n);
196
- while (++index < n) result[index] = iteratee(index);
197
- return result;
198
- }
199
- var _baseTimes_default = baseTimes;
200
- var argsTag$2 = "[object Arguments]";
201
- function baseIsArguments(value) {
202
- return isObjectLike_default(value) && _baseGetTag_default(value) == argsTag$2;
203
- }
204
- var _baseIsArguments_default = baseIsArguments;
205
- var objectProto = Object.prototype;
206
- var hasOwnProperty$7 = objectProto.hasOwnProperty;
207
- var propertyIsEnumerable$1 = objectProto.propertyIsEnumerable;
208
- var isArguments = _baseIsArguments_default(function() {
209
- return arguments;
210
- }()) ? _baseIsArguments_default : function(value) {
211
- return isObjectLike_default(value) && hasOwnProperty$7.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
212
- };
213
- var isArguments_default = isArguments;
214
- function stubFalse() {
215
- return false;
216
- }
217
- var stubFalse_default = stubFalse;
218
- var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
219
- var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
220
- var Buffer$1 = freeModule$1 && freeModule$1.exports === freeExports$1 ? _root_default.Buffer : void 0;
221
- var isBuffer = (Buffer$1 ? Buffer$1.isBuffer : void 0) || stubFalse_default;
222
- var isBuffer_default = isBuffer;
223
- var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", mapTag$3 = "[object Map]", numberTag$1 = "[object Number]", objectTag$2 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$3 = "[object Set]", stringTag$1 = "[object String]", weakMapTag$1 = "[object WeakMap]";
224
- var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
225
- var typedArrayTags = {};
226
- typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
227
- typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$3] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$3] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false;
228
- function baseIsTypedArray(value) {
229
- return isObjectLike_default(value) && isLength_default(value.length) && !!typedArrayTags[_baseGetTag_default(value)];
230
- }
231
- var _baseIsTypedArray_default = baseIsTypedArray;
232
- function baseUnary(func) {
233
- return function(value) {
234
- return func(value);
235
- };
236
- }
237
- var _baseUnary_default = baseUnary;
238
- var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
239
- var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
240
- var freeProcess = freeModule && freeModule.exports === freeExports && _freeGlobal_default.process;
241
- var nodeUtil = function() {
242
- try {
243
- var types = freeModule && freeModule.require && freeModule.require("util").types;
244
- if (types) return types;
245
- return freeProcess && freeProcess.binding && freeProcess.binding("util");
246
- } catch (e) {}
247
- }();
248
- var _nodeUtil_default = nodeUtil;
249
- var nodeIsTypedArray = _nodeUtil_default && _nodeUtil_default.isTypedArray;
250
- var isTypedArray = nodeIsTypedArray ? _baseUnary_default(nodeIsTypedArray) : _baseIsTypedArray_default;
251
- var isTypedArray_default = isTypedArray;
252
- var hasOwnProperty$6 = Object.prototype.hasOwnProperty;
253
- function arrayLikeKeys(value, inherited) {
254
- var isArr = isArray_default(value), isArg = !isArr && isArguments_default(value), isBuff = !isArr && !isArg && isBuffer_default(value), isType = !isArr && !isArg && !isBuff && isTypedArray_default(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? _baseTimes_default(value.length, String) : [], length = result.length;
255
- for (var key in value) if ((inherited || hasOwnProperty$6.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || _isIndex_default(key, length)))) result.push(key);
256
- return result;
257
- }
258
- var _arrayLikeKeys_default = arrayLikeKeys;
259
- function overArg(func, transform) {
260
- return function(arg) {
261
- return func(transform(arg));
262
- };
263
- }
264
- var _overArg_default = overArg;
265
- var nativeKeys = _overArg_default(Object.keys, Object);
266
- var _nativeKeys_default = nativeKeys;
267
- var hasOwnProperty$5 = Object.prototype.hasOwnProperty;
268
- function baseKeys(object) {
269
- if (!_isPrototype_default(object)) return _nativeKeys_default(object);
270
- var result = [];
271
- for (var key in Object(object)) if (hasOwnProperty$5.call(object, key) && key != "constructor") result.push(key);
272
- return result;
273
- }
274
- var _baseKeys_default = baseKeys;
275
- function keys(object) {
276
- return isArrayLike_default(object) ? _arrayLikeKeys_default(object) : _baseKeys_default(object);
277
- }
278
- var keys_default = keys;
279
- var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
280
- function isKey(value, object) {
281
- if (isArray_default(value)) return false;
282
- var type = typeof value;
283
- if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol_default(value)) return true;
284
- return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
285
- }
286
- var _isKey_default = isKey;
287
- var nativeCreate = _getNative_default(Object, "create");
288
- var _nativeCreate_default = nativeCreate;
289
- function hashClear() {
290
- this.__data__ = _nativeCreate_default ? _nativeCreate_default(null) : {};
291
- this.size = 0;
292
- }
293
- var _hashClear_default = hashClear;
294
- function hashDelete(key) {
295
- var result = this.has(key) && delete this.__data__[key];
296
- this.size -= result ? 1 : 0;
297
- return result;
298
- }
299
- var _hashDelete_default = hashDelete;
300
- var HASH_UNDEFINED$2 = "__lodash_hash_undefined__";
301
- var hasOwnProperty$4 = Object.prototype.hasOwnProperty;
302
- function hashGet(key) {
303
- var data = this.__data__;
304
- if (_nativeCreate_default) {
305
- var result = data[key];
306
- return result === HASH_UNDEFINED$2 ? void 0 : result;
307
- }
308
- return hasOwnProperty$4.call(data, key) ? data[key] : void 0;
309
- }
310
- var _hashGet_default = hashGet;
311
- var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
312
- function hashHas(key) {
313
- var data = this.__data__;
314
- return _nativeCreate_default ? data[key] !== void 0 : hasOwnProperty$3.call(data, key);
315
- }
316
- var _hashHas_default = hashHas;
317
- var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
318
- function hashSet(key, value) {
319
- var data = this.__data__;
320
- this.size += this.has(key) ? 0 : 1;
321
- data[key] = _nativeCreate_default && value === void 0 ? HASH_UNDEFINED$1 : value;
322
- return this;
323
- }
324
- var _hashSet_default = hashSet;
325
- function Hash(entries) {
326
- var index = -1, length = entries == null ? 0 : entries.length;
327
- this.clear();
328
- while (++index < length) {
329
- var entry = entries[index];
330
- this.set(entry[0], entry[1]);
331
- }
332
- }
333
- Hash.prototype.clear = _hashClear_default;
334
- Hash.prototype["delete"] = _hashDelete_default;
335
- Hash.prototype.get = _hashGet_default;
336
- Hash.prototype.has = _hashHas_default;
337
- Hash.prototype.set = _hashSet_default;
338
- var _Hash_default = Hash;
339
- function listCacheClear() {
340
- this.__data__ = [];
341
- this.size = 0;
342
- }
343
- var _listCacheClear_default = listCacheClear;
344
- function assocIndexOf(array, key) {
345
- var length = array.length;
346
- while (length--) if (eq_default(array[length][0], key)) return length;
347
- return -1;
348
- }
349
- var _assocIndexOf_default = assocIndexOf;
350
- var splice = Array.prototype.splice;
351
- function listCacheDelete(key) {
352
- var data = this.__data__, index = _assocIndexOf_default(data, key);
353
- if (index < 0) return false;
354
- if (index == data.length - 1) data.pop();
355
- else splice.call(data, index, 1);
356
- --this.size;
357
- return true;
358
- }
359
- var _listCacheDelete_default = listCacheDelete;
360
- function listCacheGet(key) {
361
- var data = this.__data__, index = _assocIndexOf_default(data, key);
362
- return index < 0 ? void 0 : data[index][1];
363
- }
364
- var _listCacheGet_default = listCacheGet;
365
- function listCacheHas(key) {
366
- return _assocIndexOf_default(this.__data__, key) > -1;
367
- }
368
- var _listCacheHas_default = listCacheHas;
369
- function listCacheSet(key, value) {
370
- var data = this.__data__, index = _assocIndexOf_default(data, key);
371
- if (index < 0) {
372
- ++this.size;
373
- data.push([key, value]);
374
- } else data[index][1] = value;
375
- return this;
376
- }
377
- var _listCacheSet_default = listCacheSet;
378
- function ListCache(entries) {
379
- var index = -1, length = entries == null ? 0 : entries.length;
380
- this.clear();
381
- while (++index < length) {
382
- var entry = entries[index];
383
- this.set(entry[0], entry[1]);
384
- }
385
- }
386
- ListCache.prototype.clear = _listCacheClear_default;
387
- ListCache.prototype["delete"] = _listCacheDelete_default;
388
- ListCache.prototype.get = _listCacheGet_default;
389
- ListCache.prototype.has = _listCacheHas_default;
390
- ListCache.prototype.set = _listCacheSet_default;
391
- var _ListCache_default = ListCache;
392
- var Map = _getNative_default(_root_default, "Map");
393
- var _Map_default = Map;
394
- function mapCacheClear() {
395
- this.size = 0;
396
- this.__data__ = {
397
- "hash": new _Hash_default(),
398
- "map": new (_Map_default || _ListCache_default)(),
399
- "string": new _Hash_default()
400
- };
401
- }
402
- var _mapCacheClear_default = mapCacheClear;
403
- function isKeyable(value) {
404
- var type = typeof value;
405
- return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
406
- }
407
- var _isKeyable_default = isKeyable;
408
- function getMapData(map, key) {
409
- var data = map.__data__;
410
- return _isKeyable_default(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
411
- }
412
- var _getMapData_default = getMapData;
413
- function mapCacheDelete(key) {
414
- var result = _getMapData_default(this, key)["delete"](key);
415
- this.size -= result ? 1 : 0;
416
- return result;
417
- }
418
- var _mapCacheDelete_default = mapCacheDelete;
419
- function mapCacheGet(key) {
420
- return _getMapData_default(this, key).get(key);
421
- }
422
- var _mapCacheGet_default = mapCacheGet;
423
- function mapCacheHas(key) {
424
- return _getMapData_default(this, key).has(key);
425
- }
426
- var _mapCacheHas_default = mapCacheHas;
427
- function mapCacheSet(key, value) {
428
- var data = _getMapData_default(this, key), size = data.size;
429
- data.set(key, value);
430
- this.size += data.size == size ? 0 : 1;
431
- return this;
432
- }
433
- var _mapCacheSet_default = mapCacheSet;
434
- function MapCache(entries) {
435
- var index = -1, length = entries == null ? 0 : entries.length;
436
- this.clear();
437
- while (++index < length) {
438
- var entry = entries[index];
439
- this.set(entry[0], entry[1]);
440
- }
441
- }
442
- MapCache.prototype.clear = _mapCacheClear_default;
443
- MapCache.prototype["delete"] = _mapCacheDelete_default;
444
- MapCache.prototype.get = _mapCacheGet_default;
445
- MapCache.prototype.has = _mapCacheHas_default;
446
- MapCache.prototype.set = _mapCacheSet_default;
447
- var _MapCache_default = MapCache;
448
- var FUNC_ERROR_TEXT = "Expected a function";
449
- function memoize(func, resolver) {
450
- if (typeof func != "function" || resolver != null && typeof resolver != "function") throw new TypeError(FUNC_ERROR_TEXT);
451
- var memoized = function() {
452
- var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
453
- if (cache.has(key)) return cache.get(key);
454
- var result = func.apply(this, args);
455
- memoized.cache = cache.set(key, result) || cache;
456
- return result;
457
- };
458
- memoized.cache = new (memoize.Cache || _MapCache_default)();
459
- return memoized;
460
- }
461
- memoize.Cache = _MapCache_default;
462
- var memoize_default = memoize;
463
- var MAX_MEMOIZE_SIZE = 500;
464
- function memoizeCapped(func) {
465
- var result = memoize_default(func, function(key) {
466
- if (cache.size === MAX_MEMOIZE_SIZE) cache.clear();
467
- return key;
468
- });
469
- var cache = result.cache;
470
- return result;
471
- }
472
- var _memoizeCapped_default = memoizeCapped;
473
- var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
474
- var reEscapeChar = /\\(\\)?/g;
475
- var stringToPath = _memoizeCapped_default(function(string) {
476
- var result = [];
477
- if (string.charCodeAt(0) === 46) result.push("");
478
- string.replace(rePropName, function(match, number, quote, subString) {
479
- result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
480
- });
481
- return result;
482
- });
483
- var _stringToPath_default = stringToPath;
484
- function toString(value) {
485
- return value == null ? "" : _baseToString_default(value);
486
- }
487
- var toString_default = toString;
488
- function castPath(value, object) {
489
- if (isArray_default(value)) return value;
490
- return _isKey_default(value, object) ? [value] : _stringToPath_default(toString_default(value));
491
- }
492
- var _castPath_default = castPath;
493
- var INFINITY = Infinity;
494
- function toKey(value) {
495
- if (typeof value == "string" || isSymbol_default(value)) return value;
496
- var result = value + "";
497
- return result == "0" && 1 / value == -INFINITY ? "-0" : result;
498
- }
499
- var _toKey_default = toKey;
500
- function baseGet(object, path$6) {
501
- path$6 = _castPath_default(path$6, object);
502
- var index = 0, length = path$6.length;
503
- while (object != null && index < length) object = object[_toKey_default(path$6[index++])];
504
- return index && index == length ? object : void 0;
505
- }
506
- var _baseGet_default = baseGet;
507
- function get(object, path$6, defaultValue) {
508
- var result = object == null ? void 0 : _baseGet_default(object, path$6);
509
- return result === void 0 ? defaultValue : result;
510
- }
511
- var get_default = get;
512
- function arrayPush(array, values) {
513
- var index = -1, length = values.length, offset = array.length;
514
- while (++index < length) array[offset + index] = values[index];
515
- return array;
516
- }
517
- var _arrayPush_default = arrayPush;
518
- function arrayReduce(array, iteratee, accumulator, initAccum) {
519
- var index = -1, length = array == null ? 0 : array.length;
520
- if (initAccum && length) accumulator = array[++index];
521
- while (++index < length) accumulator = iteratee(accumulator, array[index], index, array);
522
- return accumulator;
523
- }
524
- var _arrayReduce_default = arrayReduce;
525
- function stackClear() {
526
- this.__data__ = new _ListCache_default();
527
- this.size = 0;
528
- }
529
- var _stackClear_default = stackClear;
530
- function stackDelete(key) {
531
- var data = this.__data__, result = data["delete"](key);
532
- this.size = data.size;
533
- return result;
534
- }
535
- var _stackDelete_default = stackDelete;
536
- function stackGet(key) {
537
- return this.__data__.get(key);
538
- }
539
- var _stackGet_default = stackGet;
540
- function stackHas(key) {
541
- return this.__data__.has(key);
542
- }
543
- var _stackHas_default = stackHas;
544
- var LARGE_ARRAY_SIZE = 200;
545
- function stackSet(key, value) {
546
- var data = this.__data__;
547
- if (data instanceof _ListCache_default) {
548
- var pairs = data.__data__;
549
- if (!_Map_default || pairs.length < LARGE_ARRAY_SIZE - 1) {
550
- pairs.push([key, value]);
551
- this.size = ++data.size;
552
- return this;
553
- }
554
- data = this.__data__ = new _MapCache_default(pairs);
555
- }
556
- data.set(key, value);
557
- this.size = data.size;
558
- return this;
559
- }
560
- var _stackSet_default = stackSet;
561
- function Stack(entries) {
562
- this.size = (this.__data__ = new _ListCache_default(entries)).size;
563
- }
564
- Stack.prototype.clear = _stackClear_default;
565
- Stack.prototype["delete"] = _stackDelete_default;
566
- Stack.prototype.get = _stackGet_default;
567
- Stack.prototype.has = _stackHas_default;
568
- Stack.prototype.set = _stackSet_default;
569
- var _Stack_default = Stack;
570
- function arrayFilter(array, predicate) {
571
- var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
572
- while (++index < length) {
573
- var value = array[index];
574
- if (predicate(value, index, array)) result[resIndex++] = value;
575
- }
576
- return result;
577
- }
578
- var _arrayFilter_default = arrayFilter;
579
- function stubArray() {
580
- return [];
581
- }
582
- var stubArray_default = stubArray;
583
- var propertyIsEnumerable = Object.prototype.propertyIsEnumerable;
584
- var nativeGetSymbols = Object.getOwnPropertySymbols;
585
- var getSymbols = !nativeGetSymbols ? stubArray_default : function(object) {
586
- if (object == null) return [];
587
- object = Object(object);
588
- return _arrayFilter_default(nativeGetSymbols(object), function(symbol) {
589
- return propertyIsEnumerable.call(object, symbol);
590
- });
591
- };
592
- var _getSymbols_default = getSymbols;
593
- function baseGetAllKeys(object, keysFunc, symbolsFunc) {
594
- var result = keysFunc(object);
595
- return isArray_default(object) ? result : _arrayPush_default(result, symbolsFunc(object));
596
- }
597
- var _baseGetAllKeys_default = baseGetAllKeys;
598
- function getAllKeys(object) {
599
- return _baseGetAllKeys_default(object, keys_default, _getSymbols_default);
600
- }
601
- var _getAllKeys_default = getAllKeys;
602
- var DataView = _getNative_default(_root_default, "DataView");
603
- var _DataView_default = DataView;
604
- var Promise$1 = _getNative_default(_root_default, "Promise");
605
- var _Promise_default = Promise$1;
606
- var Set = _getNative_default(_root_default, "Set");
607
- var _Set_default = Set;
608
- var mapTag$2 = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag$2 = "[object Set]", weakMapTag = "[object WeakMap]";
609
- var dataViewTag$1 = "[object DataView]";
610
- var dataViewCtorString = _toSource_default(_DataView_default), mapCtorString = _toSource_default(_Map_default), promiseCtorString = _toSource_default(_Promise_default), setCtorString = _toSource_default(_Set_default), weakMapCtorString = _toSource_default(_WeakMap_default);
611
- var getTag = _baseGetTag_default;
612
- if (_DataView_default && getTag(new _DataView_default(/* @__PURE__ */ new ArrayBuffer(1))) != dataViewTag$1 || _Map_default && getTag(new _Map_default()) != mapTag$2 || _Promise_default && getTag(_Promise_default.resolve()) != promiseTag || _Set_default && getTag(new _Set_default()) != setTag$2 || _WeakMap_default && getTag(new _WeakMap_default()) != weakMapTag) getTag = function(value) {
613
- var result = _baseGetTag_default(value), Ctor = result == objectTag$1 ? value.constructor : void 0, ctorString = Ctor ? _toSource_default(Ctor) : "";
614
- if (ctorString) switch (ctorString) {
615
- case dataViewCtorString: return dataViewTag$1;
616
- case mapCtorString: return mapTag$2;
617
- case promiseCtorString: return promiseTag;
618
- case setCtorString: return setTag$2;
619
- case weakMapCtorString: return weakMapTag;
620
- }
621
- return result;
622
- };
623
- var _getTag_default = getTag;
624
- var Uint8Array$1 = _root_default.Uint8Array;
625
- var _Uint8Array_default = Uint8Array$1;
626
- var HASH_UNDEFINED = "__lodash_hash_undefined__";
627
- function setCacheAdd(value) {
628
- this.__data__.set(value, HASH_UNDEFINED);
629
- return this;
630
- }
631
- var _setCacheAdd_default = setCacheAdd;
632
- function setCacheHas(value) {
633
- return this.__data__.has(value);
634
- }
635
- var _setCacheHas_default = setCacheHas;
636
- function SetCache(values) {
637
- var index = -1, length = values == null ? 0 : values.length;
638
- this.__data__ = new _MapCache_default();
639
- while (++index < length) this.add(values[index]);
640
- }
641
- SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd_default;
642
- SetCache.prototype.has = _setCacheHas_default;
643
- var _SetCache_default = SetCache;
644
- function arraySome(array, predicate) {
645
- var index = -1, length = array == null ? 0 : array.length;
646
- while (++index < length) if (predicate(array[index], index, array)) return true;
647
- return false;
648
- }
649
- var _arraySome_default = arraySome;
650
- function cacheHas(cache, key) {
651
- return cache.has(key);
652
- }
653
- var _cacheHas_default = cacheHas;
654
- var COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2;
655
- function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
656
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length;
657
- if (arrLength != othLength && !(isPartial && othLength > arrLength)) return false;
658
- var arrStacked = stack.get(array);
659
- var othStacked = stack.get(other);
660
- if (arrStacked && othStacked) return arrStacked == other && othStacked == array;
661
- var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new _SetCache_default() : void 0;
662
- stack.set(array, other);
663
- stack.set(other, array);
664
- while (++index < arrLength) {
665
- var arrValue = array[index], othValue = other[index];
666
- if (customizer) var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
667
- if (compared !== void 0) {
668
- if (compared) continue;
669
- result = false;
670
- break;
671
- }
672
- if (seen) {
673
- if (!_arraySome_default(other, function(othValue$1, othIndex) {
674
- if (!_cacheHas_default(seen, othIndex) && (arrValue === othValue$1 || equalFunc(arrValue, othValue$1, bitmask, customizer, stack))) return seen.push(othIndex);
675
- })) {
676
- result = false;
677
- break;
678
- }
679
- } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
680
- result = false;
681
- break;
682
- }
683
- }
684
- stack["delete"](array);
685
- stack["delete"](other);
686
- return result;
687
- }
688
- var _equalArrays_default = equalArrays;
689
- function mapToArray(map) {
690
- var index = -1, result = Array(map.size);
691
- map.forEach(function(value, key) {
692
- result[++index] = [key, value];
693
- });
694
- return result;
695
- }
696
- var _mapToArray_default = mapToArray;
697
- function setToArray(set) {
698
- var index = -1, result = Array(set.size);
699
- set.forEach(function(value) {
700
- result[++index] = value;
701
- });
702
- return result;
703
- }
704
- var _setToArray_default = setToArray;
705
- var COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2;
706
- var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag$1 = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag$1 = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]";
707
- var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]";
708
- var symbolProto = _Symbol_default ? _Symbol_default.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
709
- function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
710
- switch (tag) {
711
- case dataViewTag:
712
- if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) return false;
713
- object = object.buffer;
714
- other = other.buffer;
715
- case arrayBufferTag:
716
- if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array_default(object), new _Uint8Array_default(other))) return false;
717
- return true;
718
- case boolTag:
719
- case dateTag:
720
- case numberTag: return eq_default(+object, +other);
721
- case errorTag: return object.name == other.name && object.message == other.message;
722
- case regexpTag:
723
- case stringTag: return object == other + "";
724
- case mapTag$1: var convert = _mapToArray_default;
725
- case setTag$1:
726
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
727
- convert || (convert = _setToArray_default);
728
- if (object.size != other.size && !isPartial) return false;
729
- var stacked = stack.get(object);
730
- if (stacked) return stacked == other;
731
- bitmask |= COMPARE_UNORDERED_FLAG$2;
732
- stack.set(object, other);
733
- var result = _equalArrays_default(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
734
- stack["delete"](object);
735
- return result;
736
- case symbolTag: if (symbolValueOf) return symbolValueOf.call(object) == symbolValueOf.call(other);
737
- }
738
- return false;
739
- }
740
- var _equalByTag_default = equalByTag;
741
- var COMPARE_PARTIAL_FLAG$3 = 1;
742
- var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
743
- function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
744
- var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = _getAllKeys_default(object), objLength = objProps.length;
745
- if (objLength != _getAllKeys_default(other).length && !isPartial) return false;
746
- var index = objLength;
747
- while (index--) {
748
- var key = objProps[index];
749
- if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) return false;
750
- }
751
- var objStacked = stack.get(object);
752
- var othStacked = stack.get(other);
753
- if (objStacked && othStacked) return objStacked == other && othStacked == object;
754
- var result = true;
755
- stack.set(object, other);
756
- stack.set(other, object);
757
- var skipCtor = isPartial;
758
- while (++index < objLength) {
759
- key = objProps[index];
760
- var objValue = object[key], othValue = other[key];
761
- if (customizer) var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
762
- if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
763
- result = false;
764
- break;
765
- }
766
- skipCtor || (skipCtor = key == "constructor");
767
- }
768
- if (result && !skipCtor) {
769
- var objCtor = object.constructor, othCtor = other.constructor;
770
- if (objCtor != othCtor && "constructor" in object && "constructor" in other && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) result = false;
771
- }
772
- stack["delete"](object);
773
- stack["delete"](other);
774
- return result;
775
- }
776
- var _equalObjects_default = equalObjects;
777
- var COMPARE_PARTIAL_FLAG$2 = 1;
778
- var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]";
779
- var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
780
- function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
781
- var objIsArr = isArray_default(object), othIsArr = isArray_default(other), objTag = objIsArr ? arrayTag : _getTag_default(object), othTag = othIsArr ? arrayTag : _getTag_default(other);
782
- objTag = objTag == argsTag ? objectTag : objTag;
783
- othTag = othTag == argsTag ? objectTag : othTag;
784
- var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
785
- if (isSameTag && isBuffer_default(object)) {
786
- if (!isBuffer_default(other)) return false;
787
- objIsArr = true;
788
- objIsObj = false;
789
- }
790
- if (isSameTag && !objIsObj) {
791
- stack || (stack = new _Stack_default());
792
- return objIsArr || isTypedArray_default(object) ? _equalArrays_default(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag_default(object, other, objTag, bitmask, customizer, equalFunc, stack);
793
- }
794
- if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
795
- var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$1.call(other, "__wrapped__");
796
- if (objIsWrapped || othIsWrapped) {
797
- var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
798
- stack || (stack = new _Stack_default());
799
- return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
800
- }
801
- }
802
- if (!isSameTag) return false;
803
- stack || (stack = new _Stack_default());
804
- return _equalObjects_default(object, other, bitmask, customizer, equalFunc, stack);
805
- }
806
- var _baseIsEqualDeep_default = baseIsEqualDeep;
807
- function baseIsEqual(value, other, bitmask, customizer, stack) {
808
- if (value === other) return true;
809
- if (value == null || other == null || !isObjectLike_default(value) && !isObjectLike_default(other)) return value !== value && other !== other;
810
- return _baseIsEqualDeep_default(value, other, bitmask, customizer, baseIsEqual, stack);
811
- }
812
- var _baseIsEqual_default = baseIsEqual;
813
- var COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2;
814
- function baseIsMatch(object, source, matchData, customizer) {
815
- var index = matchData.length, length = index, noCustomizer = !customizer;
816
- if (object == null) return !length;
817
- object = Object(object);
818
- while (index--) {
819
- var data = matchData[index];
820
- if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) return false;
821
- }
822
- while (++index < length) {
823
- data = matchData[index];
824
- var key = data[0], objValue = object[key], srcValue = data[1];
825
- if (noCustomizer && data[2]) {
826
- if (objValue === void 0 && !(key in object)) return false;
827
- } else {
828
- var stack = new _Stack_default();
829
- if (customizer) var result = customizer(objValue, srcValue, key, object, source, stack);
830
- if (!(result === void 0 ? _baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) return false;
831
- }
832
- }
833
- return true;
834
- }
835
- var _baseIsMatch_default = baseIsMatch;
836
- function isStrictComparable(value) {
837
- return value === value && !isObject_default(value);
838
- }
839
- var _isStrictComparable_default = isStrictComparable;
840
- function getMatchData(object) {
841
- var result = keys_default(object), length = result.length;
842
- while (length--) {
843
- var key = result[length], value = object[key];
844
- result[length] = [
845
- key,
846
- value,
847
- _isStrictComparable_default(value)
848
- ];
849
- }
850
- return result;
851
- }
852
- var _getMatchData_default = getMatchData;
853
- function matchesStrictComparable(key, srcValue) {
854
- return function(object) {
855
- if (object == null) return false;
856
- return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
857
- };
858
- }
859
- var _matchesStrictComparable_default = matchesStrictComparable;
860
- function baseMatches(source) {
861
- var matchData = _getMatchData_default(source);
862
- if (matchData.length == 1 && matchData[0][2]) return _matchesStrictComparable_default(matchData[0][0], matchData[0][1]);
863
- return function(object) {
864
- return object === source || _baseIsMatch_default(object, source, matchData);
865
- };
866
- }
867
- var _baseMatches_default = baseMatches;
868
- function baseHasIn(object, key) {
869
- return object != null && key in Object(object);
870
- }
871
- var _baseHasIn_default = baseHasIn;
872
- function hasPath(object, path$6, hasFunc) {
873
- path$6 = _castPath_default(path$6, object);
874
- var index = -1, length = path$6.length, result = false;
875
- while (++index < length) {
876
- var key = _toKey_default(path$6[index]);
877
- if (!(result = object != null && hasFunc(object, key))) break;
878
- object = object[key];
879
- }
880
- if (result || ++index != length) return result;
881
- length = object == null ? 0 : object.length;
882
- return !!length && isLength_default(length) && _isIndex_default(key, length) && (isArray_default(object) || isArguments_default(object));
883
- }
884
- var _hasPath_default = hasPath;
885
- function hasIn(object, path$6) {
886
- return object != null && _hasPath_default(object, path$6, _baseHasIn_default);
887
- }
888
- var hasIn_default = hasIn;
889
- var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
890
- function baseMatchesProperty(path$6, srcValue) {
891
- if (_isKey_default(path$6) && _isStrictComparable_default(srcValue)) return _matchesStrictComparable_default(_toKey_default(path$6), srcValue);
892
- return function(object) {
893
- var objValue = get_default(object, path$6);
894
- return objValue === void 0 && objValue === srcValue ? hasIn_default(object, path$6) : _baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
895
- };
896
- }
897
- var _baseMatchesProperty_default = baseMatchesProperty;
898
- function baseProperty(key) {
899
- return function(object) {
900
- return object == null ? void 0 : object[key];
901
- };
902
- }
903
- var _baseProperty_default = baseProperty;
904
- function basePropertyDeep(path$6) {
905
- return function(object) {
906
- return _baseGet_default(object, path$6);
907
- };
908
- }
909
- var _basePropertyDeep_default = basePropertyDeep;
910
- function property(path$6) {
911
- return _isKey_default(path$6) ? _baseProperty_default(_toKey_default(path$6)) : _basePropertyDeep_default(path$6);
912
- }
913
- var property_default = property;
914
- function baseIteratee(value) {
915
- if (typeof value == "function") return value;
916
- if (value == null) return identity_default;
917
- if (typeof value == "object") return isArray_default(value) ? _baseMatchesProperty_default(value[0], value[1]) : _baseMatches_default(value);
918
- return property_default(value);
919
- }
920
- var _baseIteratee_default = baseIteratee;
921
- function createBaseFor(fromRight) {
922
- return function(object, iteratee, keysFunc) {
923
- var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
924
- while (length--) {
925
- var key = props[fromRight ? length : ++index];
926
- if (iteratee(iterable[key], key, iterable) === false) break;
927
- }
928
- return object;
929
- };
930
- }
931
- var _createBaseFor_default = createBaseFor;
932
- var baseFor = _createBaseFor_default();
933
- var _baseFor_default = baseFor;
934
- function baseForOwn(object, iteratee) {
935
- return object && _baseFor_default(object, iteratee, keys_default);
936
- }
937
- var _baseForOwn_default = baseForOwn;
938
- function createBaseEach(eachFunc, fromRight) {
939
- return function(collection, iteratee) {
940
- if (collection == null) return collection;
941
- if (!isArrayLike_default(collection)) return eachFunc(collection, iteratee);
942
- var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
943
- while (fromRight ? index-- : ++index < length) if (iteratee(iterable[index], index, iterable) === false) break;
944
- return collection;
945
- };
946
- }
947
- var _createBaseEach_default = createBaseEach;
948
- var baseEach = _createBaseEach_default(_baseForOwn_default);
949
- var _baseEach_default = baseEach;
950
- var mapTag = "[object Map]", setTag = "[object Set]";
951
- var hasOwnProperty = Object.prototype.hasOwnProperty;
952
- function isEmpty(value) {
953
- if (value == null) return true;
954
- if (isArrayLike_default(value) && (isArray_default(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer_default(value) || isTypedArray_default(value) || isArguments_default(value))) return !value.length;
955
- var tag = _getTag_default(value);
956
- if (tag == mapTag || tag == setTag) return !value.size;
957
- if (_isPrototype_default(value)) return !_baseKeys_default(value).length;
958
- for (var key in value) if (hasOwnProperty.call(value, key)) return false;
959
- return true;
960
- }
961
- var isEmpty_default = isEmpty;
962
- function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
963
- eachFunc(collection, function(value, index, collection$1) {
964
- accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection$1);
965
- });
966
- return accumulator;
967
- }
968
- var _baseReduce_default = baseReduce;
969
- function reduce(collection, iteratee, accumulator) {
970
- var func = isArray_default(collection) ? _arrayReduce_default : _baseReduce_default, initAccum = arguments.length < 3;
971
- return func(collection, _baseIteratee_default(iteratee, 4), accumulator, initAccum, _baseEach_default);
972
- }
973
- var reduce_default = reduce;
974
- function resolvePaths(paths) {
975
- if (!Array.isArray(paths)) return path.default.resolve(process.cwd(), paths);
976
- return paths.map((_path) => path.default.resolve(process.cwd(), _path));
977
- }
978
- function validateInputFilePaths(paths, validatePlugin) {
979
- return paths.every((_path) => validatePlugin(_path));
980
- }
981
- function getFormatOpt(opts) {
982
- const formatOpts = Object.keys(opts).filter((opt) => {
983
- return [
984
- "postgres",
985
- "mysql",
986
- "mssql",
987
- "postgresLegacy",
988
- "mysqlLegacy",
989
- "mssqlLegacy",
990
- "oracle",
991
- "snowflake"
992
- ].includes(opt);
993
- });
994
- let format$1 = "postgres";
995
- let cnt = 0;
996
- formatOpts.forEach((opt) => {
997
- if (opts[opt]) {
998
- cnt += 1;
999
- if (cnt > 1) throw new Error("Too many format options");
1000
- format$1 = opt;
1001
- }
1002
- });
1003
- return format$1;
1004
- }
1005
- function getConnectionOpt(args) {
1006
- const supportedDatabases = [
1007
- "postgres",
1008
- "mysql",
1009
- "mssql",
1010
- "snowflake",
1011
- "bigquery",
1012
- "oracle"
1013
- ];
1014
- return reduce_default(args, (connectionOpt, arg) => {
1015
- if (supportedDatabases.includes(arg)) connectionOpt.databaseType = arg;
1016
- if (/^.*[:;]/.test(arg)) connectionOpt.connection = arg;
1017
- if (/^[a-zA-Z]:[\\/](?:[^<>:"/\\|?*\n\r]+[\\/])*[^<>:"/\\|?*\n\r]*$/.test(arg) || /^(\/|\.\/|~\/|\.\.\/)([^<>:"|?*\n\r]*\/?)*[^<>:"|?*\n\r]*$/.test(arg)) connectionOpt.connection = arg;
1018
- return connectionOpt;
1019
- }, {
1020
- connection: args[0],
1021
- databaseType: "unknown"
1022
- });
1023
- }
1024
- function generate(inputPaths, transform, outputPlugin) {
1025
- inputPaths.forEach((_path) => {
1026
- const source = fs.default.readFileSync(_path, "utf-8");
1027
- try {
1028
- const content = transform(source);
1029
- outputPlugin.write(content);
1030
- } catch (e) {
1031
- if (e instanceof __dbml_core.CompilerError) throw e.map((diag) => ({
1032
- ...diag,
1033
- message: diag.message,
1034
- filepath: path.default.basename(_path),
1035
- stack: diag.stack
1036
- }));
1037
- throw e;
1038
- }
1039
- });
1040
- }
1041
- function validateFilePlugin(_path) {
1042
- if (fs.default.statSync(_path).isDirectory(_path)) throw new Error("Expect input to be files");
1043
- }
1044
- var OutputConsolePlugin = class {
1045
- static write(content) {
1046
- console.log(content);
1047
- }
1048
- };
1049
- var outputConsolePlugin_default = OutputConsolePlugin;
1050
- var OutputFilePlugin = class {
1051
- constructor(filePath, header) {
1052
- this.filePath = filePath;
1053
- this.header = header;
1054
- this.isWrite = false;
1055
- }
1056
- start() {
1057
- fs.default.writeFileSync(this.filePath, "");
1058
- this.stream = fs.default.createWriteStream(this.filePath, { flags: "a" });
1059
- if (this.header) this.stream.write(this.header);
1060
- this.isWrite = true;
1061
- }
1062
- write(content) {
1063
- if (!this.isWrite) this.start();
1064
- this.stream.write(content);
1065
- }
1066
- };
1067
- var outputFilePlugin_default = OutputFilePlugin;
1068
- var { combine, timestamp, printf } = winston.format;
1069
- var consoleFormat = printf((info) => {
1070
- const { level, message } = info;
1071
- return ` ${chalk.default.red(level.toUpperCase())}: ${message}\n
1072
- A complete log can be found in:
1073
- ${path.default.resolve(process.cwd(), "dbml-error.log")}`;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
1074
5
  });
1075
- var fileFormat = printf((info) => {
1076
- const { timestamp: timestamp$1, stack, rootError } = info;
1077
- let logContent = `${timestamp$1}\n${stack}\n`;
1078
- if (rootError) {
1079
- logContent += "\nROOT_ERROR:";
1080
- logContent += `\n${rootError.stack}`;
1081
- if (rootError.location) logContent += `\n${JSON.stringify(rootError.location)}`;
1082
- logContent += "\n";
1083
- }
1084
- return logContent;
6
+ Object.defineProperty(exports, "db2dbml", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _cli.db2dbml;
10
+ }
1085
11
  });
1086
- var consoleLogger = (0, winston.createLogger)({
1087
- format: combine(consoleFormat),
1088
- transports: [new winston.transports.Console({ level: "error" })]
12
+ Object.defineProperty(exports, "dbml2sql", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _cli.dbml2sql;
16
+ }
1089
17
  });
1090
- var fileLogger = (0, winston.createLogger)({
1091
- format: combine(timestamp(), fileFormat),
1092
- transports: [new winston.transports.File({
1093
- filename: "dbml-error.log",
1094
- level: "error"
1095
- })]
18
+ Object.defineProperty(exports, "sql2dbml", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _cli.sql2dbml;
22
+ }
1096
23
  });
1097
- var logger = {
1098
- debug(msg) {
1099
- consoleLogger.debug(msg);
1100
- },
1101
- info(msg) {
1102
- consoleLogger.info(msg);
1103
- },
1104
- warn(msg) {
1105
- consoleLogger.warn(msg);
1106
- },
1107
- error(msg) {
1108
- consoleLogger.error(msg);
1109
- fileLogger.error(msg);
1110
- },
1111
- log(level, msg) {
1112
- const lvl = exports[level];
1113
- lvl(msg);
1114
- }
1115
- };
1116
- var logger_default = logger;
1117
- var DomainError = class extends Error {
1118
- constructor(message, rootError = {}) {
1119
- super(message);
1120
- this.name = this.constructor.name;
1121
- this.rootError = rootError;
1122
- Error.captureStackTrace(this, this.constructor);
1123
- }
1124
- };
1125
- var domainError_default = DomainError;
1126
- var SyntaxError = class extends domainError_default {
1127
- constructor(fileName, rootError = {}) {
1128
- let message = `You have a syntax error at "${fileName}"`;
1129
- if (rootError.location) message += ` line ${rootError.location.start.line} column ${rootError.location.start.column}`;
1130
- message += ".";
1131
- if (!isEmpty_default(rootError)) message += ` ${rootError.message}`;
1132
- super(message, rootError);
1133
- }
1134
- };
1135
- var syntaxError_default = SyntaxError;
1136
- async function importHandler(program$1) {
1137
- try {
1138
- const inputPaths = resolvePaths(program$1.args);
1139
- validateInputFilePaths(inputPaths, validateFilePlugin);
1140
- const opts = program$1.opts();
1141
- const format$1 = getFormatOpt(opts);
1142
- if (!opts.outFile && !opts.outDir) generate(inputPaths, (sql) => __dbml_core.importer.import(sql, format$1), outputConsolePlugin_default);
1143
- else if (opts.outFile) {
1144
- generate(inputPaths, (sql) => __dbml_core.importer.import(sql, format$1), new outputFilePlugin_default(resolvePaths(opts.outFile)));
1145
- console.log(` ${chalk.default.green(figures.default.main.tick)} Generated DBML file from SQL file (${config_default[format$1].name}): ${path.default.basename(opts.outFile)}`);
1146
- }
1147
- } catch (error) {
1148
- if ("diags" in error) {
1149
- logger_default.error(`\n ${error.diags.map((diag) => new syntaxError_default(diag.filepath, diag)).map(({ message }) => message).join("\n ")}`);
1150
- return;
1151
- }
1152
- throw error;
1153
- }
1154
- }
1155
- async function exportHandler(program$1) {
1156
- try {
1157
- const inputPaths = resolvePaths(program$1.args);
1158
- validateInputFilePaths(inputPaths, validateFilePlugin);
1159
- const opts = program$1.opts();
1160
- const format$1 = getFormatOpt(opts);
1161
- if (!opts.outFile && !opts.outDir) generate(inputPaths, (dbml) => __dbml_core.exporter.export(dbml, format$1), outputConsolePlugin_default);
1162
- else if (opts.outFile) {
1163
- const header = [
1164
- "-- SQL dump generated using DBML (dbml.dbdiagram.io)\n",
1165
- `-- Database: ${config_default[format$1].name}\n`,
1166
- `-- Generated at: ${(/* @__PURE__ */ new Date()).toISOString()}\n\n`
1167
- ].join("");
1168
- generate(inputPaths, (dbml) => __dbml_core.exporter.export(dbml, format$1), new outputFilePlugin_default(resolvePaths(opts.outFile), header));
1169
- console.log(` ${chalk.default.green(figures.default.main.tick)} Generated SQL dump file (${config_default[format$1].name}): ${path.default.basename(opts.outFile)}`);
1170
- }
1171
- } catch (error) {
1172
- logger_default.error(`\n ${error.diags.map((diag) => new syntaxError_default(diag.filepath, diag)).map(({ message }) => message).join("\n ")}`);
1173
- }
1174
- }
1175
- async function connectionHandler(program$1) {
1176
- try {
1177
- const { connection, databaseType } = getConnectionOpt(program$1.args);
1178
- const opts = program$1.opts();
1179
- const schemaJson = await __dbml_connector.connector.fetchSchemaJson(connection, databaseType);
1180
- if (!opts.outFile && !opts.outDir) {
1181
- const res = __dbml_core.importer.generateDbml(schemaJson);
1182
- outputConsolePlugin_default.write(res);
1183
- } else if (opts.outFile) {
1184
- const res = __dbml_core.importer.generateDbml(schemaJson);
1185
- new outputFilePlugin_default(resolvePaths(opts.outFile)).write(res);
1186
- console.log(` ${chalk.default.green(figures.default.main.tick)} Generated DBML file from database's connection: ${path.default.basename(opts.outFile)}`);
1187
- }
1188
- } catch (error) {
1189
- logger_default.error(error);
1190
- }
1191
- }
1192
- const $schema = "https://json.schemastore.org/package";
1193
- const name = "@dbml/cli";
1194
- const version = "5.6.0-alpha.3";
1195
- const description = "";
1196
- const main = "lib/index.js";
1197
- const license = "Apache-2.0";
1198
- const scripts = {
1199
- "test": "vitest",
1200
- "test:watch": "vitest tests",
1201
- "coverage": "vitest --coverage",
1202
- "build": "rm -rf ./lib && tsc --noEmit && vite build",
1203
- "dev": "vite build --watch",
1204
- "prepublish": "npm run build",
1205
- "lint": "eslint .",
1206
- "lint:fix": "eslint --fix ."
1207
- };
1208
- const publishConfig = { "access": "public" };
1209
- const bin = {
1210
- "dbml2sql": "bin/dbml2sql.js",
1211
- "sql2dbml": "bin/sql2dbml.js",
1212
- "db2dbml": "bin/db2dbml.js"
1213
- };
1214
- const author = "Holistics <dev@holistics.io>";
1215
- const homepage = "https://dbml.dbdiagram.io";
1216
- const repository = "https://github.com/holistics/dbml/tree/master/packages/dbml-cli";
1217
- const keywords = ["dbml", "dbml-cli"];
1218
- const dependencies = {
1219
- "@dbml/connector": "^5.6.0-alpha.2",
1220
- "@dbml/core": "^5.6.0-alpha.1",
1221
- "bluebird": "^3.5.5",
1222
- "chalk": "^2.4.2",
1223
- "commander": "^2.20.0",
1224
- "esm": "^3.2.25",
1225
- "figures": "^3.2.0",
1226
- "lodash-es": "^4.17.15",
1227
- "pegjs-require-import": "^0.0.2",
1228
- "strip-ansi": "^5.2.0",
1229
- "winston": "^3.2.1"
1230
- };
1231
- const gitHead = "2a15d92708e3cd155e7d4dcf87395c6e54aca0db";
1232
- const engines = { "node": ">=18" };
1233
- var package_default = {
1234
- $schema,
1235
- name,
1236
- version,
1237
- description: "",
1238
- main,
1239
- license,
1240
- scripts,
1241
- publishConfig,
1242
- bin,
1243
- author,
1244
- homepage,
1245
- repository,
1246
- keywords,
1247
- dependencies,
1248
- gitHead,
1249
- engines
1250
- };
1251
- function showHelp(args) {
1252
- if (args.length < 3) commander.default.help();
1253
- }
1254
- function dbml2sql(args) {
1255
- commander.default.version(package_default.version);
1256
- commander.default.usage("[options] <files...>").option("--mysql").option("--postgres").option("--mssql").option("--oracle").option("-o, --out-file <pathspec>", "compile all input files into a single files");
1257
- showHelp(args);
1258
- commander.default.parse(args);
1259
- exportHandler(commander.default);
1260
- }
1261
- function sql2dbml(args) {
1262
- commander.default.version(package_default.version);
1263
- commander.default.usage("[options] <files...>").option("--mysql").option("--mysql-legacy").option("--postgres").option("--postgres-legacy").option("--mssql").option("--mssql-legacy").option("--snowflake").option("--oracle").option("-o, --out-file <pathspec>", "compile all input files into a single files");
1264
- showHelp(args);
1265
- commander.default.parse(args);
1266
- importHandler(commander.default);
1267
- }
1268
- function db2dbml(args) {
1269
- commander.default.version(package_default.version);
1270
- commander.default.usage("<database-type> <connection-string> [options]").description(`Generate DBML directly from a database
1271
- <database-type> your database format (postgres, mysql, mssql, snowflake, bigquery)
1272
- <connection-string> your database connection string:
1273
- - postgres: 'postgresql://user:password@localhost:5432/dbname?schemas=schema1,schema2,schema3'
1274
- - mysql: 'mysql://user:password@localhost:3306/dbname'
1275
- - mssql: 'Server=localhost,1433;Database=master;User Id=sa;Password=your_password;Encrypt=true;TrustServerCertificate=true;Schemas=schema1,schema2,schema3;'
1276
- - oracle: 'username/password@[//]host[:port][/service_name]'
1277
- - snowflake:
1278
- - password-based authentication: 'SERVER=<account_identifier>.<region>;UID=<your_username>;PWD=<your_password>;DATABASE=<your_database>;WAREHOUSE=<your_warehouse>;ROLE=<your_role>;SCHEMAS=schema1,schema2,schema3;'
1279
- - key pair authentication: 'SERVER=<account_identifier>.<region>;UID=<your_username>;AUTHENTICATOR=SNOWFLAKE_JWT;PRIVATE_KEY_PATH=<path_to_your_private_key.p8>;PASSPHRASE=<your_private_key_passphrase>;DATABASE=<your_database>;WAREHOUSE=<your_warehouse>;ROLE=<your_role>;SCHEMAS=schema1,schema2,schema3;'
1280
-
1281
- Note: If you did not use passphrase to encrypt your private key, you can leave the "PASSPHRASE" empty.
1282
-
1283
- - bigquery: /path_to_json_credential.json
1284
-
1285
- For BigQuery, the credential file supports flexible authentication:
1286
-
1287
- 1. Application Default Credentials (ADC):
1288
- - Empty file: {} - uses environment authentication
1289
- - Override specific fields: {"project_id": "my-project", "datasets": [...]}
1290
-
1291
- For more information about ADC, see https://cloud.google.com/docs/authentication/application-default-credentials
1292
-
1293
- 2. Explicit Service Account (bypasses ADC):
1294
- {
1295
- "project_id": "your-project-id",
1296
- "client_email": "your-client-email",
1297
- "private_key": "your-private-key",
1298
- "datasets": ["dataset_1", "dataset_2", ...]
1299
- }
1300
- Note: Both client_email and private_key must be provided together.
1301
-
1302
- If "datasets" is not specified or is empty, all accessible datasets will be fetched.
1303
- `).option("-o, --out-file <pathspec>", "compile all input files into a single files");
1304
- showHelp(args);
1305
- commander.default.parse(args);
1306
- connectionHandler(commander.default);
1307
- }
1308
- exports.db2dbml = db2dbml;
1309
- exports.dbml2sql = dbml2sql;
1310
- exports.sql2dbml = sql2dbml;
24
+ var _cli = require("./cli");