@develia/commons 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/browser/index.js +129 -0
- package/dist/cjs/browser/index.js.map +1 -0
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/type-code.js +18 -0
- package/dist/cjs/type-code.js.map +1 -0
- package/dist/cjs/type.js +212 -12
- package/dist/cjs/type.js.map +1 -1
- package/dist/cjs/utilities.js +1 -127
- package/dist/cjs/utilities.js.map +1 -1
- package/dist/esm/browser/index.js +122 -0
- package/dist/esm/browser/index.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/type-code.js +16 -0
- package/dist/esm/type-code.js.map +1 -0
- package/dist/esm/type.js +209 -12
- package/dist/esm/type.js.map +1 -1
- package/dist/esm/utilities.js +1 -122
- package/dist/esm/utilities.js.map +1 -1
- package/dist/types/browser/index.d.ts +7 -0
- package/dist/types/browser/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/patch.d.ts +3 -3
- package/dist/types/patch.d.ts.map +1 -1
- package/dist/types/type-code.d.ts +15 -0
- package/dist/types/type-code.d.ts.map +1 -0
- package/dist/types/type.d.ts +45 -11
- package/dist/types/type.d.ts.map +1 -1
- package/dist/types/types.d.ts +1 -2
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utilities.d.ts +1 -6
- package/dist/types/utilities.d.ts.map +1 -1
- package/dist/web/browser/index.js +123 -0
- package/dist/web/browser/index.js.map +1 -0
- package/dist/web/index.js +2 -1
- package/dist/web/index.js.map +1 -1
- package/dist/web/type-code.js +16 -0
- package/dist/web/type-code.js.map +1 -0
- package/dist/web/type.js +210 -12
- package/dist/web/type.js.map +1 -1
- package/dist/web/utilities.js +1 -122
- package/dist/web/utilities.js.map +1 -1
- package/package.json +1 -4
- package/src/browser/index.ts +172 -0
- package/src/index.ts +15 -13
- package/src/patch.ts +3 -3
- package/src/type-code.ts +16 -0
- package/src/type.ts +370 -17
- package/src/types.ts +1 -5
- package/src/utilities.ts +2 -165
- package/dist/cjs/remote-data.js +0 -115
- package/dist/cjs/remote-data.js.map +0 -1
- package/dist/esm/remote-data.js +0 -112
- package/dist/esm/remote-data.js.map +0 -1
- package/dist/types/remote-data.d.ts +0 -32
- package/dist/types/remote-data.d.ts.map +0 -1
- package/dist/web/remote-data.js +0 -112
- package/dist/web/remote-data.js.map +0 -1
- package/src/remote-data.ts +0 -149
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.submitForm = submitForm;
|
|
4
|
+
exports.formToObject = formToObject;
|
|
5
|
+
exports.objectToFormData = objectToFormData;
|
|
6
|
+
exports.ajaxSubmission = ajaxSubmission;
|
|
7
|
+
exports.ajaxSubmit = ajaxSubmit;
|
|
8
|
+
function submitForm(url, data, method = 'POST', target) {
|
|
9
|
+
const form = document.createElement('form');
|
|
10
|
+
form.method = method.toUpperCase();
|
|
11
|
+
form.action = url;
|
|
12
|
+
form.style.display = 'none';
|
|
13
|
+
if (target) {
|
|
14
|
+
form.target = target;
|
|
15
|
+
}
|
|
16
|
+
const appendInputs = (keyPrefix, value) => {
|
|
17
|
+
if (Array.isArray(value)) {
|
|
18
|
+
value.forEach(val => {
|
|
19
|
+
appendInputs(`${keyPrefix}[]`, val);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
else if (typeof value === 'object' && value !== null) {
|
|
23
|
+
for (const subKey in value) {
|
|
24
|
+
if (value.hasOwnProperty(subKey)) {
|
|
25
|
+
appendInputs(`${keyPrefix}[${subKey}]`, value[subKey]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const input = document.createElement('input');
|
|
31
|
+
input.type = 'hidden';
|
|
32
|
+
input.name = keyPrefix;
|
|
33
|
+
input.value = String(value);
|
|
34
|
+
form.appendChild(input);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
for (const key in data) {
|
|
38
|
+
if (data.hasOwnProperty(key)) {
|
|
39
|
+
appendInputs(key, data[key]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
document.body.appendChild(form);
|
|
43
|
+
form.submit();
|
|
44
|
+
}
|
|
45
|
+
function formToObject(form) {
|
|
46
|
+
const fd = new FormData(form);
|
|
47
|
+
const out = {};
|
|
48
|
+
for (const [key, value] of fd.entries()) {
|
|
49
|
+
if (key in out) {
|
|
50
|
+
const current = out[key];
|
|
51
|
+
if (Array.isArray(current)) {
|
|
52
|
+
current.push(value);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
out[key] = [current, value];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
out[key] = value;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
function _objectToFormData(data, formData, parentKey = '') {
|
|
65
|
+
for (const key in data) {
|
|
66
|
+
if (data.hasOwnProperty(key)) {
|
|
67
|
+
const value = data[key];
|
|
68
|
+
if (value instanceof Date) {
|
|
69
|
+
formData.append(parentKey ? `${parentKey}[${key}]` : key, value.toISOString());
|
|
70
|
+
}
|
|
71
|
+
else if (value instanceof File) {
|
|
72
|
+
formData.append(parentKey ? `${parentKey}[${key}]` : key, value);
|
|
73
|
+
}
|
|
74
|
+
else if (typeof value === 'object' && !Array.isArray(value)) {
|
|
75
|
+
_objectToFormData(value, formData, parentKey ? `${parentKey}[${key}]` : key);
|
|
76
|
+
}
|
|
77
|
+
else if (Array.isArray(value)) {
|
|
78
|
+
value.forEach((item, index) => {
|
|
79
|
+
const arrayKey = `${parentKey ? `${parentKey}[${key}]` : key}[${index}]`;
|
|
80
|
+
if (typeof item === 'object' && !Array.isArray(item)) {
|
|
81
|
+
_objectToFormData(item, formData, arrayKey);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
formData.append(arrayKey, item);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
formData.append(parentKey ? `${parentKey}[${key}]` : key, value);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return formData;
|
|
94
|
+
}
|
|
95
|
+
function objectToFormData(data) {
|
|
96
|
+
let formData = new FormData();
|
|
97
|
+
return _objectToFormData(data, formData);
|
|
98
|
+
}
|
|
99
|
+
function ajaxSubmission(selectorOrElement, onSuccess = undefined, onFailure = undefined) {
|
|
100
|
+
const form = typeof selectorOrElement === 'string'
|
|
101
|
+
? document.querySelector(selectorOrElement)
|
|
102
|
+
: selectorOrElement;
|
|
103
|
+
if (!(form instanceof HTMLFormElement)) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
form.addEventListener('submit', async (event) => {
|
|
107
|
+
event.preventDefault();
|
|
108
|
+
let promise = ajaxSubmit(form);
|
|
109
|
+
if (promise) {
|
|
110
|
+
if (onSuccess)
|
|
111
|
+
promise = promise.then(onSuccess);
|
|
112
|
+
if (onFailure)
|
|
113
|
+
promise.catch(onFailure);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
async function ajaxSubmit(selectorOrElement) {
|
|
118
|
+
const form = typeof selectorOrElement === 'string'
|
|
119
|
+
? document.querySelector(selectorOrElement)
|
|
120
|
+
: selectorOrElement;
|
|
121
|
+
if (!(form instanceof HTMLFormElement)) {
|
|
122
|
+
throw new Error("Invalid element.");
|
|
123
|
+
}
|
|
124
|
+
return await fetch(form.action, {
|
|
125
|
+
method: form.method,
|
|
126
|
+
body: new FormData(form),
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -17,10 +17,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.CleanURLSearchParams = exports.From = exports.from = exports.
|
|
20
|
+
exports.CleanURLSearchParams = exports.From = exports.from = exports.Lazy = exports.AsyncPoolExecutor = exports.Stopwatch = exports.TimeSpan = exports.Timer = exports.Order = exports.KeyValuePair = exports.TypeCode = exports.Type = void 0;
|
|
21
21
|
__exportStar(require("./types.js"), exports);
|
|
22
22
|
var type_js_1 = require("./type.js");
|
|
23
23
|
Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return __importDefault(type_js_1).default; } });
|
|
24
|
+
var type_code_js_1 = require("./type-code.js");
|
|
25
|
+
Object.defineProperty(exports, "TypeCode", { enumerable: true, get: function () { return __importDefault(type_code_js_1).default; } });
|
|
24
26
|
__exportStar(require("./utilities.js"), exports);
|
|
25
27
|
__exportStar(require("./string.js"), exports);
|
|
26
28
|
__exportStar(require("./math.js"), exports);
|
|
@@ -38,13 +40,12 @@ var async_pool_executor_js_1 = require("./async-pool-executor.js");
|
|
|
38
40
|
Object.defineProperty(exports, "AsyncPoolExecutor", { enumerable: true, get: function () { return __importDefault(async_pool_executor_js_1).default; } });
|
|
39
41
|
var lazy_js_1 = require("./lazy.js");
|
|
40
42
|
Object.defineProperty(exports, "Lazy", { enumerable: true, get: function () { return __importDefault(lazy_js_1).default; } });
|
|
41
|
-
var remote_data_js_1 = require("./remote-data.js");
|
|
42
|
-
Object.defineProperty(exports, "RemoteData", { enumerable: true, get: function () { return __importDefault(remote_data_js_1).default; } });
|
|
43
43
|
var from_js_1 = require("./from.js");
|
|
44
44
|
Object.defineProperty(exports, "from", { enumerable: true, get: function () { return __importDefault(from_js_1).default; } });
|
|
45
45
|
Object.defineProperty(exports, "From", { enumerable: true, get: function () { return from_js_1.From; } });
|
|
46
46
|
var clean_url_search_params_js_1 = require("./clean-url-search-params.js");
|
|
47
47
|
Object.defineProperty(exports, "CleanURLSearchParams", { enumerable: true, get: function () { return __importDefault(clean_url_search_params_js_1).default; } });
|
|
48
|
+
__exportStar(require("./browser/index.js"), exports);
|
|
48
49
|
__exportStar(require("./array.js"), exports);
|
|
49
50
|
__exportStar(require("./collections/index.js"), exports);
|
|
50
51
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,6CAA2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,6CAA2B;AAC3B,qCAA0C;AAAlC,gHAAA,OAAO,OAAQ;AACvB,+CAAmD;AAA3C,yHAAA,OAAO,OAAY;AAG3B,iDAA+B;AAC/B,8CAA4B;AAC5B,4CAA0B;AAG1B,yDAA4D;AAApD,kIAAA,OAAO,OAAgB;AAC/B,uCAA4C;AAApC,kHAAA,OAAO,OAAS;AAGxB,uCAA4C;AAApC,kHAAA,OAAO,OAAS;AACxB,6CAAkD;AAA1C,wHAAA,OAAO,OAAY;AAC3B,+CAAoD;AAA5C,0HAAA,OAAO,OAAa;AAC5B,mEAAsE;AAA9D,4IAAA,OAAO,OAAqB;AAGpC,qCAA0C;AAAlC,gHAAA,OAAO,OAAQ;AACvB,qCAAgD;AAAxC,gHAAA,OAAO,OAAQ;AAAE,+FAAA,IAAI,OAAA;AAG7B,2EAA6E;AAArE,mJAAA,OAAO,OAAwB;AAEvC,qDAAmC;AAInC,6CAA2B;AAE3B,yDAAuC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var TypeCode;
|
|
4
|
+
(function (TypeCode) {
|
|
5
|
+
TypeCode["String"] = "string";
|
|
6
|
+
TypeCode["Number"] = "number";
|
|
7
|
+
TypeCode["Boolean"] = "boolean";
|
|
8
|
+
TypeCode["Symbol"] = "symbol";
|
|
9
|
+
TypeCode["BigInt"] = "bigint";
|
|
10
|
+
TypeCode["Null"] = "null";
|
|
11
|
+
TypeCode["Undefined"] = "undefined";
|
|
12
|
+
TypeCode["Object"] = "object";
|
|
13
|
+
TypeCode["Function"] = "function";
|
|
14
|
+
TypeCode["Array"] = "array";
|
|
15
|
+
TypeCode["Unknown"] = "unknown";
|
|
16
|
+
})(TypeCode || (TypeCode = {}));
|
|
17
|
+
exports.default = TypeCode;
|
|
18
|
+
//# sourceMappingURL=type-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-code.js","sourceRoot":"","sources":["../../src/type-code.ts"],"names":[],"mappings":";;AAAA,IAAK,QAYJ;AAZD,WAAK,QAAQ;IACT,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,+BAAqB,CAAA;IACrB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,yBAAkB,CAAA;IAClB,mCAAuB,CAAA;IACvB,6BAAoB,CAAA;IACpB,iCAAsB,CAAA;IACtB,2BAAmB,CAAA;IACnB,+BAAqB,CAAA;AACzB,CAAC,EAZI,QAAQ,KAAR,QAAQ,QAYZ;AAGD,kBAAe,QAAQ,CAAC"}
|
package/dist/cjs/type.js
CHANGED
|
@@ -1,16 +1,216 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
const type_code_js_1 = __importDefault(require("./type-code.js"));
|
|
7
|
+
class Type {
|
|
8
|
+
constructor(name, constructorRef, typeCode) {
|
|
9
|
+
this.name = name;
|
|
10
|
+
this.constructorRef = constructorRef;
|
|
11
|
+
this.typeCode = typeCode;
|
|
12
|
+
}
|
|
13
|
+
static of(target) {
|
|
14
|
+
if (target === null)
|
|
15
|
+
return Type.Null;
|
|
16
|
+
if (target === undefined)
|
|
17
|
+
return Type.Undefined;
|
|
18
|
+
const jsType = typeof target;
|
|
19
|
+
if (jsType !== 'object' && jsType !== 'function') {
|
|
20
|
+
return this._getOrCreate(jsType, undefined, jsType);
|
|
21
|
+
}
|
|
22
|
+
if (jsType === 'function') {
|
|
23
|
+
return this._resolveFunction(target);
|
|
24
|
+
}
|
|
25
|
+
if (Array.isArray(target)) {
|
|
26
|
+
return Type.Array;
|
|
27
|
+
}
|
|
28
|
+
return this._resolveObject(target);
|
|
29
|
+
}
|
|
30
|
+
static _resolveFunction(fn) {
|
|
31
|
+
const isConstructor = this._isConstructorLike(fn);
|
|
32
|
+
if (isConstructor) {
|
|
33
|
+
return this._getOrCreate(fn, fn, type_code_js_1.default.Object, fn.name || 'AnonymousClass');
|
|
34
|
+
}
|
|
35
|
+
return Type.Function;
|
|
36
|
+
}
|
|
37
|
+
static _resolveObject(obj) {
|
|
38
|
+
const proto = Object.getPrototypeOf(obj);
|
|
39
|
+
const ctor = proto?.constructor;
|
|
40
|
+
const name = ctor?.name || 'Object';
|
|
41
|
+
if (!ctor || ctor === Object) {
|
|
42
|
+
return Type.Object;
|
|
43
|
+
}
|
|
44
|
+
return this._getOrCreate(ctor, ctor, type_code_js_1.default.Object, name);
|
|
45
|
+
}
|
|
46
|
+
static _isConstructorLike(fn) {
|
|
47
|
+
try {
|
|
48
|
+
if (fn.toString().startsWith('class '))
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
}
|
|
53
|
+
if (fn === Object || fn === Function || fn === Array)
|
|
54
|
+
return true;
|
|
55
|
+
const proto = fn.prototype;
|
|
56
|
+
if (!proto || typeof proto !== 'object')
|
|
57
|
+
return false;
|
|
58
|
+
const ownKeys = Object.getOwnPropertyNames(proto);
|
|
59
|
+
return ownKeys.length > 1 || (ownKeys.length === 1 && ownKeys[0] !== 'constructor');
|
|
60
|
+
}
|
|
61
|
+
get isPrimitive() {
|
|
62
|
+
return (this.typeCode === type_code_js_1.default.String ||
|
|
63
|
+
this.typeCode === type_code_js_1.default.Number ||
|
|
64
|
+
this.typeCode === type_code_js_1.default.Boolean ||
|
|
65
|
+
this.typeCode === type_code_js_1.default.Symbol ||
|
|
66
|
+
this.typeCode === type_code_js_1.default.BigInt);
|
|
67
|
+
}
|
|
68
|
+
get isNullish() {
|
|
69
|
+
return this.typeCode === type_code_js_1.default.Null || this.typeCode === type_code_js_1.default.Undefined;
|
|
70
|
+
}
|
|
71
|
+
get isReferenceType() {
|
|
72
|
+
return !this.isPrimitive && !this.isNullish;
|
|
73
|
+
}
|
|
74
|
+
get isArray() {
|
|
75
|
+
return this.typeCode === type_code_js_1.default.Array ||
|
|
76
|
+
this.constructorRef === Array;
|
|
77
|
+
}
|
|
78
|
+
get isFunction() {
|
|
79
|
+
return this.typeCode === type_code_js_1.default.Function;
|
|
80
|
+
}
|
|
81
|
+
get isValueType() {
|
|
82
|
+
return this.isPrimitive;
|
|
83
|
+
}
|
|
84
|
+
get isClass() {
|
|
85
|
+
if (!this.constructorRef)
|
|
86
|
+
return false;
|
|
87
|
+
try {
|
|
88
|
+
return this.constructorRef.toString().startsWith('class ');
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
get fullName() {
|
|
95
|
+
if (this.isPrimitive || this.isNullish) {
|
|
96
|
+
return `System.${this.name.charAt(0).toUpperCase()}${this.name.slice(1)}`;
|
|
97
|
+
}
|
|
98
|
+
return this.name;
|
|
99
|
+
}
|
|
100
|
+
get baseType() {
|
|
101
|
+
if (!this.constructorRef)
|
|
102
|
+
return undefined;
|
|
103
|
+
const parentProto = Object.getPrototypeOf(this.constructorRef.prototype);
|
|
104
|
+
if (!parentProto || parentProto === Object.prototype) {
|
|
105
|
+
return this === Type.Object ? undefined : Type.Object;
|
|
106
|
+
}
|
|
107
|
+
const parentCtor = parentProto.constructor;
|
|
108
|
+
return Type.of(parentCtor);
|
|
109
|
+
}
|
|
110
|
+
getInheritanceChain() {
|
|
111
|
+
const chain = [this];
|
|
112
|
+
let current = this.baseType;
|
|
113
|
+
while (current && !chain.includes(current)) {
|
|
114
|
+
chain.push(current);
|
|
115
|
+
current = current.baseType;
|
|
116
|
+
}
|
|
117
|
+
return Object.freeze(chain);
|
|
118
|
+
}
|
|
119
|
+
isAssignableTo(target) {
|
|
120
|
+
if (this === target)
|
|
121
|
+
return true;
|
|
122
|
+
if (!this.constructorRef || !target.constructorRef)
|
|
123
|
+
return false;
|
|
124
|
+
let proto = this.constructorRef.prototype;
|
|
125
|
+
while (proto) {
|
|
126
|
+
if (proto.constructor === target.constructorRef)
|
|
127
|
+
return true;
|
|
128
|
+
proto = Object.getPrototypeOf(proto);
|
|
129
|
+
}
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
isAssignableFrom(source) {
|
|
133
|
+
return source.isAssignableTo(this);
|
|
134
|
+
}
|
|
135
|
+
isSubclassOf(parent) {
|
|
136
|
+
if (this === parent)
|
|
137
|
+
return false;
|
|
138
|
+
return this.isAssignableTo(parent);
|
|
139
|
+
}
|
|
140
|
+
getMethodNames() {
|
|
141
|
+
if (!this.constructorRef?.prototype)
|
|
142
|
+
return Object.freeze([]);
|
|
143
|
+
return Object.freeze(Object.getOwnPropertyNames(this.constructorRef.prototype)
|
|
144
|
+
.filter(n => n !== 'constructor' &&
|
|
145
|
+
typeof Object.getOwnPropertyDescriptor(this.constructorRef.prototype, n)?.value === 'function'));
|
|
146
|
+
}
|
|
147
|
+
getPropertyNames() {
|
|
148
|
+
if (!this.constructorRef?.prototype)
|
|
149
|
+
return Object.freeze([]);
|
|
150
|
+
return Object.freeze(Object.getOwnPropertyNames(this.constructorRef.prototype)
|
|
151
|
+
.filter(n => n !== 'constructor' &&
|
|
152
|
+
typeof Object.getOwnPropertyDescriptor(this.constructorRef.prototype, n)?.value !== 'function'));
|
|
153
|
+
}
|
|
154
|
+
getMemberNames() {
|
|
155
|
+
if (!this.constructorRef?.prototype)
|
|
156
|
+
return Object.freeze([]);
|
|
157
|
+
return Object.freeze(Object.getOwnPropertyNames(this.constructorRef.prototype)
|
|
158
|
+
.filter(n => n !== 'constructor'));
|
|
159
|
+
}
|
|
160
|
+
hasMethod(name) {
|
|
161
|
+
if (!this.constructorRef?.prototype)
|
|
162
|
+
return false;
|
|
163
|
+
return typeof this.constructorRef.prototype[name] === 'function';
|
|
164
|
+
}
|
|
165
|
+
hasProperty(name) {
|
|
166
|
+
if (!this.constructorRef?.prototype)
|
|
167
|
+
return false;
|
|
168
|
+
return name in this.constructorRef.prototype && !this.hasMethod(name);
|
|
169
|
+
}
|
|
170
|
+
getStaticMemberNames() {
|
|
171
|
+
if (!this.constructorRef)
|
|
172
|
+
return Object.freeze([]);
|
|
173
|
+
const skip = new Set(['prototype', 'length', 'name', 'caller', 'arguments']);
|
|
174
|
+
return Object.freeze(Object.getOwnPropertyNames(this.constructorRef)
|
|
175
|
+
.filter(n => !skip.has(n)));
|
|
176
|
+
}
|
|
177
|
+
toString() {
|
|
178
|
+
return `Type [${this.name}]`;
|
|
179
|
+
}
|
|
180
|
+
[Symbol.toPrimitive](hint) {
|
|
181
|
+
let hash = 0;
|
|
182
|
+
for (let i = 0; i < this.name.length; i++) {
|
|
183
|
+
hash = ((hash << 5) - hash + this.name.charCodeAt(i)) | 0;
|
|
184
|
+
}
|
|
185
|
+
return hint === 'number' ? hash : this.toString();
|
|
186
|
+
}
|
|
187
|
+
get [Symbol.toStringTag]() {
|
|
188
|
+
return `Type<${this.name}>`;
|
|
189
|
+
}
|
|
190
|
+
static _getOrCreate(key, constructorRef, typeCode, customName) {
|
|
191
|
+
const cached = this._cache.get(key);
|
|
192
|
+
if (cached)
|
|
193
|
+
return cached;
|
|
194
|
+
const name = customName
|
|
195
|
+
?? (typeof key === 'string' ? key : 'unknown');
|
|
196
|
+
const ref = typeof constructorRef === 'function'
|
|
197
|
+
? constructorRef
|
|
198
|
+
: undefined;
|
|
199
|
+
const instance = new Type(name, ref, typeCode);
|
|
200
|
+
this._cache.set(key, instance);
|
|
201
|
+
return instance;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
Type._cache = new Map();
|
|
205
|
+
Type.String = Type._getOrCreate('string', undefined, type_code_js_1.default.String, 'string');
|
|
206
|
+
Type.Number = Type._getOrCreate('number', undefined, type_code_js_1.default.Number, 'number');
|
|
207
|
+
Type.Boolean = Type._getOrCreate('boolean', undefined, type_code_js_1.default.Boolean, 'boolean');
|
|
208
|
+
Type.Symbol = Type._getOrCreate('symbol', undefined, type_code_js_1.default.Symbol, 'symbol');
|
|
209
|
+
Type.BigInt = Type._getOrCreate('bigint', undefined, type_code_js_1.default.BigInt, 'bigint');
|
|
210
|
+
Type.Null = Type._getOrCreate('null', undefined, type_code_js_1.default.Null, 'null');
|
|
211
|
+
Type.Undefined = Type._getOrCreate('undefined', undefined, type_code_js_1.default.Undefined, 'undefined');
|
|
212
|
+
Type.Object = Type._getOrCreate(Object, Object, type_code_js_1.default.Object, 'Object');
|
|
213
|
+
Type.Function = Type._getOrCreate(Function, Function, type_code_js_1.default.Function, 'Function');
|
|
214
|
+
Type.Array = Type._getOrCreate(Array, Array, type_code_js_1.default.Array, 'Array');
|
|
15
215
|
exports.default = Type;
|
|
16
216
|
//# sourceMappingURL=type.js.map
|
package/dist/cjs/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utilities.js
CHANGED
|
@@ -11,7 +11,6 @@ exports.isObject = isObject;
|
|
|
11
11
|
exports.isArray = isArray;
|
|
12
12
|
exports.isFunction = isFunction;
|
|
13
13
|
exports.deepEqual = deepEqual;
|
|
14
|
-
exports.submitForm = submitForm;
|
|
15
14
|
exports.shallowEqual = shallowEqual;
|
|
16
15
|
exports.delay = delay;
|
|
17
16
|
exports.isUndefined = isUndefined;
|
|
@@ -22,14 +21,10 @@ exports.isSymbol = isSymbol;
|
|
|
22
21
|
exports.isNullOrUndefined = isNullOrUndefined;
|
|
23
22
|
exports.isEmpty = isEmpty;
|
|
24
23
|
exports.isEmptyOrWhitespace = isEmptyOrWhitespace;
|
|
25
|
-
exports.ajaxSubmit = ajaxSubmit;
|
|
26
24
|
exports.toPairs = toPairs;
|
|
27
25
|
exports.promisify = promisify;
|
|
28
|
-
exports.ajaxSubmission = ajaxSubmission;
|
|
29
26
|
exports.deepClone = deepClone;
|
|
30
27
|
exports.getType = getType;
|
|
31
|
-
exports.formToObject = formToObject;
|
|
32
|
-
exports.objectToFormData = objectToFormData;
|
|
33
28
|
const key_value_pair_js_1 = __importDefault(require("./key-value-pair.js"));
|
|
34
29
|
const type_js_1 = __importDefault(require("./type.js"));
|
|
35
30
|
function isIterable(obj) {
|
|
@@ -86,43 +81,6 @@ function deepEqual(a, b) {
|
|
|
86
81
|
}
|
|
87
82
|
return false;
|
|
88
83
|
}
|
|
89
|
-
function submitForm(url, data, method = 'POST', target) {
|
|
90
|
-
const form = document.createElement('form');
|
|
91
|
-
form.method = method.toUpperCase();
|
|
92
|
-
form.action = url;
|
|
93
|
-
form.style.display = 'none';
|
|
94
|
-
if (target) {
|
|
95
|
-
form.target = target;
|
|
96
|
-
}
|
|
97
|
-
const appendInputs = (keyPrefix, value) => {
|
|
98
|
-
if (Array.isArray(value)) {
|
|
99
|
-
value.forEach(val => {
|
|
100
|
-
appendInputs(`${keyPrefix}[]`, val);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
else if (typeof value === 'object' && value !== null) {
|
|
104
|
-
for (const subKey in value) {
|
|
105
|
-
if (value.hasOwnProperty(subKey)) {
|
|
106
|
-
appendInputs(`${keyPrefix}[${subKey}]`, value[subKey]);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
const input = document.createElement('input');
|
|
112
|
-
input.type = 'hidden';
|
|
113
|
-
input.name = keyPrefix;
|
|
114
|
-
input.value = String(value);
|
|
115
|
-
form.appendChild(input);
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
for (const key in data) {
|
|
119
|
-
if (data.hasOwnProperty(key)) {
|
|
120
|
-
appendInputs(key, data[key]);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
document.body.appendChild(form);
|
|
124
|
-
form.submit();
|
|
125
|
-
}
|
|
126
84
|
function shallowEqual(a, b) {
|
|
127
85
|
if (a === b) {
|
|
128
86
|
return true;
|
|
@@ -177,18 +135,6 @@ function isEmptyOrWhitespace(value) {
|
|
|
177
135
|
(typeof value === 'string' && value.trim() === '') ||
|
|
178
136
|
value === null || typeof value === 'undefined';
|
|
179
137
|
}
|
|
180
|
-
async function ajaxSubmit(selectorOrElement) {
|
|
181
|
-
const form = typeof selectorOrElement === 'string'
|
|
182
|
-
? document.querySelector(selectorOrElement)
|
|
183
|
-
: selectorOrElement;
|
|
184
|
-
if (!(form instanceof HTMLFormElement)) {
|
|
185
|
-
throw new Error("Invalid element.");
|
|
186
|
-
}
|
|
187
|
-
return await fetch(form.action, {
|
|
188
|
-
method: form.method,
|
|
189
|
-
body: new FormData(form),
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
138
|
function toPairs(obj) {
|
|
193
139
|
let output = [];
|
|
194
140
|
for (const key in obj) {
|
|
@@ -212,24 +158,6 @@ function promisify(thing) {
|
|
|
212
158
|
}
|
|
213
159
|
return Promise.resolve(thing);
|
|
214
160
|
}
|
|
215
|
-
function ajaxSubmission(selectorOrElement, onSuccess = undefined, onFailure = undefined) {
|
|
216
|
-
const form = typeof selectorOrElement === 'string'
|
|
217
|
-
? document.querySelector(selectorOrElement)
|
|
218
|
-
: selectorOrElement;
|
|
219
|
-
if (!(form instanceof HTMLFormElement)) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
form.addEventListener('submit', async (event) => {
|
|
223
|
-
event.preventDefault();
|
|
224
|
-
let promise = ajaxSubmit(form);
|
|
225
|
-
if (promise) {
|
|
226
|
-
if (onSuccess)
|
|
227
|
-
promise = promise.then(onSuccess);
|
|
228
|
-
if (onFailure)
|
|
229
|
-
promise.catch(onFailure);
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
161
|
function deepClone(obj) {
|
|
234
162
|
if (obj === null || typeof obj !== 'object') {
|
|
235
163
|
return obj;
|
|
@@ -250,60 +178,6 @@ function deepClone(obj) {
|
|
|
250
178
|
return copy;
|
|
251
179
|
}
|
|
252
180
|
function getType(value) {
|
|
253
|
-
return
|
|
254
|
-
}
|
|
255
|
-
function formToObject(form) {
|
|
256
|
-
const fd = new FormData(form);
|
|
257
|
-
const out = {};
|
|
258
|
-
for (const [key, value] of fd.entries()) {
|
|
259
|
-
if (key in out) {
|
|
260
|
-
const current = out[key];
|
|
261
|
-
if (Array.isArray(current)) {
|
|
262
|
-
current.push(value);
|
|
263
|
-
}
|
|
264
|
-
else {
|
|
265
|
-
out[key] = [current, value];
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
else {
|
|
269
|
-
out[key] = value;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
return out;
|
|
273
|
-
}
|
|
274
|
-
function _objectToFormData(data, formData, parentKey = '') {
|
|
275
|
-
for (const key in data) {
|
|
276
|
-
if (data.hasOwnProperty(key)) {
|
|
277
|
-
const value = data[key];
|
|
278
|
-
if (value instanceof Date) {
|
|
279
|
-
formData.append(parentKey ? `${parentKey}[${key}]` : key, value.toISOString());
|
|
280
|
-
}
|
|
281
|
-
else if (value instanceof File) {
|
|
282
|
-
formData.append(parentKey ? `${parentKey}[${key}]` : key, value);
|
|
283
|
-
}
|
|
284
|
-
else if (typeof value === 'object' && !Array.isArray(value)) {
|
|
285
|
-
_objectToFormData(value, formData, parentKey ? `${parentKey}[${key}]` : key);
|
|
286
|
-
}
|
|
287
|
-
else if (Array.isArray(value)) {
|
|
288
|
-
value.forEach((item, index) => {
|
|
289
|
-
const arrayKey = `${parentKey ? `${parentKey}[${key}]` : key}[${index}]`;
|
|
290
|
-
if (typeof item === 'object' && !Array.isArray(item)) {
|
|
291
|
-
_objectToFormData(item, formData, arrayKey);
|
|
292
|
-
}
|
|
293
|
-
else {
|
|
294
|
-
formData.append(arrayKey, item);
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
else {
|
|
299
|
-
formData.append(parentKey ? `${parentKey}[${key}]` : key, value);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
return formData;
|
|
304
|
-
}
|
|
305
|
-
function objectToFormData(data) {
|
|
306
|
-
let formData = new FormData();
|
|
307
|
-
return _objectToFormData(data, formData);
|
|
181
|
+
return type_js_1.default.of(value);
|
|
308
182
|
}
|
|
309
183
|
//# sourceMappingURL=utilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":";;;;;AAaA,gCAEC;AAQD,4BAEC;AAQD,4BAEC;AASD,8BAEC;AAOD,4BAEC;AASD,0BAEC;AAQD,gCAEC;AAWD,8BAqCC;
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":";;;;;AAaA,gCAEC;AAQD,4BAEC;AAQD,4BAEC;AASD,8BAEC;AAOD,4BAEC;AASD,0BAEC;AAQD,gCAEC;AAWD,8BAqCC;AAsBD,oCA2BC;AASD,sBAEC;AAQD,kCAEC;AASD,8BAEC;AAQD,wBAEC;AAQD,4BAEC;AAQD,4BAEC;AAQD,8CAEC;AAQD,0BAIC;AAQD,kDAIC;AAWD,0BAQC;AAQD,8BAkBC;AAUD,8BAoBC;AASD,0BAGC;AAjWD,4EAA+C;AAE/C,wDAA6B;AAQ7B,SAAgB,UAAU,CAAC,GAAQ;IAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAC/C,CAAC;AAQD,SAAgB,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAQD,SAAgB,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AASD,SAAgB,SAAS,CAAC,KAAU;IAChC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;AACtC,CAAC;AAOD,SAAgB,QAAQ,CAAC,KAAU;IAC/B,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/E,CAAC;AASD,SAAgB,OAAO,CAAC,KAAU;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAQD,SAAgB,UAAU,CAAC,KAAU;IACjC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACvC,CAAC;AAWD,SAAgB,SAAS,CAAC,CAAM,EAAE,CAAM;IACpC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAsBD,SAAgB,YAAY,CAAC,CAAM,EAAE,CAAM;IACvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AASM,KAAK,UAAU,KAAK,CAAC,EAAU;IAClC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAQD,SAAgB,WAAW,CAAC,KAAU;IAClC,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC;AACxC,CAAC;AASD,SAAgB,SAAS,CAAC,KAAU;IAChC,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC;AACxC,CAAC;AAQD,SAAgB,MAAM,CAAC,KAAU;IAC7B,OAAO,KAAK,KAAK,IAAI,CAAC;AAC1B,CAAC;AAQD,SAAgB,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAQD,SAAgB,QAAQ,CAAC,KAAU;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAQD,SAAgB,iBAAiB,CAAC,KAAU;IACxC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;AAC1D,CAAC;AAQD,SAAgB,OAAO,CAAC,KAAU;IAC9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/C,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC;QAC3C,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;AACvD,CAAC;AAQD,SAAgB,mBAAmB,CAAC,KAAU;IAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/C,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAClD,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;AACvD,CAAC;AAWD,SAAgB,OAAO,CAAC,GAAwB;IAE5C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,2BAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAElB,CAAC;AAQD,SAAgB,SAAS,CAAI,KAAoB;IAE7C,IAAI,KAAK,YAAY,OAAO;QACxB,OAAO,KAAK,CAAC;IAGjB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAUD,SAAgB,SAAS,CAAI,GAAM;IAC/B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAU,EAAE,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAS,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,GAA8B,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IACD,OAAO,IAAS,CAAC;AACrB,CAAC;AASD,SAAgB,OAAO,CAAC,KAAU;IAE9B,OAAO,iBAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC"}
|