@nudojs/env 0.4.10 → 0.4.12

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.
@@ -167,12 +167,14 @@ var prim = {
167
167
  // src/es.ts
168
168
  function absNumLit(a) {
169
169
  if (!a) return void 0;
170
- const v = litValue(a);
170
+ const vR = litValue(a);
171
+ const v = vR.ok ? vR.value : void 0;
171
172
  return typeof v === "number" ? v : void 0;
172
173
  }
173
174
  function absStrLit(a) {
174
175
  if (!a) return void 0;
175
- const v = litValue(a);
176
+ const vR = litValue(a);
177
+ const v = vR.ok ? vR.value : void 0;
176
178
  return typeof v === "string" ? v : void 0;
177
179
  }
178
180
  function numImpl1Abs(fn) {
@@ -233,7 +235,8 @@ function defineEnv() {
233
235
  const jsonStringifyImplAbs = (args) => {
234
236
  const a = args[0];
235
237
  if (!a) return void 0;
236
- const v = litValue(a);
238
+ const vR = litValue(a);
239
+ const v = vR.ok ? vR.value : void 0;
237
240
  if (v === void 0 && a.term?.op !== "lit") return void 0;
238
241
  try {
239
242
  const result = JSON.stringify(v);
@@ -246,10 +249,14 @@ function defineEnv() {
246
249
  const s = absStrLit(args[0]);
247
250
  if (s === void 0) return void 0;
248
251
  if (args[1] === void 0) return numLit(parseInt(s));
252
+ const radixRaw = litValue(args[1]);
253
+ if (radixRaw.ok && radixRaw.value === void 0) return numLit(parseInt(s));
249
254
  const radix = absNumLit(args[1]);
250
255
  if (radix === void 0) return void 0;
251
- if (!Number.isInteger(radix) || radix < 2 || radix > 36) return numLit(NaN);
252
- return numLit(parseInt(s, radix));
256
+ const r32 = radix | 0;
257
+ if (r32 === 0) return numLit(parseInt(s));
258
+ if (r32 < 2 || r32 > 36) return numLit(NaN);
259
+ return numLit(parseInt(s, r32));
253
260
  };
254
261
  const parseFloatImplAbs = (args) => {
255
262
  const s = absStrLit(args[0]);
@@ -275,14 +282,16 @@ function defineEnv() {
275
282
  const booleanImplAbs = (args) => {
276
283
  const a = args[0];
277
284
  if (!a) return void 0;
278
- const v = litValue(a);
285
+ const vR = litValue(a);
286
+ const v = vR.ok ? vR.value : void 0;
279
287
  if (v === void 0 && a.term?.op !== "lit") return void 0;
280
288
  return boolLit(Boolean(v));
281
289
  };
282
290
  const stringImplAbs = (args) => {
283
291
  const a = args[0];
284
292
  if (!a) return void 0;
285
- const v = litValue(a);
293
+ const vR = litValue(a);
294
+ const v = vR.ok ? vR.value : void 0;
286
295
  if (v === null || v === void 0) return void 0;
287
296
  return strLit2(String(v));
288
297
  };
@@ -384,7 +393,9 @@ function defineEnv() {
384
393
  isNaN: envFn([prim.unknown], prim.bool(), isNaNImplAbs),
385
394
  isSafeInteger: envFn([prim.unknown], prim.bool(), isSafeIntegerImplAbs),
386
395
  parseFloat: envFn([prim.str()], prim.num(), parseFloatImplAbs),
387
- parseInt: envFn([prim.str()], prim.num(), parseIntImplAbs),
396
+ parseInt: envFn([prim.str(), prim.num()], prim.num(), parseIntImplAbs, {
397
+ params: ["string", "radix?"]
398
+ }),
388
399
  MAX_SAFE_INTEGER: prim.num(),
389
400
  MIN_SAFE_INTEGER: prim.num(),
390
401
  MAX_VALUE: prim.num(),
@@ -413,7 +424,9 @@ function defineEnv() {
413
424
  }
414
425
  }),
415
426
  console: objAbs(consoleSlots),
416
- parseInt: envFn([prim.str(), prim.num()], prim.num(), parseIntImplAbs),
427
+ parseInt: envFn([prim.str(), prim.num()], prim.num(), parseIntImplAbs, {
428
+ params: ["string", "radix?"]
429
+ }),
417
430
  parseFloat: envFn([prim.str()], prim.num(), parseFloatImplAbs),
418
431
  isNaN: envFn([prim.unknown], prim.bool(), isNaNImplAbs),
419
432
  isFinite: envFn([prim.unknown], prim.bool(), isFiniteImplAbs),
package/dist/es.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineEnv
3
- } from "./chunk-KQ7PVOVE.js";
3
+ } from "./chunk-Q5NRLF4V.js";
4
4
  export {
5
5
  defineEnv
6
6
  };
package/dist/node.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  tupleOf,
14
14
  undef,
15
15
  unionOf
16
- } from "./chunk-KQ7PVOVE.js";
16
+ } from "./chunk-Q5NRLF4V.js";
17
17
 
18
18
  // src/node.ts
19
19
  import {
@@ -22,9 +22,11 @@ import {
22
22
  boolLit
23
23
  } from "@nudojs/core";
24
24
  import nodePath from "path";
25
+ import { fileURLToPath as nodeFileURLToPath, pathToFileURL as nodePathToFileURL } from "url";
25
26
  function absStr(a) {
26
27
  if (!a) return void 0;
27
- const v = litValue(a);
28
+ const vR = litValue(a);
29
+ const v = vR.ok ? vR.value : void 0;
28
30
  return typeof v === "string" ? v : void 0;
29
31
  }
30
32
  function allAbsStr(args) {
@@ -668,13 +670,15 @@ function defineEnv2() {
668
670
  void 0,
669
671
  { params: ["init?"] }
670
672
  ),
671
- fileURLToPath: envFn([prim.str()], prim.str(), strImpl1Abs((s) => {
673
+ fileURLToPath: envFn([prim.str()], prim.str(), (args) => {
674
+ const s = absStr(args[0]);
675
+ if (s === void 0) return void 0;
672
676
  try {
673
- return new URL(s).pathname;
677
+ return strLit(nodeFileURLToPath(s));
674
678
  } catch {
675
- return s;
679
+ return void 0;
676
680
  }
677
- })),
681
+ }),
678
682
  pathToFileURL: envFn(
679
683
  [prim.str()],
680
684
  objAbs({ href: prim.str() }),
@@ -682,8 +686,7 @@ function defineEnv2() {
682
686
  const p = absStr(args[0]);
683
687
  if (p === void 0) return void 0;
684
688
  try {
685
- const href = `file://${p.startsWith("/") ? "" : "/"}${p}`;
686
- return objAbs({ href: strLit(href) });
689
+ return objAbs({ href: strLit(nodePathToFileURL(p).href) });
687
690
  } catch {
688
691
  return void 0;
689
692
  }
package/dist/web.js CHANGED
@@ -8,13 +8,14 @@ import {
8
8
  promiseOf,
9
9
  undef,
10
10
  unionOf
11
- } from "./chunk-KQ7PVOVE.js";
11
+ } from "./chunk-Q5NRLF4V.js";
12
12
 
13
13
  // src/web.ts
14
14
  import { litValue, strLit, numLit } from "@nudojs/core";
15
15
  function absStr(a) {
16
16
  if (!a) return void 0;
17
- const v = litValue(a);
17
+ const vR = litValue(a);
18
+ const v = vR.ok ? vR.value : void 0;
18
19
  return typeof v === "string" ? v : void 0;
19
20
  }
20
21
  function makeURLObj(url) {
@@ -141,7 +142,8 @@ function defineEnv2() {
141
142
  dispatchEvent: envFn([prim.unknown], prim.bool())
142
143
  });
143
144
  const atobImpl = (args) => {
144
- const v = args[0] ? litValue(args[0]) : void 0;
145
+ const vR = args[0] ? litValue(args[0]) : void 0;
146
+ const v = vR?.ok ? vR.value : void 0;
145
147
  if (typeof v !== "string") return void 0;
146
148
  try {
147
149
  return strLit(atob(v));
@@ -150,7 +152,8 @@ function defineEnv2() {
150
152
  }
151
153
  };
152
154
  const btoaImpl = (args) => {
153
- const v = args[0] ? litValue(args[0]) : void 0;
155
+ const vR = args[0] ? litValue(args[0]) : void 0;
156
+ const v = vR?.ok ? vR.value : void 0;
154
157
  if (typeof v !== "string") return void 0;
155
158
  try {
156
159
  return strLit(btoa(v));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nudojs/env",
3
- "version": "0.4.10",
3
+ "version": "0.4.12",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -35,7 +35,7 @@
35
35
  "registry": "https://registry.npmjs.org"
36
36
  },
37
37
  "dependencies": {
38
- "@nudojs/core": "1.3.0"
38
+ "@nudojs/core": "1.4.0"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "tsup src/es.ts src/web.ts src/node.ts --format esm --dts"