@adviser/cement 0.2.29 → 0.2.31

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. package/index.cjs +51 -13
  2. package/index.cjs.map +1 -1
  3. package/index.d.cts +19 -2
  4. package/index.d.ts +19 -2
  5. package/index.js +53 -16
  6. package/index.js.map +1 -1
  7. package/package.json +14 -14
  8. package/src/index.ts +1 -0
  9. package/src/jsr.json +4 -2
  10. package/src/refcounted.ts +23 -0
  11. package/src/uri.ts +43 -9
  12. package/src/utils/stripper.ts +59 -0
  13. package/ts/index.d.ts +1 -0
  14. package/ts/index.d.ts.map +1 -1
  15. package/ts/index.js +1 -0
  16. package/ts/index.js.map +1 -1
  17. package/ts/node/node-sys-abstraction.test.js +2 -6
  18. package/ts/node/node-sys-abstraction.test.js.map +1 -1
  19. package/ts/refcounted.d.ts +2 -0
  20. package/ts/refcounted.d.ts.map +1 -0
  21. package/ts/refcounted.js +19 -0
  22. package/ts/refcounted.js.map +1 -0
  23. package/ts/refcounted.test.d.ts +2 -0
  24. package/ts/refcounted.test.d.ts.map +1 -0
  25. package/ts/refcounted.test.js +39 -0
  26. package/ts/refcounted.test.js.map +1 -0
  27. package/ts/uri.d.ts +16 -1
  28. package/ts/uri.d.ts.map +1 -1
  29. package/ts/uri.js +21 -9
  30. package/ts/uri.js.map +1 -1
  31. package/ts/uri.test.js +28 -0
  32. package/ts/uri.test.js.map +1 -1
  33. package/ts/utils/stripper.d.ts +3 -0
  34. package/ts/utils/stripper.d.ts.map +1 -0
  35. package/ts/utils/stripper.js +56 -0
  36. package/ts/utils/stripper.js.map +1 -0
  37. package/ts/utils/stripper.test.d.ts +2 -0
  38. package/ts/utils/stripper.test.d.ts.map +1 -0
  39. package/ts/utils/stripper.test.js +97 -0
  40. package/ts/utils/stripper.test.js.map +1 -0
  41. package/src/base-sys-abstraction.test.ts +0 -95
  42. package/src/bin2text.test.ts +0 -59
  43. package/src/crypto.test.ts +0 -15
  44. package/src/future.test.ts +0 -32
  45. package/src/logger.test.ts +0 -1132
  46. package/src/resolve-once.test.ts +0 -321
  47. package/src/result.test.ts +0 -102
  48. package/src/sys-env.test.ts +0 -53
  49. package/src/tracer.test.ts +0 -314
  50. package/src/uri.test.ts +0 -155
package/index.cjs CHANGED
@@ -140,13 +140,14 @@ __export(src_exports, {
140
140
  bin2text: () => bin2text,
141
141
  envFactory: () => envFactory,
142
142
  exception2Result: () => exception2Result,
143
+ hasHostPartProtocols: () => hasHostPartProtocols,
143
144
  isURL: () => isURL,
144
145
  logValue: () => logValue,
145
- protocols: () => protocols,
146
146
  removeSelfRef: () => removeSelfRef,
147
147
  runtimeFn: () => runtimeFn,
148
148
  toCryptoRuntime: () => toCryptoRuntime,
149
- utils: () => utils_exports
149
+ utils: () => utils_exports,
150
+ wrapRefcounted: () => wrapRefcounted
150
151
  });
151
152
  module.exports = __toCommonJS(src_exports);
152
153
 
