lakutata 2.0.68 → 2.0.70

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/helper.cjs CHANGED
@@ -46,9 +46,9 @@ const I = require("./src/lib/helpers/ObjectHash.cjs");
46
46
 
47
47
  const d = require("./src/lib/helpers/ObjectParentConstructor.cjs");
48
48
 
49
- const S = require("./src/lib/helpers/ObjectParentConstructors.cjs");
49
+ const P = require("./src/lib/helpers/ObjectParentConstructors.cjs");
50
50
 
51
- const P = require("./src/lib/helpers/ObjectPrototype.cjs");
51
+ const S = require("./src/lib/helpers/ObjectPrototype.cjs");
52
52
 
53
53
  const y = require("./src/lib/helpers/SetToArray.cjs");
54
54
 
@@ -58,9 +58,9 @@ const E = require("./src/lib/helpers/UniqueArray.cjs");
58
58
 
59
59
  const v = require("./src/lib/helpers/ObjectToMap.cjs");
60
60
 
61
- const A = require("./src/lib/helpers/IsPath.cjs");
61
+ const O = require("./src/lib/helpers/IsPath.cjs");
62
62
 
63
- const O = require("./src/lib/helpers/ConvertArrayLikeToIterable.cjs");
63
+ const A = require("./src/lib/helpers/ConvertArrayLikeToIterable.cjs");
64
64
 
65
65
  const H = require("./src/lib/helpers/ConvertArrayLikeToStream.cjs");
66
66
 
@@ -110,6 +110,8 @@ const Q = require("./src/lib/helpers/Statistics.cjs");
110
110
 
111
111
  const Y = require("./src/lib/helpers/UUID.cjs");
112
112
 
113
+ const Z = require("./src/lib/helpers/ObjectPath.cjs");
114
+
113
115
  require("./vendor/Package.5.cjs");
114
116
 
115
117
  require("fs");
@@ -226,9 +228,9 @@ exports.ObjectHash = I.ObjectHash;
226
228
 
227
229
  exports.ObjectParentConstructor = d.ObjectParentConstructor;
228
230
 
229
- exports.ObjectParentConstructors = S.ObjectParentConstructors;
231
+ exports.ObjectParentConstructors = P.ObjectParentConstructors;
230
232
 
231
- exports.ObjectPrototype = P.ObjectPrototype;
233
+ exports.ObjectPrototype = S.ObjectPrototype;
232
234
 
233
235
  exports.SetToArray = y.SetToArray;
234
236
 
@@ -240,9 +242,9 @@ exports.UniqueArray = E.UniqueArray;
240
242
 
241
243
  exports.ObjectToMap = v.ObjectToMap;
242
244
 
243
- exports.IsPath = A.IsPath;
245
+ exports.IsPath = O.IsPath;
244
246
 
245
- exports.ConvertArrayLikeToIterable = O.ConvertArrayLikeToIterable;
247
+ exports.ConvertArrayLikeToIterable = A.ConvertArrayLikeToIterable;
246
248
 
247
249
  exports.ConvertArrayLikeToStream = H.ConvertArrayLikeToStream;
248
250
 
@@ -295,3 +297,5 @@ exports.URLBuilder = J.URLBuilder;
295
297
  exports.Statistics = Q.Statistics;
296
298
 
297
299
  exports.UUID = Y.UUID;
300
+
301
+ exports.ObjectPath = Z.ObjectPath;
package/helper.d.ts CHANGED
@@ -4923,5 +4923,33 @@ declare class UUID {
4923
4923
  static version(uuid: string): number;
4924
4924
  }
4925
4925
 
