goscript 0.0.29 → 0.0.31

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 (106) hide show
  1. package/compiler/compiler.go +8 -1
  2. package/compiler/index.ts +1 -1
  3. package/compiler/stmt-assign.go +14 -0
  4. package/dist/compiler/index.js +1 -1
  5. package/dist/compiler/index.js.map +1 -1
  6. package/dist/gs/builtin/channel.d.ts +6 -6
  7. package/dist/gs/builtin/channel.js +3 -3
  8. package/dist/gs/builtin/channel.js.map +1 -1
  9. package/dist/gs/builtin/slice.js +3 -9
  10. package/dist/gs/builtin/slice.js.map +1 -1
  11. package/dist/gs/context/context.js +2 -2
  12. package/dist/gs/context/context.js.map +1 -1
  13. package/dist/gs/internal/oserror/errors.d.ts +1 -1
  14. package/dist/gs/internal/oserror/errors.js +6 -6
  15. package/dist/gs/internal/oserror/index.d.ts +1 -1
  16. package/dist/gs/internal/oserror/index.js +1 -1
  17. package/dist/gs/internal/oserror/index.js.map +1 -1
  18. package/dist/gs/io/fs/format.d.ts +1 -1
  19. package/dist/gs/io/fs/format.js +12 -12
  20. package/dist/gs/io/fs/format.js.map +1 -1
  21. package/dist/gs/io/fs/fs.d.ts +2 -2
  22. package/dist/gs/io/fs/fs.js +258 -36
  23. package/dist/gs/io/fs/fs.js.map +1 -1
  24. package/dist/gs/io/fs/glob.d.ts +2 -2
  25. package/dist/gs/io/fs/glob.js +40 -14
  26. package/dist/gs/io/fs/glob.js.map +1 -1
  27. package/dist/gs/io/fs/index.d.ts +8 -8
  28. package/dist/gs/io/fs/index.js +8 -8
  29. package/dist/gs/io/fs/readdir.d.ts +2 -2
  30. package/dist/gs/io/fs/readdir.js +78 -9
  31. package/dist/gs/io/fs/readdir.js.map +1 -1
  32. package/dist/gs/io/fs/readfile.d.ts +2 -2
  33. package/dist/gs/io/fs/readfile.js +31 -13
  34. package/dist/gs/io/fs/readfile.js.map +1 -1
  35. package/dist/gs/io/fs/stat.d.ts +2 -2
  36. package/dist/gs/io/fs/stat.js +25 -2
  37. package/dist/gs/io/fs/stat.js.map +1 -1
  38. package/dist/gs/io/fs/sub.d.ts +2 -2
  39. package/dist/gs/io/fs/sub.js +264 -28
  40. package/dist/gs/io/fs/sub.js.map +1 -1
  41. package/dist/gs/io/fs/walk.d.ts +2 -2
  42. package/dist/gs/io/fs/walk.js +7 -7
  43. package/dist/gs/io/fs/walk.js.map +1 -1
  44. package/dist/gs/iter/iter.js +1 -1
  45. package/dist/gs/iter/iter.js.map +1 -1
  46. package/dist/gs/path/index.d.ts +2 -2
  47. package/dist/gs/path/index.js +2 -2
  48. package/dist/gs/path/match.d.ts +1 -1
  49. package/dist/gs/path/match.js +39 -33
  50. package/dist/gs/path/match.js.map +1 -1
  51. package/dist/gs/path/path.js +53 -24
  52. package/dist/gs/path/path.js.map +1 -1
  53. package/dist/gs/runtime/runtime.d.ts +3 -3
  54. package/dist/gs/runtime/runtime.js +3 -3
  55. package/dist/gs/runtime/runtime.js.map +1 -1
  56. package/dist/gs/strings/builder.d.ts +1 -1
  57. package/dist/gs/strings/builder.js +1 -1
  58. package/dist/gs/strings/builder.js.map +1 -1
  59. package/dist/gs/strings/clone.js.map +1 -1
  60. package/dist/gs/strings/compare.js.map +1 -1
  61. package/dist/gs/strings/replace.js +4 -2
  62. package/dist/gs/strings/replace.js.map +1 -1
  63. package/dist/gs/strings/strings.js +0 -12
  64. package/dist/gs/strings/strings.js.map +1 -1
  65. package/dist/gs/sync/sync.d.ts +5 -5
  66. package/dist/gs/sync/sync.js +5 -5
  67. package/dist/gs/sync/sync.js.map +1 -1
  68. package/dist/gs/time/time.d.ts +2 -2
  69. package/dist/gs/time/time.js +62 -16
  70. package/dist/gs/time/time.js.map +1 -1
  71. package/dist/gs/unsafe/unsafe.d.ts +8 -8
  72. package/dist/gs/unsafe/unsafe.js +8 -8
  73. package/dist/gs/unsafe/unsafe.js.map +1 -1
  74. package/gs/builtin/builtin.ts +1 -1
  75. package/gs/builtin/channel.ts +6 -6
  76. package/gs/builtin/slice.ts +3 -9
  77. package/gs/context/context.ts +2 -2
  78. package/gs/internal/oserror/errors.ts +7 -8
  79. package/gs/internal/oserror/index.ts +7 -1
  80. package/gs/io/fs/format.ts +39 -40
  81. package/gs/io/fs/fs.ts +446 -222
  82. package/gs/io/fs/glob.ts +164 -131
  83. package/gs/io/fs/index.ts +8 -8
  84. package/gs/io/fs/readdir.ts +188 -106
  85. package/gs/io/fs/readfile.ts +79 -58
  86. package/gs/io/fs/stat.ts +49 -25
  87. package/gs/io/fs/sub.ts +422 -181
  88. package/gs/io/fs/walk.ts +67 -63
  89. package/gs/iter/iter.ts +1 -1
  90. package/gs/path/index.ts +2 -2
  91. package/gs/path/match.ts +263 -250
  92. package/gs/path/path.ts +259 -232
  93. package/gs/runtime/runtime.ts +4 -4
  94. package/gs/strings/builder.test.ts +0 -1
  95. package/gs/strings/builder.ts +1 -1
  96. package/gs/strings/clone.ts +0 -2
  97. package/gs/strings/compare.ts +0 -2
  98. package/gs/strings/iter.test.ts +0 -1
  99. package/gs/strings/replace.test.ts +3 -4
  100. package/gs/strings/replace.ts +4 -7
  101. package/gs/strings/strings.test.ts +6 -6
  102. package/gs/strings/strings.ts +0 -14
  103. package/gs/sync/sync.ts +5 -5
  104. package/gs/time/time.ts +86 -29
  105. package/gs/unsafe/unsafe.ts +8 -8
  106. package/package.json +1 -1
