@simplism/core
Advanced tools
Comparing version 7.1.14 to 10.0.3
@@ -1,23 +0,15 @@ | ||
import "./extensions/ArrayExtensions"; | ||
import "./extensions/ObjectConstructorExtensions"; | ||
export * from "./extensions/ObjectConstructorExtensions"; | ||
export * from "./exceptions/Exception"; | ||
export * from "./exceptions/InvalidArgumentsException"; | ||
export * from "./exceptions/NotImplementedException"; | ||
export * from "./types/DateOnly"; | ||
export * from "./types/DateTime"; | ||
export * from "./types/Time"; | ||
export * from "./types/Type"; | ||
export * from "./types/Uuid"; | ||
export * from "./utils/JsonConvert"; | ||
export * from "./utils/LambdaParser"; | ||
export * from "./utils/Logger"; | ||
export * from "./utils/Wait"; | ||
export declare type Diff<T extends string, U extends string> = ({ | ||
[P in T]: P; | ||
} & { | ||
[P in U]: never; | ||
} & { | ||
[x: string]: never; | ||
})[T]; | ||
export declare type Omit<T, K extends keyof T> = Pick<T, Diff<keyof T, K>>; | ||
import "./extension/ArrayExt"; | ||
import "./extension/ObjectConstructorExt"; | ||
export * from "./extension/ObjectConstructorExt"; | ||
export * from "./types"; | ||
export * from "./error/ArgumentError"; | ||
export * from "./type/DateOnly"; | ||
export * from "./type/DateTime"; | ||
export * from "./type/Time"; | ||
export * from "./type/Type"; | ||
export * from "./type/Uuid"; | ||
export * from "./util/JsonConvert"; | ||
export * from "./util/LambdaParser"; | ||
export * from "./util/Logger"; | ||
export * from "./util/optional"; | ||
export * from "./util/Wait"; |
1100
dist/index.js
@@ -94,3 +94,3 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 14); | ||
/******/ return __webpack_require__(__webpack_require__.s = 9); | ||
/******/ }) | ||
@@ -105,21 +105,21 @@ /************************************************************************/ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var InvalidArgumentsException_1 = __webpack_require__(2); | ||
var DateOnly_1 = __webpack_require__(1); | ||
var Time_1 = __webpack_require__(3); | ||
var ArgumentError_1 = __webpack_require__(2); | ||
var DateTime = (function () { | ||
function DateTime(args1, args2, args3, args4, args5, args6, args7) { | ||
if (args1 === undefined) { | ||
this._date = new Date(new Date().getTime()); | ||
this.date = new Date(new Date().getTime()); | ||
} | ||
else if (typeof args1 === "number" && args2 === undefined) { | ||
this._date = new Date(args1); | ||
this.date = new Date(args1); | ||
} | ||
else if (typeof args1 === "number" && args2 !== undefined) { | ||
this._date = new Date(args1, args2 - 1, args3, args4, args5, args6, args7); | ||
this.date = new Date(args1, args2 - 1, args3, args4, args5, args6, args7); | ||
} | ||
else if (args1 instanceof Date) { | ||
this._date = new Date(args1.getTime()); | ||
this.date = new Date(args1.getTime()); | ||
} | ||
else { | ||
throw new InvalidArgumentsException_1.InvalidArgumentsException({ args: [args1, args2, args3, args4, args5, args6, args7] }); | ||
throw new ArgumentError_1.ArgumentError({ args1: args1, args2: args2, args3: args3, args4: args4, args5: args5, args6: args6, args7: args7 }); | ||
} | ||
@@ -132,7 +132,7 @@ } | ||
} | ||
throw new InvalidArgumentsException_1.InvalidArgumentsException({ value: value }); | ||
throw new ArgumentError_1.ArgumentError({ value: value }); | ||
}; | ||
Object.defineProperty(DateTime.prototype, "timezoneOffset", { | ||
get: function () { | ||
return this._date.getTimezoneOffset(); | ||
return this.date.getTimezoneOffset(); | ||
}, | ||
@@ -144,6 +144,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getFullYear(); | ||
return this.date.getFullYear(); | ||
}, | ||
set: function (year) { | ||
this._date.setFullYear(year); | ||
this.date.setFullYear(year); | ||
}, | ||
@@ -155,6 +155,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getMonth() + 1; | ||
return this.date.getMonth() + 1; | ||
}, | ||
set: function (month) { | ||
this._date.setMonth(month - 1); | ||
this.date.setMonth(month - 1); | ||
}, | ||
@@ -166,6 +166,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getDate(); | ||
return this.date.getDate(); | ||
}, | ||
set: function (day) { | ||
this._date.setMonth(day - 1); | ||
this.date.setDate(day); | ||
}, | ||
@@ -177,3 +177,3 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getDay(); | ||
return this.date.getDay(); | ||
}, | ||
@@ -185,6 +185,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getHours(); | ||
return this.date.getHours(); | ||
}, | ||
set: function (hour) { | ||
this._date.setHours(hour); | ||
this.date.setHours(hour); | ||
}, | ||
@@ -196,6 +196,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getMinutes(); | ||
return this.date.getMinutes(); | ||
}, | ||
set: function (minute) { | ||
this._date.setMinutes(minute); | ||
this.date.setMinutes(minute); | ||
}, | ||
@@ -207,6 +207,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getSeconds(); | ||
return this.date.getSeconds(); | ||
}, | ||
set: function (second) { | ||
this._date.setSeconds(second); | ||
this.date.setSeconds(second); | ||
}, | ||
@@ -218,6 +218,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getMilliseconds(); | ||
return this.date.getMilliseconds(); | ||
}, | ||
set: function (millisecond) { | ||
this._date.setMilliseconds(millisecond); | ||
this.date.setMilliseconds(millisecond); | ||
}, | ||
@@ -229,6 +229,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getTime(); | ||
return this.date.getTime(); | ||
}, | ||
set: function (tick) { | ||
this._date.setTime(tick); | ||
this.date.setTime(tick); | ||
}, | ||
@@ -281,6 +281,6 @@ enumerable: true, | ||
DateTime.prototype.toDateOnly = function () { | ||
return new DateOnly_1.DateOnly(this._date); | ||
return new DateOnly_1.DateOnly(this.date); | ||
}; | ||
DateTime.prototype.toTime = function () { | ||
return new Time_1.Time(this._date); | ||
return new Time_1.Time(this.date); | ||
}; | ||
@@ -350,3 +350,3 @@ DateTime.prototype.toFormatString = function (format) { | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var InvalidArgumentsException_1 = __webpack_require__(2); | ||
var ArgumentError_1 = __webpack_require__(2); | ||
var DateOnly = (function () { | ||
@@ -356,16 +356,16 @@ function DateOnly(args1, args2, args3) { | ||
var now = new Date(); | ||
this._date = new Date(now.getFullYear(), now.getMonth(), now.getDate()); | ||
this.date = new Date(now.getFullYear(), now.getMonth(), now.getDate()); | ||
} | ||
else if (typeof args1 === "number" && args2 === undefined) { | ||
var date = new Date(args1); | ||
this._date = new Date(date.getFullYear(), date.getMonth(), date.getDate()); | ||
this.date = new Date(date.getFullYear(), date.getMonth(), date.getDate()); | ||
} | ||
else if (typeof args1 === "number" && args2 !== undefined) { | ||
this._date = new Date(args1, args2, args3); | ||
this.date = new Date(args1, args2 - 1, args3); | ||
} | ||
else if (args1 instanceof Date) { | ||
this._date = new Date(args1.getFullYear(), args1.getMonth(), args1.getDate()); | ||
this.date = new Date(args1.getFullYear(), args1.getMonth(), args1.getDate()); | ||
} | ||
else { | ||
throw new InvalidArgumentsException_1.InvalidArgumentsException({ args: [args1, args2, args3] }); | ||
throw new ArgumentError_1.ArgumentError({ args1: args1, args2: args2, args3: args3 }); | ||
} | ||
@@ -378,10 +378,10 @@ } | ||
} | ||
throw new InvalidArgumentsException_1.InvalidArgumentsException({ value: value }); | ||
throw new ArgumentError_1.ArgumentError({ value: value }); | ||
}; | ||
Object.defineProperty(DateOnly.prototype, "year", { | ||
get: function () { | ||
return this._date.getFullYear(); | ||
return this.date.getFullYear(); | ||
}, | ||
set: function (year) { | ||
this._date.setFullYear(year); | ||
this.date.setFullYear(year); | ||
}, | ||
@@ -393,6 +393,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getMonth() + 1; | ||
return this.date.getMonth() + 1; | ||
}, | ||
set: function (month) { | ||
this._date.setMonth(month - 1); | ||
this.date.setMonth(month - 1); | ||
}, | ||
@@ -404,6 +404,6 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getDate(); | ||
return this.date.getDate(); | ||
}, | ||
set: function (day) { | ||
this._date.setMonth(day - 1); | ||
this.date.setDate(day); | ||
}, | ||
@@ -415,3 +415,3 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getDay(); | ||
return this.date.getDay(); | ||
}, | ||
@@ -423,3 +423,3 @@ enumerable: true, | ||
get: function () { | ||
return this._date.getTime(); | ||
return this.date.getTime(); | ||
}, | ||
@@ -475,3 +475,3 @@ enumerable: true, | ||
DateOnly.prototype.toString = function () { | ||
return this.toFormatString("yyyy-MM-dd"); | ||
return this.date ? this.toFormatString("yyyy-MM-dd") : ""; | ||
}; | ||
@@ -500,14 +500,15 @@ return DateOnly; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Exception_1 = __webpack_require__(4); | ||
var JsonConvert_1 = __webpack_require__(6); | ||
var InvalidArgumentsException = (function (_super) { | ||
__extends(InvalidArgumentsException, _super); | ||
function InvalidArgumentsException(args) { | ||
var _this = _super.call(this, "\uC785\uB825\uAC12\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. (" + Object.keys(args).map(function (key) { return key + ": " + JsonConvert_1.JsonConvert.stringify(args[key]); }).join(", ") + ")", "InvalidArguments") || this; | ||
_this.args = args; | ||
var ArgumentError = (function (_super) { | ||
__extends(ArgumentError, _super); | ||
function ArgumentError(argObj) { | ||
var _newTarget = this.constructor; | ||
var _this = _super.call(this, "인수가 잘못되었습니다: " + JSON.stringify(argObj)) || this; | ||
Object.setPrototypeOf(_this, _newTarget.prototype); | ||
_this.name = _newTarget.name; | ||
Error.captureStackTrace(_this, _newTarget); | ||
return _this; | ||
} | ||
return InvalidArgumentsException; | ||
}(Exception_1.Exception)); | ||
exports.InvalidArgumentsException = InvalidArgumentsException; | ||
return ArgumentError; | ||
}(Error)); | ||
exports.ArgumentError = ArgumentError; | ||
//# sourceMappingURL=module.js.map | ||
@@ -522,3 +523,3 @@ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var InvalidArgumentsException_1 = __webpack_require__(2); | ||
var ArgumentError_1 = __webpack_require__(2); | ||
var Time = (function () { | ||
@@ -556,3 +557,3 @@ function Time(args1, args2, args3, args4, args5) { | ||
else { | ||
throw new InvalidArgumentsException_1.InvalidArgumentsException({ args: [args1, args2, args3, args4] }); | ||
throw new ArgumentError_1.ArgumentError({ args1: args1, args2: args2, args3: args3, args4: args4, args5: args5 }); | ||
} | ||
@@ -599,3 +600,3 @@ } | ||
} | ||
else if (/^[0-9]{10, 11}$/.test(value)) { | ||
else if (/^[0-9]{10,11}$/.test(value)) { | ||
var day = Math.floor(Number(value) / 1000000000); | ||
@@ -613,12 +614,12 @@ var hour = Math.floor((Number(value) % 1000000000) / 10000000); | ||
else { | ||
var regex = /^([0-9]+\.)?[0-9]{1,2}(:[0-9]{1,2})?(:[0-9]{1,2})?(.[0-9]{3})?$/; | ||
var regex = /^([0-9]+\.)?([0-9]{1,2})(:[0-9]{1,2})?(:[0-9]{1,2})?(.[0-9]{3})?$/; | ||
var matches = value.match(regex); | ||
if (!matches) { | ||
throw new InvalidArgumentsException_1.InvalidArgumentsException({ value: value }); | ||
throw new ArgumentError_1.ArgumentError({ value: value }); | ||
} | ||
var day = Number(matches[1] || "0"); | ||
var hour = Number(matches[2] || "0"); | ||
var minute = Number(matches[3] || "0"); | ||
var second = Number(matches[4] || "0"); | ||
var millisecond = Number(matches[5] || "0"); | ||
var day = Number((matches[1] || "0").replace(/[.:]/g, "")); | ||
var hour = Number((matches[2] || "0").replace(/[.:]/g, "")); | ||
var minute = Number((matches[3] || "0").replace(/[.:]/g, "")); | ||
var second = Number((matches[4] || "0").replace(/[.:]/g, "")); | ||
var millisecond = Number((matches[5] || "0").replace(/[.:]/g, "")); | ||
return new Time(day * 24 * 60 * 60 * 1000 + | ||
@@ -758,38 +759,3 @@ hour * 60 * 60 * 1000 + | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Exception = (function (_super) { | ||
__extends(Exception, _super); | ||
function Exception(message, code, constructorOpt) { | ||
var _newTarget = this.constructor; | ||
if (message === void 0) { message = ""; } | ||
var _this = _super.call(this, message) || this; | ||
Object.setPrototypeOf(_this, _newTarget.prototype); | ||
_this.name = _newTarget.name; | ||
_this.message = message; | ||
_this.code = code; | ||
Error.captureStackTrace(_this, constructorOpt || _newTarget); | ||
return _this; | ||
} | ||
return Exception; | ||
}(Error)); | ||
exports.Exception = Exception; | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 5 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Uuid = (function () { | ||
@@ -816,2 +782,252 @@ function Uuid(uuid) { | ||
/***/ }), | ||
/* 5 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var JsonConvert_1 = __webpack_require__(6); | ||
Array.prototype.groupBy = function (keySelectorOrKeys, valueSelectorOrValueKeys) { | ||
var result = []; | ||
var _loop_1 = function (i) { | ||
var keyObj; | ||
if (typeof keySelectorOrKeys === "function") { | ||
keyObj = keySelectorOrKeys(this_1[i], i); | ||
} | ||
else { | ||
keyObj = {}; | ||
for (var _i = 0, keySelectorOrKeys_1 = keySelectorOrKeys; _i < keySelectorOrKeys_1.length; _i++) { | ||
var key = keySelectorOrKeys_1[_i]; | ||
keyObj[key] = this_1[i][key]; | ||
} | ||
} | ||
var valueObj = void 0; | ||
if (typeof valueSelectorOrValueKeys === "function") { | ||
valueObj = valueSelectorOrValueKeys(this_1[i], i); | ||
} | ||
else if (valueSelectorOrValueKeys instanceof Array) { | ||
valueObj = {}; | ||
for (var _a = 0, valueSelectorOrValueKeys_1 = valueSelectorOrValueKeys; _a < valueSelectorOrValueKeys_1.length; _a++) { | ||
var valueKey = valueSelectorOrValueKeys_1[_a]; | ||
valueObj[valueKey] = this_1[i][valueKey]; | ||
} | ||
} | ||
else { | ||
valueObj = this_1[i]; | ||
} | ||
var existsRecord = result.single(function (item) { return Object.equal(item.key, keyObj); }); | ||
if (existsRecord) { | ||
existsRecord.values.push(valueObj); | ||
} | ||
else { | ||
result.push({ key: keyObj, values: [valueObj] }); | ||
} | ||
}; | ||
var this_1 = this; | ||
for (var i = 0; i < this.length; i++) { | ||
_loop_1(i); | ||
} | ||
return result; | ||
}; | ||
Array.prototype.toMap = function (keySelector, valueSelector) { | ||
var result = new Map(); | ||
for (var i = 0; i < this.length; i++) { | ||
var item = this[i]; | ||
var key = keySelector(item, i); | ||
var value = valueSelector ? valueSelector(item, i) : item; | ||
if (result.has(key)) { | ||
throw new Error("\uD0A4\uAC00 \uC911\uBCF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4. (\uC911\uBCF5\uB41C\uD0A4: " + JsonConvert_1.JsonConvert.stringify(key) + ")"); | ||
} | ||
result.set(key, value); | ||
} | ||
return result; | ||
}; | ||
Array.prototype.mapMany = function (selector) { | ||
if (this.length < 1) { | ||
return []; | ||
} | ||
return (selector ? this.map(selector) : this).reduce(function (p, n) { return p.concat(n); }); | ||
}; | ||
Array.prototype.single = function (predicate) { | ||
var filtered = predicate ? this.filter(predicate.bind(this)) : this; | ||
if (filtered.length > 1) { | ||
throw new Error("복수의 결과물이 있습니다."); | ||
} | ||
return filtered[0]; | ||
}; | ||
Array.prototype.last = function (predicate) { | ||
if (predicate) { | ||
for (var i = this.length - 1; i >= 0; i--) { | ||
if (predicate(this[i], i)) { | ||
return this[i]; | ||
} | ||
} | ||
} | ||
else { | ||
return this[this.length - 1]; | ||
} | ||
}; | ||
Array.prototype.sum = function (selector) { | ||
var result; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
item = selector ? selector(item) : item; | ||
if (result) { | ||
result += item; | ||
} | ||
else { | ||
result = item; | ||
} | ||
} | ||
return result; | ||
}; | ||
Array.prototype.max = function (selector) { | ||
var result; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
item = selector ? selector(item) : item; | ||
if (!result || result < item) { | ||
result = item; | ||
} | ||
} | ||
return result; | ||
}; | ||
Array.prototype.min = function (selector) { | ||
var result; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
item = selector ? selector(item) : item; | ||
if (!result || result > item) { | ||
result = item; | ||
} | ||
} | ||
return result; | ||
}; | ||
Array.prototype.distinct = function () { | ||
var result = []; | ||
var _loop_2 = function (item) { | ||
if (result.every(function (item1) { return !Object.equal(item1, item); })) { | ||
result.push(item); | ||
} | ||
}; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
_loop_2(item); | ||
} | ||
return result; | ||
}; | ||
Array.prototype.orderBy = function (selector, desc) { | ||
return this.concat().sort(function (p, n) { | ||
var pn = selector ? selector(n) : n; | ||
var pp = selector ? selector(p) : p; | ||
return desc | ||
? pn < pp ? -1 : pn > pp ? 1 : 0 | ||
: pn > pp ? -1 : pn < pp ? 1 : 0; | ||
}); | ||
}; | ||
Array.prototype.pushRange = function (items) { | ||
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) { | ||
var item = items_1[_i]; | ||
this.push(item); | ||
} | ||
}; | ||
Array.prototype.insert = function (index, item) { | ||
this.splice(index, 0, item); | ||
}; | ||
Array.prototype.remove = function (arg) { | ||
var items = typeof arg === "function" ? this.filter(arg) | ||
: arg instanceof Array ? arg | ||
: [arg]; | ||
for (var _i = 0, items_2 = items; _i < items_2.length; _i++) { | ||
var item = items_2[_i]; | ||
while (this.indexOf(item) >= 0) { | ||
this.splice(this.indexOf(item), 1); | ||
} | ||
} | ||
}; | ||
Array.prototype.filterExists = function () { | ||
return this.filter(function (item) { return item !== undefined; }); | ||
}; | ||
Array.prototype.ofType = function (type) { | ||
return this.filter(function (item) { return item instanceof type; }); | ||
}; | ||
Array.prototype.diffs = function (target, options) { | ||
if (target.length < 1) { | ||
return this.map(function (item) { return ({ source: item }); }); | ||
} | ||
var result = []; | ||
var currTarget = [].concat(target); | ||
var _loop_3 = function (item) { | ||
var existsTargetItem = currTarget.find(function (targetItem) { | ||
if (options && options.keyProps) { | ||
return options.keyProps.every(function (keyProp) { return targetItem[keyProp] === item[keyProp]; }); | ||
} | ||
else { | ||
return Object.equal(targetItem, item); | ||
} | ||
}); | ||
if (!existsTargetItem) { | ||
result.push({ source: item }); | ||
} | ||
else { | ||
if (options && options.keyProps && !Object.equal(item, existsTargetItem)) { | ||
result.push({ source: item, target: existsTargetItem }); | ||
} | ||
currTarget.remove(existsTargetItem); | ||
} | ||
}; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
_loop_3(item); | ||
} | ||
for (var _b = 0, currTarget_1 = currTarget; _b < currTarget_1.length; _b++) { | ||
var remainedTargetItem = currTarget_1[_b]; | ||
result.push({ target: remainedTargetItem }); | ||
} | ||
return result; | ||
}; | ||
Array.prototype.merge = function (target, options) { | ||
if (!options || !options.keyProps) { | ||
this.forEach(function (item, i) { | ||
if (options && options.replacement) { | ||
for (var _i = 0, _a = Object.keys(item); _i < _a.length; _i++) { | ||
var key = _a[_i]; | ||
delete item[key]; | ||
} | ||
} | ||
Object.assign(item, target[i]); | ||
}); | ||
if (target.length > this.length) { | ||
for (var _i = 0, _a = target.splice(this.length); _i < _a.length; _i++) { | ||
var targetItem = _a[_i]; | ||
this.push(targetItem); | ||
} | ||
} | ||
} | ||
else { | ||
var _loop_4 = function (targetItem) { | ||
var item = this_2.single(function (sourceItem) { return options.keyProps.every(function (keyProp) { return sourceItem[keyProp] === targetItem[keyProp]; }); }); | ||
if (item) { | ||
if (options && options.replacement) { | ||
for (var _i = 0, _a = Object.keys(item); _i < _a.length; _i++) { | ||
var key = _a[_i]; | ||
delete item[key]; | ||
} | ||
} | ||
Object.assign(item, targetItem); | ||
} | ||
else { | ||
this_2.push(targetItem); | ||
} | ||
}; | ||
var this_2 = this; | ||
for (var _b = 0, target_1 = target; _b < target_1.length; _b++) { | ||
var targetItem = target_1[_b]; | ||
_loop_4(targetItem); | ||
} | ||
} | ||
}; | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 6 */ | ||
@@ -823,6 +1039,6 @@ /***/ (function(module, exports, __webpack_require__) { | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Uuid_1 = __webpack_require__(5); | ||
var DateTime_1 = __webpack_require__(0); | ||
var DateOnly_1 = __webpack_require__(1); | ||
var Time_1 = __webpack_require__(3); | ||
var DateOnly_1 = __webpack_require__(1); | ||
var DateTime_1 = __webpack_require__(0); | ||
var Uuid_1 = __webpack_require__(4); | ||
var JsonConvert = (function () { | ||
@@ -837,15 +1053,15 @@ function JsonConvert() { | ||
if (currValue instanceof Date) { | ||
return { type: "Date", data: currValue.toISOString() }; | ||
return { __type__: "Date", data: currValue.toISOString() }; | ||
} | ||
else if (currValue instanceof DateTime_1.DateTime) { | ||
return { type: "DateTime", data: currValue.toString() }; | ||
return { __type__: "DateTime", data: currValue.toString() }; | ||
} | ||
else if (currValue instanceof DateOnly_1.DateOnly) { | ||
return { type: "DateOnly", data: currValue.toString() }; | ||
return { __type__: "DateOnly", data: currValue.toString() }; | ||
} | ||
else if (currValue instanceof Time_1.Time) { | ||
return { type: "Time", data: currValue.toString() }; | ||
return { __type__: "Time", data: currValue.toString() }; | ||
} | ||
else if (currValue instanceof Uuid_1.Uuid) { | ||
return { type: "Uuid", data: currValue.toString() }; | ||
return { __type__: "Uuid", data: currValue.toString() }; | ||
} | ||
@@ -858,29 +1074,48 @@ else if (currValue instanceof Error) { | ||
} | ||
return { type: "Error", data: error }; | ||
return { __type__: "Error", data: error }; | ||
} | ||
else if (currValue instanceof Buffer || (currValue && currValue.type === "Buffer")) { | ||
return { __type__: "Buffer", data: (options && options.hideBuffer) ? "__hidden__" : value["data"] }; | ||
} | ||
return value; | ||
} | ||
return JSON.stringify(obj, replacer, options && options.space); | ||
function bufferReplacer(value) { | ||
if (value instanceof Buffer || (value && value.type === "Buffer")) { | ||
return { __type__: "Buffer", data: (options && options.hideBuffer) ? "__hidden__" : value["data"] }; | ||
} | ||
else if (!(value instanceof Array) && value instanceof Object && Object.keys(value).length > 0) { | ||
var result = {}; | ||
for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) { | ||
var key = _a[_i]; | ||
result[key] = bufferReplacer(value[key]); | ||
} | ||
return result; | ||
} | ||
else { | ||
return value; | ||
} | ||
} | ||
return JSON.stringify(bufferReplacer(obj), replacer, options && options.space); | ||
}; | ||
JsonConvert.parse = function (json) { | ||
return JSON.parse(json, function (key, value) { | ||
return json && JSON.parse(json, function (key, value) { | ||
if (value == undefined) { | ||
return undefined; | ||
} | ||
else if (typeof value === "object" && value.type === "Date") { | ||
else if (typeof value === "object" && value.__type__ === "Date") { | ||
return new Date(Date.parse(value.data)); | ||
} | ||
else if (typeof value === "object" && value.type === "DateTime") { | ||
else if (typeof value === "object" && value.__type__ === "DateTime") { | ||
return DateTime_1.DateTime.parse(value.data); | ||
} | ||
else if (typeof value === "object" && value.type === "DateOnly") { | ||
else if (typeof value === "object" && value.__type__ === "DateOnly") { | ||
return DateOnly_1.DateOnly.parse(value.data); | ||
} | ||
else if (typeof value === "object" && value.type === "Time") { | ||
else if (typeof value === "object" && value.__type__ === "Time") { | ||
return Time_1.Time.parse(value.data); | ||
} | ||
else if (typeof value === "object" && value.type === "Uuid") { | ||
else if (typeof value === "object" && value.__type__ === "Uuid") { | ||
return new Uuid_1.Uuid(value.data); | ||
} | ||
else if (typeof value === "object" && value.type === "Error") { | ||
else if (typeof value === "object" && value.__type__ === "Error") { | ||
var error = new Error(); | ||
@@ -890,3 +1125,3 @@ Object.assign(error, value.data); | ||
} | ||
else if (typeof value === "object" && value.type === "Buffer") { | ||
else if (typeof value === "object" && value.__type__ === "Buffer") { | ||
return Buffer.from(value.data); | ||
@@ -917,6 +1152,7 @@ } | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__webpack_require__(5); | ||
var DateOnly_1 = __webpack_require__(1); | ||
var Uuid_1 = __webpack_require__(4); | ||
var DateTime_1 = __webpack_require__(0); | ||
var Time_1 = __webpack_require__(3); | ||
var DateTime_1 = __webpack_require__(0); | ||
var Uuid_1 = __webpack_require__(5); | ||
Object.clone = function (source, options) { | ||
@@ -1005,15 +1241,15 @@ if (source instanceof Array) { | ||
}; | ||
Object.validate = function (value, validator) { | ||
Object.validate = function (value, def) { | ||
var config; | ||
if (validator instanceof Array) { | ||
config = { type: validator }; | ||
if (def instanceof Array) { | ||
config = { type: def }; | ||
} | ||
else if (typeof validator === "function") { | ||
config = { type: [validator] }; | ||
else if (typeof def === "function") { | ||
config = { type: [def] }; | ||
} | ||
else if (!(validator.type instanceof Array)) { | ||
config = __assign({}, validator, { type: [validator.type] }); | ||
else if (def.type && !(def.type instanceof Array)) { | ||
config = __assign({}, def, { type: [def.type] }); | ||
} | ||
else { | ||
config = validator; | ||
config = def; | ||
} | ||
@@ -1037,7 +1273,7 @@ if (value == undefined) { | ||
}; | ||
Object.validates = function (source, validators) { | ||
Object.validates = function (source, defs) { | ||
var result = []; | ||
for (var _i = 0, _a = Object.keys(validators); _i < _a.length; _i++) { | ||
for (var _i = 0, _a = Object.keys(defs); _i < _a.length; _i++) { | ||
var propertyKey = _a[_i]; | ||
var validateResult = this.validate(source[propertyKey], validators[propertyKey]); | ||
var validateResult = this.validate(source[propertyKey], defs[propertyKey]); | ||
if (validateResult) { | ||
@@ -1049,2 +1285,16 @@ result.push(__assign({ propertyKey: propertyKey }, validateResult)); | ||
}; | ||
Object.validatesArray = function (arr, displayName, def) { | ||
var errorMessages = []; | ||
for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) { | ||
var item = arr_1[_i]; | ||
var result = Object.validates(item, typeof def === "function" ? def(item) : def); | ||
if (result.length > 0) { | ||
var propertyDisplayNames = result.map(function (item1) { return def[item1.propertyKey]["displayName"]; }); | ||
errorMessages.push("- '" + displayName + "'\uC758 " + (arr.indexOf(item) + 1) + "\uBC88\uC9F8 \uD56D\uBAA9\uC911 '" + propertyDisplayNames.join("', '") + "'"); | ||
} | ||
} | ||
if (errorMessages.length > 0) { | ||
throw new Error("입력값이 잘못되었습니다.\r\n" + errorMessages.join("\r\n")); | ||
} | ||
}; | ||
//# sourceMappingURL=module.js.map | ||
@@ -1058,79 +1308,24 @@ | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Wait = (function () { | ||
function Wait() { | ||
var LambdaParser = (function () { | ||
function LambdaParser() { | ||
} | ||
Wait.true = function (forwarder) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (false) {} | ||
return [4, forwarder()]; | ||
case 1: | ||
if (_a.sent()) { | ||
return [3, 3]; | ||
} | ||
return [4, this.time(100)]; | ||
case 2: | ||
_a.sent(); | ||
return [3, 0]; | ||
case 3: return [2]; | ||
} | ||
}); | ||
}); | ||
LambdaParser.parse = function (predicate) { | ||
var matches = predicate.toString().match(/function\s?\(([^)]*)\)[^{]*{((?!return)(.|\r|\n))*return\s?((.|\r|\n)*);?\s?}$/); | ||
if (matches === null) { | ||
throw new Error("Lambda 파싱 실패: " + predicate.toString() + "\n"); | ||
} | ||
var params = matches[1].split(",").map(function (item) { return item.trim(); }); | ||
var returnContent = matches[4].trim(); | ||
if (returnContent.endsWith(";")) { | ||
returnContent = returnContent.slice(0, -1); | ||
} | ||
return { | ||
params: params, | ||
returnContent: returnContent | ||
}; | ||
}; | ||
Wait.time = function (millisecond) { | ||
if (millisecond === void 0) { millisecond = 0; } | ||
return __awaiter(this, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, new Promise(function (resolve) { | ||
setTimeout(function () { return resolve(); }, millisecond); | ||
})]; | ||
case 1: | ||
_a.sent(); | ||
return [2]; | ||
} | ||
}); | ||
}); | ||
}; | ||
return Wait; | ||
return LambdaParser; | ||
}()); | ||
exports.Wait = Wait; | ||
exports.LambdaParser = LambdaParser; | ||
//# sourceMappingURL=module.js.map | ||
@@ -1144,2 +1339,47 @@ | ||
function __export(m) { | ||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; | ||
} | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__webpack_require__(5); | ||
__webpack_require__(7); | ||
__export(__webpack_require__(7)); | ||
__export(__webpack_require__(10)); | ||
__export(__webpack_require__(2)); | ||
__export(__webpack_require__(1)); | ||
__export(__webpack_require__(0)); | ||
__export(__webpack_require__(3)); | ||
__export(__webpack_require__(11)); | ||
__export(__webpack_require__(4)); | ||
__export(__webpack_require__(6)); | ||
__export(__webpack_require__(8)); | ||
__export(__webpack_require__(12)); | ||
__export(__webpack_require__(13)); | ||
__export(__webpack_require__(14)); | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 10 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 11 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 12 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var __assign = (this && this.__assign) || Object.assign || function(t) { | ||
@@ -1156,8 +1396,7 @@ for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
var Logger = (function () { | ||
function Logger(_groupName, _name, _prefix) { | ||
function Logger(_groupName, _prefix) { | ||
this._groupName = _groupName; | ||
this._name = _name; | ||
this._prefix = _prefix; | ||
Logger._lastId++; | ||
this._id = Logger._lastId; | ||
this.id = Logger._lastId; | ||
} | ||
@@ -1167,2 +1406,10 @@ Logger.setDefaultConfig = function (config) { | ||
}; | ||
Logger.restoreDefaultConfig = function () { | ||
this._defaultConfig = { | ||
consoleLogSeverities: ["log", "info", "warn", "error"], | ||
fileLogSeverities: [], | ||
outputPath: undefined, | ||
historySize: 30 | ||
}; | ||
}; | ||
Logger.setGroupConfig = function (groupName, config) { | ||
@@ -1177,3 +1424,11 @@ if (this._groupMap.has(groupName)) { | ||
}; | ||
Object.defineProperty(Logger.prototype, "_config", { | ||
Logger.restoreGroupConfig = function (groupName) { | ||
if (groupName) { | ||
this._groupMap.delete(groupName); | ||
} | ||
else { | ||
this._groupMap.clear(); | ||
} | ||
}; | ||
Object.defineProperty(Logger.prototype, "config", { | ||
get: function () { | ||
@@ -1215,6 +1470,7 @@ return (this._groupName && Logger._groupMap.get(this._groupName)) || Logger._defaultConfig; | ||
var now = new DateTime_1.DateTime(); | ||
var at = process.version ? new Error().stack.match(/at .*/g)[2].trim() : undefined; | ||
Logger.history.push({ | ||
groupName: this._groupName, | ||
loggerId: this._id, | ||
loggerName: this._name, | ||
loggerId: this.id, | ||
at: at, | ||
severity: severity, | ||
@@ -1225,3 +1481,3 @@ prefix: this._prefix, | ||
}); | ||
Logger.history = Logger.history.slice(0, this._config.historySize); | ||
Logger.history = Logger.history.slice(-this.config.historySize); | ||
var convertedLogs = logs.map(function (item) { | ||
@@ -1236,33 +1492,25 @@ if (typeof item === "string") { | ||
}); | ||
var colors = !process.versions.node | ||
? { | ||
grey: "color: grey;", | ||
log: "color: black;", | ||
info: "color: #2196F3;", | ||
warn: "color: #FF9800;", | ||
error: "color: #F44336;" | ||
} | ||
: { | ||
grey: "\x1b[90m", | ||
log: "\x1b[0m", | ||
info: "\x1b[36m", | ||
warn: "\x1b[33m", | ||
error: "\x1b[31m" | ||
}; | ||
var log = { | ||
id: this._id.toString(), | ||
now: now.toFormatString("yyMMdd HH:mm:ss.fff"), | ||
id: this.id.toString(), | ||
now: now.toFormatString("yyyy-MM-dd HH:mm:ss.fff"), | ||
group: this._groupName, | ||
name: this._name, | ||
at: at, | ||
severity: severity.toUpperCase(), | ||
prefix: this._prefix | ||
}; | ||
var text = colors.grey + "[" + log.id.toString().padStart(3, "0") + "] " + log.now + " - " + log.group + " - " + log.name + " - " + colors[severity] + log.severity + ": " + (log.prefix ? log.prefix + " " : "") + convertedLogs.join("\r\n") + colors.log; | ||
if (this._config.consoleLogSeverities.includes(severity)) { | ||
if (this.config.consoleLogSeverities.includes(severity)) { | ||
var text = log.now + " - [" + log.severity + "] - from " + log.group; | ||
if (process.env.NODE_ENV !== "production") { | ||
text += log.at ? " - " + log.at : ""; | ||
} | ||
text += "\r\n" + (log.prefix ? log.prefix + " " : "") + convertedLogs.join("\r\n") + "\r\n"; | ||
console.log(text); | ||
} | ||
if (this._config.fileLogSeverities.includes(severity)) { | ||
if (this.config.fileLogSeverities.includes(severity)) { | ||
var text = log.now + " - [" + log.severity + "] - from " + log.group; | ||
text += log.at ? " - " + log.at : ""; | ||
text += "\r\n" + (log.prefix ? log.prefix + " " : "") + convertedLogs.join("\r\n") + "\r\n"; | ||
var path = eval("require('path')"); | ||
var fs = eval("require('fs')"); | ||
var outputPath = this._config.outputPath || path.resolve(process.cwd(), "logs"); | ||
var outputPath = this.config.outputPath || path.resolve(process.cwd(), "logs"); | ||
if (!fs.existsSync(outputPath)) { | ||
@@ -1295,3 +1543,3 @@ fs.mkdirSync(outputPath); | ||
/***/ }), | ||
/* 10 */ | ||
/* 13 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -1302,27 +1550,18 @@ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var LambdaParser = (function () { | ||
function LambdaParser() { | ||
var LambdaParser_1 = __webpack_require__(8); | ||
function optional(obj, fn) { | ||
var parsed = LambdaParser_1.LambdaParser.parse(fn); | ||
var chains = parsed.returnContent.slice(parsed.params[0].length + 1).split("."); | ||
var cursor = obj; | ||
for (var _i = 0, chains_1 = chains; _i < chains_1.length; _i++) { | ||
var chain = chains_1[_i]; | ||
cursor = cursor === undefined ? undefined : cursor[chain]; | ||
} | ||
LambdaParser.parse = function (predicate) { | ||
var matches = predicate.toString().match(/function\s?\(([^)]*)\)[^{]*{((?!return)(.|\r|\n))*return\s?((.|\r|\n)*);?\s?}$/); | ||
if (!matches) { | ||
throw new Error("Lambda 파싱 실패: " + predicate.toString() + "\n"); | ||
} | ||
var params = matches[1].split(",").map(function (item) { return item.trim(); }); | ||
var returnContent = matches[4].trim(); | ||
if (returnContent.endsWith(";")) { | ||
returnContent = returnContent.slice(0, -1); | ||
} | ||
return { | ||
params: params, | ||
returnContent: returnContent | ||
}; | ||
}; | ||
return LambdaParser; | ||
}()); | ||
exports.LambdaParser = LambdaParser; | ||
return cursor; | ||
} | ||
exports.optional = optional; | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 11 */ | ||
/* 14 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
@@ -1332,287 +1571,92 @@ | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 12 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Exception_1 = __webpack_require__(4); | ||
var NotImplementedException = (function (_super) { | ||
__extends(NotImplementedException, _super); | ||
function NotImplementedException() { | ||
return _super.call(this, "\uC544\uC9C1 \uAD6C\uD604\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4") || this; | ||
} | ||
return NotImplementedException; | ||
}(Exception_1.Exception)); | ||
exports.NotImplementedException = NotImplementedException; | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 13 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Exception_1 = __webpack_require__(4); | ||
var JsonConvert_1 = __webpack_require__(6); | ||
Array.prototype.groupBy = function (keySelector, valueSelector) { | ||
var result = []; | ||
var _loop_1 = function (i) { | ||
var key = keySelector(this_1[i], i); | ||
var value = valueSelector ? valueSelector(this_1[i], i) : this_1[i]; | ||
var existsRecord = result.single(function (item) { return Object.equal(item.key, key); }); | ||
if (existsRecord) { | ||
existsRecord.values.push(value); | ||
} | ||
else { | ||
result.push({ key: key, values: [value] }); | ||
} | ||
}; | ||
var this_1 = this; | ||
for (var i = 0; i < this.length; i++) { | ||
_loop_1(i); | ||
} | ||
return result; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Array.prototype.toMap = function (keySelector, valueSelector) { | ||
var result = new Map(); | ||
for (var i = 0; i < this.length; i++) { | ||
var item = this[i]; | ||
var key = keySelector(item, i); | ||
var value = valueSelector ? valueSelector(item, i) : item; | ||
if (result.has(key)) { | ||
throw new Exception_1.Exception("\uD0A4\uAC00 \uC911\uBCF5\uB418\uC5C8\uC2B5\uB2C8\uB2E4. (\uC911\uBCF5\uB41C\uD0A4: " + JsonConvert_1.JsonConvert.stringify(key) + ")"); | ||
} | ||
result.set(key, value); | ||
} | ||
return result; | ||
}; | ||
Array.prototype.mapMany = function (selector) { | ||
if (this.length < 1) | ||
return []; | ||
return (selector ? this.map(selector) : this).reduce(function (p, n) { return p.concat(n); }); | ||
}; | ||
Array.prototype.single = function (predicate) { | ||
var filtered = predicate ? this.filter(predicate.bind(this)) : this; | ||
if (filtered.length > 1) { | ||
throw new Error("\uBCF5\uC218\uC758 \uACB0\uACFC\uBB3C\uC774 \uC788\uC2B5\uB2C8\uB2E4."); | ||
} | ||
return filtered[0]; | ||
}; | ||
Array.prototype.last = function (predicate) { | ||
if (predicate) { | ||
for (var i = this.length - 1; i >= 0; i--) { | ||
if (predicate(this[i], i)) { | ||
return this[i]; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
else { | ||
return this[this.length - 1]; | ||
} | ||
}; | ||
Array.prototype.sum = function (selector) { | ||
var result; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
item = selector ? selector(item) : item; | ||
if (result) { | ||
result += item; | ||
} | ||
else { | ||
result = item; | ||
} | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Wait = (function () { | ||
function Wait() { | ||
} | ||
return result; | ||
}; | ||
Array.prototype.max = function (selector) { | ||
var result; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
item = selector ? selector(item) : item; | ||
if (!result || result < item) { | ||
result = item; | ||
} | ||
} | ||
return result; | ||
}; | ||
Array.prototype.min = function (selector) { | ||
var result; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
item = selector ? selector(item) : item; | ||
if (!result || result > item) { | ||
result = item; | ||
} | ||
} | ||
return result; | ||
}; | ||
Array.prototype.distinct = function () { | ||
var result = []; | ||
var _loop_2 = function (item) { | ||
if (result.every(function (item1) { return !Object.equal(item1, item); })) { | ||
result.push(item); | ||
} | ||
}; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
_loop_2(item); | ||
} | ||
return result; | ||
}; | ||
Array.prototype.orderBy = function (selector, desc) { | ||
return this.concat().sort(function (p, n) { | ||
var pn = selector ? selector(n) : n; | ||
var pp = selector ? selector(p) : p; | ||
return desc | ||
? pn < pp ? -1 : pn > pp ? 1 : 0 | ||
: pn > pp ? -1 : pn < pp ? 1 : 0; | ||
}); | ||
}; | ||
Array.prototype.pushRange = function (items) { | ||
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) { | ||
var item = items_1[_i]; | ||
this.push(item); | ||
} | ||
}; | ||
Array.prototype.insert = function (index, item) { | ||
this.splice(index, 0, item); | ||
}; | ||
Array.prototype.remove = function (arg) { | ||
var items = typeof arg === "function" ? this.filter(arg) | ||
? arg instanceof Array : arg | ||
: [arg]; | ||
for (var _i = 0, items_2 = items; _i < items_2.length; _i++) { | ||
var item = items_2[_i]; | ||
var index = this.indexOf(item); | ||
if (index > -1) | ||
this.splice(index, 1); | ||
} | ||
}; | ||
Array.prototype.filterExists = function () { | ||
return this.filter(function (item) { return item; }); | ||
}; | ||
Array.prototype.ofType = function (type) { | ||
return this.filter(function (item) { return item instanceof type; }); | ||
}; | ||
Array.prototype.diffs = function (target, options) { | ||
if (target.length < 1) { | ||
return this.map(function (item) { return ({ source: item }); }); | ||
} | ||
var result = []; | ||
var currTarget = [].concat(target); | ||
var _loop_3 = function (item) { | ||
var existsTargetItem = currTarget.find(function (targetItem) { | ||
if (options && options.keyProps) { | ||
return options.keyProps.every(function (keyProp) { return targetItem[keyProp] === item[keyProp]; }); | ||
} | ||
else { | ||
return Object.equal(targetItem, item); | ||
} | ||
Wait.true = function (forwarder, milliseconds, timeout) { | ||
return __awaiter(this, void 0, Promise, function () { | ||
var currMs; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
currMs = 0; | ||
_a.label = 1; | ||
case 1: | ||
if (false) {} | ||
return [4, forwarder()]; | ||
case 2: | ||
if (_a.sent()) { | ||
return [3, 4]; | ||
} | ||
return [4, this.time(milliseconds || 100)]; | ||
case 3: | ||
_a.sent(); | ||
if (timeout) { | ||
currMs += milliseconds || 100; | ||
if (currMs >= timeout) { | ||
throw new Error("Timeout"); | ||
} | ||
} | ||
return [3, 1]; | ||
case 4: return [2]; | ||
} | ||
}); | ||
}); | ||
if (!existsTargetItem) { | ||
result.push({ source: item }); | ||
} | ||
else { | ||
if (options && options.keyProps && !Object.equal(item, existsTargetItem)) { | ||
result.push({ source: item, target: existsTargetItem }); | ||
} | ||
currTarget.remove(existsTargetItem); | ||
} | ||
}; | ||
for (var _i = 0, _a = this; _i < _a.length; _i++) { | ||
var item = _a[_i]; | ||
_loop_3(item); | ||
} | ||
for (var _b = 0, currTarget_1 = currTarget; _b < currTarget_1.length; _b++) { | ||
var remainedTargetItem = currTarget_1[_b]; | ||
result.push({ target: remainedTargetItem }); | ||
} | ||
return result; | ||
}; | ||
Array.prototype.merge = function (target, options) { | ||
if (!options || !options.keyProps) { | ||
this.forEach(function (item, i) { | ||
if (options && options.replacement) { | ||
for (var _i = 0, _a = Object.keys(item); _i < _a.length; _i++) { | ||
var key = _a[_i]; | ||
delete item[key]; | ||
Wait.time = function (millisecond) { | ||
return __awaiter(this, void 0, Promise, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4, new Promise(function (resolve) { | ||
setTimeout(function () { | ||
resolve(); | ||
}, millisecond); | ||
})]; | ||
case 1: | ||
_a.sent(); | ||
return [2]; | ||
} | ||
} | ||
Object.assign(item, target[i]); | ||
}); | ||
}); | ||
if (target.length > this.length) { | ||
for (var _i = 0, _a = target.splice(this.length); _i < _a.length; _i++) { | ||
var targetItem = _a[_i]; | ||
this.push(targetItem); | ||
} | ||
} | ||
} | ||
else { | ||
var _loop_4 = function (targetItem) { | ||
var item = this_2.single(function (sourceItem) { return options.keyProps.every(function (keyProp) { return sourceItem[keyProp] === targetItem[keyProp]; }); }); | ||
if (item) { | ||
if (options && options.replacement) { | ||
for (var _i = 0, _a = Object.keys(item); _i < _a.length; _i++) { | ||
var key = _a[_i]; | ||
delete item[key]; | ||
} | ||
} | ||
Object.assign(item, targetItem); | ||
} | ||
else { | ||
this_2.push(targetItem); | ||
} | ||
}; | ||
var this_2 = this; | ||
for (var _b = 0, target_1 = target; _b < target_1.length; _b++) { | ||
var targetItem = target_1[_b]; | ||
_loop_4(targetItem); | ||
} | ||
} | ||
}; | ||
}; | ||
return Wait; | ||
}()); | ||
exports.Wait = Wait; | ||
//# sourceMappingURL=module.js.map | ||
/***/ }), | ||
/* 14 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
function __export(m) { | ||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; | ||
} | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__webpack_require__(13); | ||
__webpack_require__(7); | ||
__export(__webpack_require__(7)); | ||
__export(__webpack_require__(4)); | ||
__export(__webpack_require__(2)); | ||
__export(__webpack_require__(12)); | ||
__export(__webpack_require__(1)); | ||
__export(__webpack_require__(0)); | ||
__export(__webpack_require__(3)); | ||
__export(__webpack_require__(11)); | ||
__export(__webpack_require__(5)); | ||
__export(__webpack_require__(6)); | ||
__export(__webpack_require__(10)); | ||
__export(__webpack_require__(9)); | ||
__export(__webpack_require__(8)); | ||
//# sourceMappingURL=module.js.map | ||
/***/ }) | ||
@@ -1619,0 +1663,0 @@ /******/ ]); |
{ | ||
"name": "@simplism/core", | ||
"version": "7.1.14", | ||
"version": "10.0.3", | ||
"description": "Simplism Core Package", | ||
@@ -5,0 +5,0 @@ "repository": "github:kslhunter/simplism", |
@@ -1,22 +0,18 @@ | ||
import "./extensions/ArrayExtensions"; | ||
import "./extensions/ObjectConstructorExtensions"; | ||
import "./extension/ArrayExt"; | ||
import "./extension/ObjectConstructorExt"; | ||
export * from "./extensions/ObjectConstructorExtensions"; | ||
export * from "./extension/ObjectConstructorExt"; | ||
export * from "./exceptions/Exception"; | ||
export * from "./exceptions/InvalidArgumentsException"; | ||
export * from "./exceptions/NotImplementedException"; | ||
export * from "./types"; | ||
export * from "./types/DateOnly"; | ||
export * from "./types/DateTime"; | ||
export * from "./types/Time"; | ||
export * from "./types/Type"; | ||
export * from "./types/Uuid"; | ||
export * from "./utils/JsonConvert"; | ||
export * from "./utils/LambdaParser"; | ||
export * from "./utils/Logger"; | ||
export * from "./utils/Wait"; | ||
export type Diff<T extends string, U extends string> = ({[P in T]: P } & {[P in U]: never } & { [x: string]: never })[T]; | ||
export type Omit<T, K extends keyof T> = Pick<T, Diff<keyof T, K>>; | ||
export * from "./error/ArgumentError"; | ||
export * from "./type/DateOnly"; | ||
export * from "./type/DateTime"; | ||
export * from "./type/Time"; | ||
export * from "./type/Type"; | ||
export * from "./type/Uuid"; | ||
export * from "./util/JsonConvert"; | ||
export * from "./util/LambdaParser"; | ||
export * from "./util/Logger"; | ||
export * from "./util/optional"; | ||
export * from "./util/Wait"; |
{ | ||
"extends": "../../tsconfig.json", | ||
"extends": "../tsconfig.json", | ||
"compilerOptions": { | ||
"lib": [ | ||
"es2017", | ||
"dom" | ||
"es2017" | ||
], | ||
"outDir": "dist" | ||
"outDir": "./dist", | ||
"baseUrl": "." | ||
}, | ||
@@ -10,0 +10,0 @@ "files": [ |
{ | ||
"extends": "../../tslint.json" | ||
} | ||
"extends": "../tslint.json", | ||
"rules": { | ||
"no-import-side-effect": [ | ||
true, | ||
{ | ||
"ignore-module": "ArrayExt$|ObjectConstructorExt$" | ||
} | ||
] | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
224309
3177
1