4926
- export { ArrayToSet, As, ConvertArrayLikeToIterable, ConvertArrayLikeToStream, Delay, DevNull, GetObjectNestingDepth, GetObjectPropertyPaths, Glob, GraceExit, HexToIEEE754, HexToSigned, HexToUnsigned, IEEE754ToHex, IP, IPv4, IPv6, IsAbortError, IsEmptyObject, IsExists, IsGlobString, IsHtml, IsNativeFunction, IsPath, IsPromise, IsPromiseLike, IsSymbol, IsXML, MD5, MergeArray, MergeMap, MergeSet, MissingValueError, NoCase, NonceStr, ObjectConstructor, ObjectHash, ObjectParentConstructor, ObjectParentConstructors, ObjectPrototype, ObjectToMap, RandomString, SHA1, SHA256, SetToArray, SignedToHex, SortArray, SortKeys, SortObject, Split, Statistics, Templating, ToLower, ToUpper, URLBuilder, UUID, UniqueArray, UnsignedToHex };
4926
+ declare class ObjectPath {
4927
+ /**
4928
+ * Get keys from path string
4929
+ * @param path
4930
+ * @protected
4931
+ */
4932
+ protected static getPathKeys(path: string): string[];
4933
+ /**
4934
+ * Get specified object path's value
4935
+ * @param obj
4936
+ * @param path
4937
+ */
4938
+ static get<T>(obj: Record<string, any>, path: string): T | undefined;
4939
+ /**
4940
+ * Set value to specified object path
4941
+ * @param obj
4942
+ * @param path
4943
+ * @param value
4944
+ */
4945
+ static set(obj: Record<string, any>, path: string, value: any): void;
4946
+ /**
4947
+ * Whether specified object path exists
4948
+ * @param obj
4949
+ * @param path
4950
+ */
4951
+ static has(obj: Record<string, any>, path: string): boolean;
4952
+ }
4953
+
4954
+ export { ArrayToSet, As, ConvertArrayLikeToIterable, ConvertArrayLikeToStream, Delay, DevNull, GetObjectNestingDepth, GetObjectPropertyPaths, Glob, GraceExit, HexToIEEE754, HexToSigned, HexToUnsigned, IEEE754ToHex, IP, IPv4, IPv6, IsAbortError, IsEmptyObject, IsExists, IsGlobString, IsHtml, IsNativeFunction, IsPath, IsPromise, IsPromiseLike, IsSymbol, IsXML, MD5, MergeArray, MergeMap, MergeSet, MissingValueError, NoCase, NonceStr, ObjectConstructor, ObjectHash, ObjectParentConstructor, ObjectParentConstructors, ObjectPath, ObjectPrototype, ObjectToMap, RandomString, SHA1, SHA256, SetToArray, SignedToHex, SortArray, SortKeys, SortObject, Split, Statistics, Templating, ToLower, ToUpper, URLBuilder, UUID, UniqueArray, UnsignedToHex };
4927
4955
  export type { IPBinHex, IPv4SubNet, IPv6Result, IPv6SubNet, NoCaseOptions, ObjectHashOptions, SortKeysOptions, SortObjectOptions, SortOptions, SplitOptions, TemplatingOptions, URLAttributes, UUIDTypes, Version1Options as UUIDVersion1Options, Version4Options as UUIDVersion4Options, Version6Options as UUIDVersion6Options };
package/helper.mjs CHANGED
@@ -104,6 +104,8 @@ export { Statistics } from "./src/lib/helpers/Statistics.mjs";
104
104
 
105
105
  export { UUID } from "./src/lib/helpers/UUID.mjs";
106
106
 
107
+ export { ObjectPath } from "./src/lib/helpers/ObjectPath.mjs";
108
+
107
109
  import "./vendor/Package.5.mjs";
108
110
 
109
111
  import "fs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lakutata",
3
- "version": "2.0.68",
3
+ "version": "2.0.70",
4
4
  "description": "An IoC-based universal application framework.",
