@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.
Files changed (61) hide show
  1. package/dist/cjs/browser/index.js +129 -0
  2. package/dist/cjs/browser/index.js.map +1 -0
  3. package/dist/cjs/index.js +4 -3
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/type-code.js +18 -0
  6. package/dist/cjs/type-code.js.map +1 -0
  7. package/dist/cjs/type.js +212 -12
  8. package/dist/cjs/type.js.map +1 -1
  9. package/dist/cjs/utilities.js +1 -127
  10. package/dist/cjs/utilities.js.map +1 -1
  11. package/dist/esm/browser/index.js +122 -0
  12. package/dist/esm/browser/index.js.map +1 -0
  13. package/dist/esm/index.js +2 -1
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/type-code.js +16 -0
  16. package/dist/esm/type-code.js.map +1 -0
  17. package/dist/esm/type.js +209 -12
  18. package/dist/esm/type.js.map +1 -1
  19. package/dist/esm/utilities.js +1 -122
  20. package/dist/esm/utilities.js.map +1 -1
  21. package/dist/types/browser/index.d.ts +7 -0
  22. package/dist/types/browser/index.d.ts.map +1 -0
  23. package/dist/types/index.d.ts +2 -1
  24. package/dist/types/index.d.ts.map +1 -1
  25. package/dist/types/patch.d.ts +3 -3
  26. package/dist/types/patch.d.ts.map +1 -1
  27. package/dist/types/type-code.d.ts +15 -0
  28. package/dist/types/type-code.d.ts.map +1 -0
  29. package/dist/types/type.d.ts +45 -11
  30. package/dist/types/type.d.ts.map +1 -1
  31. package/dist/types/types.d.ts +1 -2
  32. package/dist/types/types.d.ts.map +1 -1
  33. package/dist/types/utilities.d.ts +1 -6
  34. package/dist/types/utilities.d.ts.map +1 -1
  35. package/dist/web/browser/index.js +123 -0
  36. package/dist/web/browser/index.js.map +1 -0
  37. package/dist/web/index.js +2 -1
  38. package/dist/web/index.js.map +1 -1
  39. package/dist/web/type-code.js +16 -0
  40. package/dist/web/type-code.js.map +1 -0
  41. package/dist/web/type.js +210 -12
  42. package/dist/web/type.js.map +1 -1
  43. package/dist/web/utilities.js +1 -122
  44. package/dist/web/utilities.js.map +1 -1
  45. package/package.json +1 -4
  46. package/src/browser/index.ts +172 -0
  47. package/src/index.ts +15 -13
  48. package/src/patch.ts +3 -3
  49. package/src/type-code.ts +16 -0
  50. package/src/type.ts +370 -17
  51. package/src/types.ts +1 -5
  52. package/src/utilities.ts +2 -165
  53. package/dist/cjs/remote-data.js +0 -115
  54. package/dist/cjs/remote-data.js.map +0 -1
  55. package/dist/esm/remote-data.js +0 -112
  56. package/dist/esm/remote-data.js.map +0 -1
  57. package/dist/types/remote-data.d.ts +0 -32
  58. package/dist/types/remote-data.d.ts.map +0 -1
  59. package/dist/web/remote-data.js +0 -112
  60. package/dist/web/remote-data.js.map +0 -1
  61. 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.RemoteData = exports.Lazy = exports.AsyncPoolExecutor = exports.Stopwatch = exports.TimeSpan = exports.Timer = exports.Order = exports.KeyValuePair = exports.Type = void 0;
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,6CAA2B;AAC3B,qCAA4C;AAAnC,gHAAA,OAAO,OAAQ;AAGxB,iDAA+B;AAC/B,8CAA4B;AAC5B,4CAA0B;AAG1B,yDAA8D;AAArD,kIAAA,OAAO,OAAgB;AAChC,uCAA8C;AAArC,kHAAA,OAAO,OAAS;AAGzB,uCAA8C;AAArC,kHAAA,OAAO,OAAS;AACzB,6CAAoD;AAA3C,wHAAA,OAAO,OAAY;AAC5B,+CAAsD;AAA7C,0HAAA,OAAO,OAAa;AAC7B,mEAAwE;AAA/D,4IAAA,OAAO,OAAqB;AAGrC,qCAA4C;AAAnC,gHAAA,OAAO,OAAQ;AACxB,mDAAyD;AAAhD,6HAAA,OAAO,OAAc;AAC9B,qCAAkD;AAAzC,gHAAA,OAAO,OAAQ;AAAE,+FAAA,IAAI,OAAA;AAG9B,2EAA+E;AAAtE,mJAAA,OAAO,OAAwB;AAIxC,6CAA2B;AAE3B,yDAAuC"}
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
- var Type;
4
- (function (Type) {
5
- Type["Undefined"] = "undefined";
6
- Type["Number"] = "number";
7
- Type["String"] = "string";
8
- Type["Boolean"] = "boolean";
9
- Type["Object"] = "object";
10
- Type["Function"] = "function";
11
- Type["Symbol"] = "symbol";
12
- Type["BigInt"] = "bigint";
13
- Type["Null"] = "null";
14
- })(Type || (Type = {}));
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
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":";;AAKA,IAAK,IAUJ;AAVD,WAAK,IAAI;IACL,+BAAuB,CAAA;IACvB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;IACjB,6BAAqB,CAAA;IACrB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;AACjB,CAAC,EAVI,IAAI,KAAJ,IAAI,QAUR;AAED,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":";;;;;AAAA,kEAAsC;AAGtC,MAAqB,IAAI;IAgCrB,YACI,IAAY,EACZ,cAA0C,EAC1C,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IA4BM,MAAM,CAAC,EAAE,CAAI,MAA0B;QAE1C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,IAAe,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAoB,CAAC;QAE3D,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;QAG7B,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,YAAY,CAAI,MAAM,EAAE,SAAS,EAAE,MAAkB,CAAC,CAAC;QACvE,CAAC;QAGD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,gBAAgB,CAAI,MAAmC,CAAC,CAAC;QACzE,CAAC;QAGD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,KAAgB,CAAC;QACjC,CAAC;QAGD,OAAO,IAAI,CAAC,cAAc,CAAI,MAAgB,CAAC,CAAC;IACpD,CAAC;IAaO,MAAM,CAAC,gBAAgB,CAAI,EAA6B;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,aAAa,EAAE,CAAC;YAEhB,OAAO,IAAI,CAAC,YAAY,CACpB,EAAE,EACF,EAAoB,EACpB,sBAAQ,CAAC,MAAM,EACf,EAAE,CAAC,IAAI,IAAI,gBAAgB,CAC9B,CAAC;QACN,CAAC;QAGD,OAAO,IAAI,CAAC,QAAmB,CAAC;IACpC,CAAC;IAKO,MAAM,CAAC,cAAc,CAAI,GAAW;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAA4C,CAAC;QACpF,MAAM,IAAI,GAAG,KAAK,EAAE,WAAyC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC;QAEpC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAM,MAAkB,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,MAAiB,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAI,IAAI,EAAE,IAAI,EAAE,sBAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAUO,MAAM,CAAC,kBAAkB,CAAC,EAAY;QAE1C,IAAI,CAAC;YACD,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAElE,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAGtD,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;IACxF,CAAC;IAMD,IAAW,WAAW;QAClB,OAAO,CACH,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,MAAM;YACjC,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,MAAM;YACjC,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,OAAO;YAClC,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,MAAM;YACjC,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,MAAM,CACpC,CAAC;IACN,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,SAAS,CAAC;IACnF,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,KAAK;YACnC,IAAI,CAAC,cAAc,KAAM,KAAmC,CAAC;IACrE,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,QAAQ,KAAK,sBAAQ,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,IAAW,QAAQ;QACf,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAMD,IAAW,QAAQ;QACf,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QAE3C,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACnD,OAAO,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1D,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,WAA0B,CAAC;QAC1D,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAEM,mBAAmB;QACtB,MAAM,KAAK,GAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAqB,IAAI,CAAC,QAAQ,CAAC;QAE9C,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,cAAc,CAAC,MAAY;QAC9B,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAEjE,IAAI,KAAK,GAAkB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;QACzD,OAAO,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,cAAc;gBAAE,OAAO,IAAI,CAAC;YAC7D,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAkB,CAAC;QAC1D,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,MAAY;QAChC,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY,CAAC,MAAY;QAC5B,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAOM,cAAc;QACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa;YAC5B,OAAO,MAAM,CAAC,wBAAwB,CAClC,IAAI,CAAC,cAAe,CAAC,SAAS,EAAE,CAAC,CACpC,EAAE,KAAK,KAAK,UAAU,CAC1B,CACV,CAAC;IACN,CAAC;IAEM,gBAAgB;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa;YAC5B,OAAO,MAAM,CAAC,wBAAwB,CAClC,IAAI,CAAC,cAAe,CAAC,SAAS,EAAE,CAAC,CACpC,EAAE,KAAK,KAAK,UAAU,CAC1B,CACV,CAAC;IACN,CAAC;IAEM,cAAc;QACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAC1C,CAAC;IACN,CAAC;IAEM,SAAS,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS;YAAE,OAAO,KAAK,CAAC;QAClD,OAAO,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;IACrE,CAAC;IAEM,WAAW,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS;YAAE,OAAO,KAAK,CAAC;QAClD,OAAO,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAEM,oBAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC;IACN,CAAC;IAOM,QAAQ;QACX,OAAO,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC;IACjC,CAAC;IAGM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;QAEpC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IAED,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3B,OAAO,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC;IAChC,CAAC;IAMO,MAAM,CAAC,YAAY,CACvB,GAAY,EACZ,cAAwC,EACxC,QAAkB,EAClB,UAAmB;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,OAAO,MAAiB,CAAC;QAErC,MAAM,IAAI,GAAG,UAAU;eAChB,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,OAAO,cAAc,KAAK,UAAU;YAC5C,CAAC,CAAC,cAAgC;YAClC,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAgB,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC;IACpB,CAAC;;AAzWuB,WAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;AAMnC,WAAM,GAAG,IAAI,CAAC,YAAY,CAAS,QAAQ,EAAE,SAAS,EAAE,sBAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnF,WAAM,GAAG,IAAI,CAAC,YAAY,CAAS,QAAQ,EAAE,SAAS,EAAE,sBAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnF,YAAO,GAAG,IAAI,CAAC,YAAY,CAAU,SAAS,EAAE,SAAS,EAAE,sBAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACxF,WAAM,GAAG,IAAI,CAAC,YAAY,CAAS,QAAQ,EAAE,SAAS,EAAE,sBAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnF,WAAM,GAAG,IAAI,CAAC,YAAY,CAAS,QAAQ,EAAE,SAAS,EAAE,sBAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnF,SAAI,GAAG,IAAI,CAAC,YAAY,CAAO,MAAM,EAAE,SAAS,EAAE,sBAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzE,cAAS,GAAG,IAAI,CAAC,YAAY,CAAY,WAAW,EAAE,SAAS,EAAE,sBAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAClG,WAAM,GAAG,IAAI,CAAC,YAAY,CAAS,MAAM,EAAE,MAAM,EAAE,sBAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9E,aAAQ,GAAG,IAAI,CAAC,YAAY,CAAW,QAAQ,EAAE,QAAQ,EAAE,sBAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC1F,UAAK,GAAG,IAAI,CAAC,YAAY,CAAY,KAAK,EAAE,KAAK,EAAE,sBAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;kBArBlF,IAAI"}
@@ -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 value === null ? type_js_1.default.Null : type_js_1.default[typeof value];
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":"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"}
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"}