package/gs/io/fs/walk.ts CHANGED
@@ -1,65 +1,70 @@
1
- import * as $ from "@goscript/builtin/builtin.js";
2
- import { FileInfoToDirEntry, ReadDir } from "./readdir.js";
3
- import { Stat } from "./stat.js";
4
- import { FS, DirEntry } from "./fs.js";
1
+ import * as $ from '@goscript/builtin/builtin.js'
2
+ import { FileInfoToDirEntry, ReadDir } from './readdir.js'
3
+ import { Stat } from './stat.js'
4
+ import { FS, DirEntry } from './fs.js'
5
5
 
6
- import * as errors from "@goscript/errors/index.js"
6
+ import * as errors from '@goscript/errors/index.js'
7
7
 
8
- import * as path from "@goscript/path/index.js"
8
+ import * as path from '@goscript/path/index.js'
9
9
 
10
- export let SkipDir: $.GoError = errors.New("skip this directory")
10
+ export let SkipDir: $.GoError = errors.New('skip this directory')
11
11
 
12
- export let SkipAll: $.GoError = errors.New("skip everything and stop the walk")
12
+ export let SkipAll: $.GoError = errors.New('skip everything and stop the walk')
13
13
 
14
- export type WalkDirFunc = ((path: string, d: DirEntry, err: $.GoError) => $.GoError) | null;
14
+ export type WalkDirFunc =
15
+ | ((path: string, d: DirEntry, err: $.GoError) => $.GoError)
16
+ | null
15
17
 
16
18
  // walkDir recursively descends path, calling walkDirFn.