@@ -1076,7 +1077,7 @@ var MutableURL = class _MutableURL extends URL {
1076
1077
  constructor(urlStr) {
1077
1078
  super("defect://does.not.exist");
1078
1079
  const partedURL = urlStr.split(":");
1079
- this._hasHostpart = protocols.has(partedURL[0]);
1080
+ this._hasHostpart = hasHostPartProtocols.has(partedURL[0]);
1080
1081
  let hostPartUrl = ["http", ...partedURL.slice(1)].join(":");
1081
1082
  if (!this._hasHostpart) {
1082
1083
  const pathname = hostPartUrl.replace(/http:\/\/[/]*/, "").replace(/[#?].*$/, "");
@@ -1103,32 +1104,32 @@ var MutableURL = class _MutableURL extends URL {
1103
1104
  get host() {
1104
1105
  if (!this._hasHostpart) {
1105
1106
  throw new Error(
1106
- `you can use hostname only if protocol is ${this.toString()} ${JSON.stringify(Array.from(protocols.keys()))}`
1107
+ `you can use hostname only if protocol is ${this.toString()} ${JSON.stringify(Array.from(hasHostPartProtocols.keys()))}`
1107
1108
  );
1108
1109
  }
1109
1110
  return this._sysURL.host;
1110
1111
  }
1111
1112
  get port() {
1112
1113
  if (!this._hasHostpart) {
1113
- throw new Error(`you can use hostname only if protocol is ${JSON.stringify(Array.from(protocols.keys()))}`);
1114
+ throw new Error(`you can use hostname only if protocol is ${JSON.stringify(Array.from(hasHostPartProtocols.keys()))}`);
1114
1115
  }
1115
1116
  return this._sysURL.port;
1116
1117
  }
1117
1118
  set port(p) {
1118
1119
  if (!this._hasHostpart) {
1119
- throw new Error(`you can use port only if protocol is ${JSON.stringify(Array.from(protocols.keys()))}`);
1120
+ throw new Error(`you can use port only if protocol is ${JSON.stringify(Array.from(hasHostPartProtocols.keys()))}`);
1120
1121
  }
1121
1122
  this._sysURL.port = p;
1122
1123
  }
1123
1124
  get hostname() {
1124
1125
  if (!this._hasHostpart) {
1125
- throw new Error(`you can use hostname only if protocol is ${JSON.stringify(Array.from(protocols.keys()))}`);
1126
+ throw new Error(`you can use hostname only if protocol is ${JSON.stringify(Array.from(hasHostPartProtocols.keys()))}`);
1126
1127
  }
1127
1128
  return this._sysURL.hostname;
1128
1129
  }
1129
1130
  set hostname(h) {
1130
1131
  if (!this._hasHostpart) {
1131
- throw new Error(`you can use hostname only if protocol is ${JSON.stringify(Array.from(protocols.keys()))}`);
1132
+ throw new Error(`you can use hostname only if protocol is ${JSON.stringify(Array.from(hasHostPartProtocols.keys()))}`);
1132
1133
  }
1133
1134
  this._sysURL.hostname = h;
1134
1135
  }
@@ -1271,13 +1272,13 @@ var BuildURI = class _BuildURI {
1271
1272
  return URI.from(this._url);
1272
1273
  }
1273
1274
  };
1274
- var protocols = /* @__PURE__ */ new Set(["http", "https", "ws", "wss"]);
1275
+ var hasHostPartProtocols = /* @__PURE__ */ new Set(["http", "https", "ws", "wss"]);
1275
1276
  var URI = class _URI {
1276
1277
  static protocolHasHostpart(protocol) {
1277
1278
  protocol = protocol.replace(/:$/, "");
1278
- protocols.add(protocol);
1279
+ hasHostPartProtocols.add(protocol);
1279
1280
  return () => {
1280
- protocols.delete(protocol);
1281
+ hasHostPartProtocols.delete(protocol);
1281
1282
  };
1282
1283
  }
1283
1284
  // if no protocol is provided, default to file:
@@ -1361,6 +1362,22 @@ var URI = class _URI {
1361
1362
  toJSON() {
1362
1363
  return this.toString();
1363
1364
  }
1365
+ asObj() {
1366
+ const pathURI = {
1367
+ style: "path",
1368
+ protocol: this.protocol,
1369
+ pathname: this.pathname,
1370
+ searchParams: Object.fromEntries(this.getParams)
1371
+ };
1372
+ if (hasHostPartProtocols.has(this.protocol.replace(/:$/, ""))) {
1373
+ return __spreadProps(__spreadValues({}, pathURI), {
1374
+ style: "host",
1375
+ hostname: this.hostname,
1376
+ port: this.port
1377
+ });
1378
+ }
1379
+ return pathURI;
1380
+ }
1364
1381
  };
1365
1382
 
1366
1383
  // src/runtime.ts
@@ -2329,6 +2346,26 @@ var VERSION = Object.keys({
2329
2346
  __packageVersion__: "xxxx"
2330
2347
  })[0];
2331
2348
 
2349
+ // src/refcounted.ts
2350
+ function wrapRefcounted(t, method) {
2351
+ const my2 = t;
2352
+ my2.__refcounted = (my2.__refcounted || 0) + 1;
2353
+ if (my2.__refcounted === 1) {
2354
+ my2.__unrefcounted = my2[method];
2355
+ const mRec = my2;
2356
+ mRec[method] = function() {
2357
+ this.__refcounted--;
2358
+ if (this.__refcounted === 0) {
2359
+ this.__unrefcounted();
2360
+ }
2361
+ if (this.__refcounted < 0) {
2362
+ throw new Error("already closed");
2363
+ }
2364
+ };
2365
+ }
2366
+ return t;
2367
+ }
2368
+
2332
2369
  // src/utils/index.ts
2333
2370
  var utils_exports = {};
2334
2371
  __export(utils_exports, {
@@ -2582,12 +2619,13 @@ function uint8array2stream(str) {
2582
2619
  bin2text,
2583
2620
  envFactory,
2584
2621
  exception2Result,
2622
+ hasHostPartProtocols,
2585
2623
  isURL,
2586
2624
  logValue,
2587
- protocols,
2588
2625
  removeSelfRef,
2589
2626
  runtimeFn,
2590
2627
  toCryptoRuntime,
2591
- utils
2628
+ utils,
2629
+ wrapRefcounted
2592
2630
  });
2593
2631
  //# sourceMappingURL=index.cjs.map