@php-wasm/util 0.5.5 → 0.6.0
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/index.js +36 -25
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -111,19 +111,43 @@ function createSpawnHandler(program) {
|
|
|
111
111
|
return function(command) {
|
|
112
112
|
const childProcess = new ChildProcess();
|
|
113
113
|
const processApi = new ProcessApi(childProcess);
|
|
114
|
-
setTimeout(() => {
|
|
115
|
-
program(command, processApi);
|
|
114
|
+
setTimeout(async () => {
|
|
115
|
+
await program(command, processApi);
|
|
116
|
+
childProcess.emit("spawn", true);
|
|
116
117
|
});
|
|
117
118
|
return childProcess;
|
|
118
119
|
};
|
|
119
120
|
}
|
|
120
|
-
var
|
|
121
|
+
var EventEmitter = class {
|
|
122
|
+
constructor() {
|
|
123
|
+
this.listeners = {};
|
|
124
|
+
}
|
|
125
|
+
emit(eventName, data) {
|
|
126
|
+
if (this.listeners[eventName]) {
|
|
127
|
+
this.listeners[eventName].forEach(function(listener) {
|
|
128
|
+
listener(data);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
on(eventName, listener) {
|
|
133
|
+
if (!this.listeners[eventName]) {
|
|
134
|
+
this.listeners[eventName] = [];
|
|
135
|
+
}
|
|
136
|
+
this.listeners[eventName].push(listener);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
var ProcessApi = class extends EventEmitter {
|
|
121
140
|
constructor(childProcess) {
|
|
141
|
+
super();
|
|
122
142
|
this.childProcess = childProcess;
|
|
123
143
|
this.exited = false;
|
|
124
144
|
this.stdinData = [];
|
|
125
145
|
childProcess.on("stdin", (data) => {
|
|
126
|
-
this.stdinData
|
|
146
|
+
if (this.stdinData) {
|
|
147
|
+
this.stdinData.push(data.slice());
|
|
148
|
+
} else {
|
|
149
|
+
this.emit("stdin", data);
|
|
150
|
+
}
|
|
127
151
|
});
|
|
128
152
|
}
|
|
129
153
|
stdout(data) {
|
|
@@ -145,32 +169,19 @@ var ProcessApi = class {
|
|
|
145
169
|
}
|
|
146
170
|
}
|
|
147
171
|
flushStdin() {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
};
|
|
153
|
-
var EventEmitter = class {
|
|
154
|
-
constructor() {
|
|
155
|
-
this.listeners = {};
|
|
156
|
-
}
|
|
157
|
-
emit(eventName, data) {
|
|
158
|
-
if (this.listeners[eventName]) {
|
|
159
|
-
this.listeners[eventName].forEach(function(listener) {
|
|
160
|
-
listener(data);
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
on(eventName, listener) {
|
|
165
|
-
if (!this.listeners[eventName]) {
|
|
166
|
-
this.listeners[eventName] = [];
|
|
172
|
+
if (this.stdinData) {
|
|
173
|
+
for (let i = 0; i < this.stdinData.length; i++) {
|
|
174
|
+
this.emit("stdin", this.stdinData[i]);
|
|
175
|
+
}
|
|
167
176
|
}
|
|
168
|
-
this.
|
|
177
|
+
this.stdinData = null;
|
|
169
178
|
}
|
|
170
179
|
};
|
|
180
|
+
var lastPid = 9743;
|
|
171
181
|
var ChildProcess = class extends EventEmitter {
|
|
172
|
-
constructor() {
|
|
182
|
+
constructor(pid = lastPid++) {
|
|
173
183
|
super();
|
|
184
|
+
this.pid = pid;
|
|
174
185
|
this.stdout = new EventEmitter();
|
|
175
186
|
this.stderr = new EventEmitter();
|
|
176
187
|
const self = this;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@php-wasm/util",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"typedoc": {
|
|
6
6
|
"entryPoint": "./src/index.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"access": "public",
|
|
13
13
|
"directory": "../../../dist/packages/php-wasm/util"
|
|
14
14
|
},
|
|
15
|
-
"gitHead": "
|
|
15
|
+
"gitHead": "3f137306ec8e3b10ec0674a1fe69ee43349edb4a",
|
|
16
16
|
"engines": {
|
|
17
17
|
"node": ">=18.18.2",
|
|
18
18
|
"npm": ">=8.11.0"
|