17
- export function walkDir(fsys: FS, name: string, d: DirEntry, walkDirFn: WalkDirFunc): $.GoError {
19
+ export function walkDir(
20
+ fsys: FS,
21
+ name: string,
22
+ d: DirEntry,
23
+ walkDirFn: WalkDirFunc,
24
+ ): $.GoError {
25
+ // Successfully skipped directory.
26
+ {
27
+ let err = walkDirFn!(name, d, null)
28
+ if (err != null || !d!.IsDir()) {
29
+ // Successfully skipped directory.
30
+ if (err == SkipDir && d!.IsDir()) {
31
+ // Successfully skipped directory.
32
+ err = null
33
+ }
34
+ return err
35
+ }
36
+ }
18
37
 
19
- // Successfully skipped directory.
20
- {
21
- let err = walkDirFn!(name, d, null)
22
- if (err != null || !d!.IsDir()) {
38
+ let [dirs, err] = ReadDir(fsys, name)
23
39
 
24
- // Successfully skipped directory.
25
- if (err == SkipDir && d!.IsDir()) {
26
- // Successfully skipped directory.
27
- err = null
28
- }
29
- return err
30
- }
31
- }
40
+ // Second call, to report ReadDir error.
41
+ if (err != null) {
42
+ // Second call, to report ReadDir error.
43
+ err = walkDirFn!(name, d, err)
44
+ if (err != null) {
45
+ if (err == SkipDir && d!.IsDir()) {
46
+ err = null
47
+ }
48
+ return err
49
+ }
50
+ }
32
51
 
33
- let [dirs, err] = ReadDir(fsys, name)
34
-
35
- // Second call, to report ReadDir error.
36
- if (err != null) {
37
- // Second call, to report ReadDir error.
38
- err = walkDirFn!(name, d, err)
39
- if (err != null) {
40
- if (err == SkipDir && d!.IsDir()) {
41
- err = null
42
- }
43
- return err
44
- }
45
- }
46
-
47
- for (let _i = 0; _i < $.len(dirs); _i++) {
48
- const d1 = dirs![_i]
49
- {
50
- let name1 = path.Join(name, d1!.Name())
51
- {
52
- let err = walkDir(fsys, name1, d1, walkDirFn)
53
- if (err != null) {
54
- if (err == SkipDir) {
55
- break
56
- }
57
- return err
58
- }
59
- }
60
- }
61
- }
62
- return null
52
+ for (let _i = 0; _i < $.len(dirs); _i++) {
53
+ const d1 = dirs![_i]
54
+ {
55
+ let name1 = path.Join(name, d1!.Name())
56
+ {
57
+ let err = walkDir(fsys, name1, d1, walkDirFn)
58
+ if (err != null) {
59
+ if (err == SkipDir) {
60
+ break
61
+ }
62
+ return err
63
+ }
64
+ }
65
+ }
66
+ }
67
+ return null
63
68
  }
64
69
 
65
70
  // WalkDir walks the file tree rooted at root, calling fn for each file or
@@ -75,15 +80,14 @@ export function walkDir(fsys: FS, name: string, d: DirEntry, walkDirFn: WalkDirF
75
80
  // WalkDir does not follow symbolic links found in directories,
76
81
  // but if root itself is a symbolic link, its target will be walked.
77
82
  export function WalkDir(fsys: FS, root: string, fn: WalkDirFunc): $.GoError {
78
- let [info, err] = Stat(fsys, root)
79
- if (err != null) {
80
- err = fn!(root, null, err)
81
- } else {
82
- err = walkDir(fsys, root, FileInfoToDirEntry(info), fn)
83
- }
84
- if (err == SkipDir || err == SkipAll) {
85
- return null
86
- }
87
- return err
83
+ let [info, err] = Stat(fsys, root)
84
+ if (err != null) {
85
+ err = fn!(root, null, err)
86
+ } else {
87
+ err = walkDir(fsys, root, FileInfoToDirEntry(info), fn)
88
+ }
89
+ if (err == SkipDir || err == SkipAll) {
90
+ return null
91
+ }
92
+ return err
88
93
  }
89
-
package/gs/iter/iter.ts CHANGED
@@ -16,7 +16,7 @@ export function Pull<V>(
16
16
  let nextValue: V | undefined
17
17
  let hasNext = false
18
18
 
19
- const iterator = seq(function (value: V): boolean {
19
+ const _iterator = seq(function (value: V): boolean {
20
20
  nextValue = value
21
21
  hasNext = true
22
22
  return false // Stop iteration after getting one value
package/gs/path/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { ErrBadPattern, Match } from "./match.js"
2
- export { Base, Clean, Dir, Ext, IsAbs, Join, Split } from "./path.js"
1
+ export { ErrBadPattern, Match } from './match.js'
2
+ export { Base, Clean, Dir, Ext, IsAbs, Join, Split } from './path.js'