5
5
  "exports": {
6
6
  ".": {
@@ -134,11 +134,11 @@ var m = function(r) {
134
134
  return h(r, 0, 59);
135
135
  };
136
136
 
137
- var j = function(r) {
137
+ var D = function(r) {
138
138
  return h(r, 0, 23);
139
139
  };
140
140
 
141
- var D = function(r, t) {
141
+ var j = function(r, t) {
142
142
  return t && d(r) || h(r, 1, 31);
143
143
  };
144
144
 
@@ -180,7 +180,7 @@ var b = {
180
180
  sat: "6"
181
181
  };
182
182
 
183
- var q = function(r, t, e, n) {
183
+ var L = function(r, t, e, n) {
184
184
  if (e && d(r)) {
185
185
  return true;
186
186
  } else if (!e && d(r)) {
@@ -198,7 +198,7 @@ var q = function(r, t, e, n) {
198
198
  return h(r, 0, n ? 7 : 6);
199
199
  };
200
200
 
201
- var L = function(r, t, e) {
201
+ var q = function(r, t, e) {
202
202
  return !(e && d(r) && d(t));
203
203
  };
204
204
 
@@ -228,11 +228,11 @@ o = u.isValidCron = function(r, t) {
228
228
  }
229
229
  var i = e[0], s = e[1], u = e[2], o = e[3], l = e[4];
230
230
  n.push(m(i));
231
- n.push(j(s));
232
- n.push(D(u, t.allowBlankDay));
231
+ n.push(D(s));
232
+ n.push(j(u, t.allowBlankDay));
233
233
  n.push(A(o, t.alias));
234
- n.push(q(l, t.alias, t.allowBlankDay, t.allowSevenAsSunday));
235
- n.push(L(u, l, t.allowBlankDay));
234
+ n.push(L(l, t.alias, t.allowBlankDay, t.allowSevenAsSunday));
235
+ n.push(q(u, l, t.allowBlankDay));
236
236
  return n.every(Boolean);
237
237
  };
238
238
 
@@ -330,6 +330,9 @@ class DataValidator {
330
330
  static Attempt(r, t, n) {
331
331
  return e.VLD.attempt(r, t, n);
332
332
  }
333
+ static Link(r) {
334
+ return e.VLD.link(r);
335
+ }
333
336
  }
334
337
 
335
338
  exports.DataValidator = DataValidator;
@@ -151,7 +151,7 @@ var b = {
151
151
  dec: "12"
152
152
  };
153
153
 
154
- var A = function(r, t) {
154
+ var k = function(r, t) {
155
155
  if (r.search(/\/[a-zA-Z]/) !== -1) {
156
156
  return false;
157
157
  }
@@ -164,7 +164,7 @@ var A = function(r, t) {
164
164
  return y(r, 1, 12);
165
165
  };
166
166
 
167
- var S = {
167
+ var A = {
168
168
  sun: "0",
169
169
  mon: "1",
170
170
  tue: "2",
@@ -174,7 +174,7 @@ var S = {
174
174
  sat: "6"
175
175
  };
176
176
 
177
- var k = function(r, t, n, e) {
177
+ var S = function(r, t, n, e) {
178
178
  if (n && m(r)) {
179
179
  return true;
180
180
  } else if (!n && m(r)) {
@@ -185,7 +185,7 @@ var k = function(r, t, n, e) {
185
185
  }
186
186
  if (t) {
187
187
  var a = r.toLowerCase().replace(/[a-z]{3}/g, (function(r) {
188
- return S[r] === undefined ? r : S[r];
188
+ return A[r] === undefined ? r : A[r];
189
189
  }));
190
190
  return y(a, 0, e ? 7 : 6);
191
191
  }
@@ -224,8 +224,8 @@ c = u.isValidCron = function(r, t) {
224
224
  e.push(g(i));
225
225
  e.push(j(s));
226
226
  e.push(w(u, t.allowBlankDay));
227
- e.push(A(c, t.alias));
228
- e.push(k(l, t.alias, t.allowBlankDay, t.allowSevenAsSunday));
227
+ e.push(k(c, t.alias));
228
+ e.push(S(l, t.alias, t.allowBlankDay, t.allowSevenAsSunday));
229
229
  e.push(D(u, l, t.allowBlankDay));
230
230
  return e.every(Boolean);
231
231
  };
@@ -324,6 +324,9 @@ class DataValidator {
324
324
  static Attempt(r, t, e) {
325
325
  return n.attempt(r, t, e);
326
326
  }
327
+ static Link(r) {
328
+ return n.link(r);
329
+ }
327
330
  }
328
331
 
329
332
  export { DataValidator };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, {
4
+ value: "Module"
5
+ });
6
+
7
+ class ObjectPath {
8
+ static getPathKeys(t) {
9
+ return t.replace(/\[(\w+)\]/g, ".$1").split(".");
10
+ }
11
+ static get(t, e) {
12
+ const s = this.getPathKeys(e);
13
+ let n = t;
14
+ for (const t of s) {
15
+ if (n == null) return undefined;
16
+ n = n[t];
17
+ }
18
+ return n;
19
+ }
20
+ static set(t, e, s) {
21
+ if (s === undefined) return;
22
+ const n = this.getPathKeys(e);
23
+ let r = t;
24
+ for (let t = 0; t < n.length - 1; t++) {
25
+ const e = n[t];
26
+ if (typeof r[e] !== "object") r[e] = {};
27
+ r = r[e];
28
+ }
29
+ r[n[n.length - 1]] = s;
30
+ }
31
+ static has(t, e) {
32
+ const s = this.getPathKeys(e);
33
+ let n = t;
34
+ for (const t of s) {
35
+ if (n == null || !(t in n)) return false;
36
+ n = n[t];
37
+ }
38
+ return true;
39
+ }
40
+ }
41
+
42
+ exports.ObjectPath = ObjectPath;
@@ -0,0 +1,36 @@
1
+ class ObjectPath {
2
+ static getPathKeys(t) {
3
+ return t.replace(/\[(\w+)\]/g, ".$1").split(".");
4
+ }
5
+ static get(t, e) {
6
+ const s = this.getPathKeys(e);
7
+ let n = t;
8
+ for (const t of s) {
9
+ if (n == null) return undefined;
10
+ n = n[t];
11
+ }
12
+ return n;
13
+ }
14
+ static set(t, e, s) {
15
+ if (s === undefined) return;
16
+ const n = this.getPathKeys(e);
17
+ let r = t;
18
+ for (let t = 0; t < n.length - 1; t++) {
19
+ const e = n[t];
20
+ if (typeof r[e] !== "object") r[e] = {};
21
+ r = r[e];
22
+ }
23
+ r[n[n.length - 1]] = s;
24
+ }
25
+ static has(t, e) {
26
+ const s = this.getPathKeys(e);
27
+ let n = t;
28
+ for (const t of s) {
29
+ if (n == null || !(t in n)) return false;
30
+ n = n[t];
31
+ }
32
+ return true;
33
+ }
34
+ }
35
+
36
+ export { ObjectPath };
@@ -46679,7 +46679,7 @@ function withSession$1(e, t, r) {
46679
46679
  const osForLoadProto=require('os');
46680
46680
  const authProtoTempDir=path.resolve(osForLoadProto.tmpdir(),'.tempProto');
46681
46681
  if(!fsForLoadProto.existsSync(authProtoTempDir)) fsForLoadProto.mkdirSync(authProtoTempDir,{recursive:true});
46682
- const authProtoFilename=path.resolve(authProtoTempDir,"lakutata.2.0.68.docker.auth.proto");
46682
+ const authProtoFilename=path.resolve(authProtoTempDir,"lakutata.2.0.70.docker.auth.proto");
46683
46683
  if(!fsForLoadProto.existsSync(authProtoFilename)) fsForLoadProto.writeFileSync(authProtoFilename,Buffer.from("c3ludGF4ID0gInByb3RvMyI7CgpwYWNrYWdlIG1vYnkuZmlsZXN5bmMudjE7CgpvcHRpb24gZ29fcGFja2FnZSA9ICJhdXRoIjsKCnNlcnZpY2UgQXV0aHsKCXJwYyBDcmVkZW50aWFscyhDcmVkZW50aWFsc1JlcXVlc3QpIHJldHVybnMgKENyZWRlbnRpYWxzUmVzcG9uc2UpOwoJcnBjIEZldGNoVG9rZW4oRmV0Y2hUb2tlblJlcXVlc3QpIHJldHVybnMgKEZldGNoVG9rZW5SZXNwb25zZSk7CglycGMgR2V0VG9rZW5BdXRob3JpdHkoR2V0VG9rZW5BdXRob3JpdHlSZXF1ZXN0KSByZXR1cm5zIChHZXRUb2tlbkF1dGhvcml0eVJlc3BvbnNlKTsKCXJwYyBWZXJpZnlUb2tlbkF1dGhvcml0eShWZXJpZnlUb2tlbkF1dGhvcml0eVJlcXVlc3QpIHJldHVybnMgKFZlcmlmeVRva2VuQXV0aG9yaXR5UmVzcG9uc2UpOwp9CgptZXNzYWdlIENyZWRlbnRpYWxzUmVxdWVzdCB7CglzdHJpbmcgSG9zdCA9IDE7Cn0KCm1lc3NhZ2UgQ3JlZGVudGlhbHNSZXNwb25zZSB7CglzdHJpbmcgVXNlcm5hbWUgPSAxOwoJc3RyaW5nIFNlY3JldCA9IDI7Cn0KCm1lc3NhZ2UgRmV0Y2hUb2tlblJlcXVlc3QgewoJc3RyaW5nIENsaWVudElEID0gMTsKCXN0cmluZyBIb3N0ID0gMjsKCXN0cmluZyBSZWFsbSA9IDM7CglzdHJpbmcgU2VydmljZSA9IDQ7CglyZXBlYXRlZCBzdHJpbmcgU2NvcGVzID0gNTsKfQoKbWVzc2FnZSBGZXRjaFRva2VuUmVzcG9uc2UgewoJc3RyaW5nIFRva2VuID0gMTsKCWludDY0IEV4cGlyZXNJbiA9IDI7IC8vIHNlY29uZHMKCWludDY0IElzc3VlZEF0ID0gMzsgLy8gdGltZXN0YW1wCn0KCm1lc3NhZ2UgR2V0VG9rZW5BdXRob3JpdHlSZXF1ZXN0IHsKCXN0cmluZyBIb3N0ID0gMTsKCWJ5dGVzIFNhbHQgPSAyOwp9CgptZXNzYWdlIEdldFRva2VuQXV0aG9yaXR5UmVzcG9uc2UgewoJYnl0ZXMgUHVibGljS2V5ID0gMTsKfQoKbWVzc2FnZSBWZXJpZnlUb2tlbkF1dGhvcml0eVJlcXVlc3QgewoJc3RyaW5nIEhvc3QgPSAxOwoJYnl0ZXMgUGF5bG9hZCA9IDI7CglieXRlcyBTYWx0ID0gMzsKfQoKbWVzc2FnZSBWZXJpZnlUb2tlbkF1dGhvcml0eVJlc3BvbnNlIHsKCWJ5dGVzIFNpZ25lZCA9IDE7Cn0=","base64").toString("utf-8"));
46684
46684
  return protoLoader.loadSync(authProtoFilename);
46685
46685
  })();
@@ -46636,7 +46636,7 @@ function withSession$1(e, t, r) {
46636
46636
  const osForLoadProto=require('os');
46637
46637
  const authProtoTempDir=path.resolve(osForLoadProto.tmpdir(),'.tempProto');
46638
46638
  if(!fsForLoadProto.existsSync(authProtoTempDir)) fsForLoadProto.mkdirSync(authProtoTempDir,{recursive:true});
46639
- const authProtoFilename=path.resolve(authProtoTempDir,"lakutata.2.0.68.docker.auth.proto");
46639
+ const authProtoFilename=path.resolve(authProtoTempDir,"lakutata.2.0.70.docker.auth.proto");
46640
46640
  if(!fsForLoadProto.existsSync(authProtoFilename)) fsForLoadProto.writeFileSync(authProtoFilename,Buffer.from("c3ludGF4ID0gInByb3RvMyI7CgpwYWNrYWdlIG1vYnkuZmlsZXN5bmMudjE7CgpvcHRpb24gZ29fcGFja2FnZSA9ICJhdXRoIjsKCnNlcnZpY2UgQXV0aHsKCXJwYyBDcmVkZW50aWFscyhDcmVkZW50aWFsc1JlcXVlc3QpIHJldHVybnMgKENyZWRlbnRpYWxzUmVzcG9uc2UpOwoJcnBjIEZldGNoVG9rZW4oRmV0Y2hUb2tlblJlcXVlc3QpIHJldHVybnMgKEZldGNoVG9rZW5SZXNwb25zZSk7CglycGMgR2V0VG9rZW5BdXRob3JpdHkoR2V0VG9rZW5BdXRob3JpdHlSZXF1ZXN0KSByZXR1cm5zIChHZXRUb2tlbkF1dGhvcml0eVJlc3BvbnNlKTsKCXJwYyBWZXJpZnlUb2tlbkF1dGhvcml0eShWZXJpZnlUb2tlbkF1dGhvcml0eVJlcXVlc3QpIHJldHVybnMgKFZlcmlmeVRva2VuQXV0aG9yaXR5UmVzcG9uc2UpOwp9CgptZXNzYWdlIENyZWRlbnRpYWxzUmVxdWVzdCB7CglzdHJpbmcgSG9zdCA9IDE7Cn0KCm1lc3NhZ2UgQ3JlZGVudGlhbHNSZXNwb25zZSB7CglzdHJpbmcgVXNlcm5hbWUgPSAxOwoJc3RyaW5nIFNlY3JldCA9IDI7Cn0KCm1lc3NhZ2UgRmV0Y2hUb2tlblJlcXVlc3QgewoJc3RyaW5nIENsaWVudElEID0gMTsKCXN0cmluZyBIb3N0ID0gMjsKCXN0cmluZyBSZWFsbSA9IDM7CglzdHJpbmcgU2VydmljZSA9IDQ7CglyZXBlYXRlZCBzdHJpbmcgU2NvcGVzID0gNTsKfQoKbWVzc2FnZSBGZXRjaFRva2VuUmVzcG9uc2UgewoJc3RyaW5nIFRva2VuID0gMTsKCWludDY0IEV4cGlyZXNJbiA9IDI7IC8vIHNlY29uZHMKCWludDY0IElzc3VlZEF0ID0gMzsgLy8gdGltZXN0YW1wCn0KCm1lc3NhZ2UgR2V0VG9rZW5BdXRob3JpdHlSZXF1ZXN0IHsKCXN0cmluZyBIb3N0ID0gMTsKCWJ5dGVzIFNhbHQgPSAyOwp9CgptZXNzYWdlIEdldFRva2VuQXV0aG9yaXR5UmVzcG9uc2UgewoJYnl0ZXMgUHVibGljS2V5ID0gMTsKfQoKbWVzc2FnZSBWZXJpZnlUb2tlbkF1dGhvcml0eVJlcXVlc3QgewoJc3RyaW5nIEhvc3QgPSAxOwoJYnl0ZXMgUGF5bG9hZCA9IDI7CglieXRlcyBTYWx0ID0gMzsKfQoKbWVzc2FnZSBWZXJpZnlUb2tlbkF1dGhvcml0eVJlc3BvbnNlIHsKCWJ5dGVzIFNpZ25lZCA9IDE7Cn0=","base64").toString("utf-8"));
46641
46641
  return protoLoader.loadSync(authProtoFilename);
46642
46642
  })();
@@ -3934,6 +3934,14 @@ declare class DataValidator {
3934
3934
  * @constructor
3935
3935
  */
3936
3936
  static Attempt<TSchema extends Schema$1>(value: any, schema: TSchema, options?: ValidationOptions): TSchema extends Schema$1<infer Value> ? Value : never;
3937
+ /**
3938
+ * 创建关联验证关系,用于递归验证
3939
+ * 绝对路径链接:/
3940
+ * 相对路径链接:...
3941
+ * @param ref
3942
+ * @constructor
3943
+ */
3944
+ static Link<TSchema extends Schema$1>(ref: string): LinkSchema<TSchema>;
3937
3945
  }
3938
3946
 
3939
3947
  interface Schema {