@flux-lang/core 0.1.29 → 0.1.32

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.
@@ -54,97 +54,149 @@ export function initRuntimeState(doc) {
54
54
  }
55
55
  /**
56
56
  * Run a single docstep:
57
- * - Evaluates all mode=docstep rules in document order.
57
+ * - Flushes any param/cell writes deferred from prior event handling.
58
+ * - Evaluates all mode=docstep rules in document order (multi-branch).
58
59
  * - Applies their effects in a second "commit" phase (last-writer wins).
59
60
  */
60
61
  export function runDocstepOnce(doc, prev) {
61
- const paramWrites = new Map();
62
- const cellWrites = new Map();
62
+ // Flush writes deferred from event handling before this docstep evaluates.
63
+ const base = flushPending(prev);
64
+ const writes = newWriteCollector();
65
+ const control = { advanceRequested: false };
63
66
  const docstepRules = (doc.rules ?? []).filter((rule) => rule.mode === "docstep");
64
67
  for (const rule of docstepRules) {
65
- if (rule.scope?.grid) {
66
- // Grid-scoped rule: run once per cell
67
- const gridId = rule.scope.grid;
68
- const gridState = prev.grids[gridId];
69
- if (!gridState)
70
- continue;
71
- const { rows, cols, cells } = gridState;
72
- for (let r = 0; r < rows; r++) {
73
- for (let c = 0; c < cols; c++) {
74
- const idx = r * cols + c;
75
- const cell = cells[idx];
76
- const neighbors = buildNeighborsNamespace(prev, gridId, r, c);
77
- const ctx = {
78
- params: prev.params,
79
- cell,
80
- neighbors,
81
- };
82
- const cond = evalExpr(rule.condition, ctx);
83
- if (typeof cond !== "boolean") {
84
- throw new Error(`Docstep rule '${rule.name}' condition did not evaluate to a boolean (got ${typeof cond})`);
85
- }
86
- if (cond) {
87
- applyStatements(rule.thenBranch, ctx, gridId, r, c, paramWrites, cellWrites);
88
- }
89
- }
90
- }
91
- }
92
- else {
93
- // Doc-scoped rule: run once, no cell/neighbors
94
- const ctx = {
95
- params: prev.params,
96
- };
97
- const cond = evalExpr(rule.condition, ctx);
98
- if (typeof cond !== "boolean") {
99
- throw new Error(`Docstep rule '${rule.name}' condition did not evaluate to a boolean (got ${typeof cond})`);
100
- }
101
- if (cond) {
102
- applyStatements(rule.thenBranch, ctx, undefined, undefined, undefined, paramWrites, cellWrites);
68
+ runRule(rule, base, writes, control);
69
+ }
70
+ return commitWrites(base, writes, { advanceDocstep: true });
71
+ }
72
+ /**
73
+ * Apply an event to the runtime: run all `mode=event` rules whose `onEventType`
74
+ * matches the event, then apply their effects according to the document's
75
+ * `runtime.eventsApply` policy:
76
+ * - "immediate": cell + param writes applied now.
77
+ * - "deferred": cell + param writes deferred to next docstep.
78
+ * - "cellImmediateParamsDeferred": cells now, params next docstep (default).
79
+ *
80
+ * If a matching rule calls `advanceDocstep()`, a docstep is run after the
81
+ * event's immediate writes are applied (which also flushes the deferred ones).
82
+ */
83
+ export function handleEvent(doc, state, event) {
84
+ const eventRules = (doc.rules ?? []).filter((rule) => rule.mode === "event" && eventTypeMatches(rule, event));
85
+ const writes = newWriteCollector();
86
+ const control = { advanceRequested: false };
87
+ for (const rule of eventRules) {
88
+ runRule(rule, state, writes, control, event);
89
+ }
90
+ const policy = doc.runtime?.eventsApply ?? "cellImmediateParamsDeferred";
91
+ let next = applyEventWrites(state, writes, policy);
92
+ // A rule-requested advance runs a full docstep, flushing deferred writes.
93
+ if (control.advanceRequested) {
94
+ next = runDocstepOnce(doc, next);
95
+ }
96
+ return next;
97
+ }
98
+ function eventTypeMatches(rule, event) {
99
+ // No declared type matches any event; otherwise require an exact match.
100
+ return rule.onEventType == null || rule.onEventType === event.type;
101
+ }
102
+ function newWriteCollector() {
103
+ return { paramWrites: new Map(), cellWrites: new Map() };
104
+ }
105
+ /**
106
+ * Run one rule over its scope. Grid-scoped rules evaluate once per cell with a
107
+ * `cell`/`neighbors` context; doc-scoped rules evaluate once.
108
+ */
109
+ function runRule(rule, prev, writes, control, event) {
110
+ if (rule.scope?.grid) {
111
+ const gridId = rule.scope.grid;
112
+ const gridState = prev.grids[gridId];
113
+ if (!gridState)
114
+ return;
115
+ const { rows, cols, cells } = gridState;
116
+ for (let r = 0; r < rows; r++) {
117
+ for (let c = 0; c < cols; c++) {
118
+ const cell = cells[r * cols + c];
119
+ const ctx = {
120
+ params: prev.params,
121
+ cell,
122
+ neighbors: buildNeighborsNamespace(prev, gridId, r, c),
123
+ locals: {},
124
+ event,
125
+ };
126
+ runBranches(rule, ctx, gridId, r, c, writes, control);
103
127
  }
104
128
  }
105
129
  }
106
- return applyWrites(prev, paramWrites, cellWrites);
130
+ else {
131
+ const ctx = { params: prev.params, locals: {}, event };
132
+ runBranches(rule, ctx, undefined, undefined, undefined, writes, control);
133
+ }
107
134
  }
108
135
  /**
109
- * Event handling is reserved for a later kernel milestone.
110
- * For now it is a documented no-op.
136
+ * Evaluate a rule's branches in order: the first branch whose condition is true
137
+ * runs its body; if none match, the optional else branch runs.
111
138
  */
112
- export function handleEvent(_doc, state, _event) {
113
- // v0.1 runtime kernel: event rules are not executed yet.
114
- return state;
139
+ function runBranches(rule, ctx, gridId, row, col, writes, control) {
140
+ const branches = rule.branches?.length ? rule.branches : [{ condition: rule.condition, thenBranch: rule.thenBranch }];
141
+ for (const branch of branches) {
142
+ const cond = evalExpr(branch.condition, ctx);
143
+ if (typeof cond !== "boolean") {
144
+ throw new Error(`Rule '${rule.name}' condition did not evaluate to a boolean (got ${typeof cond})`);
145
+ }
146
+ if (cond) {
147
+ applyStatements(branch.thenBranch, ctx, gridId, row, col, writes, control);
148
+ return;
149
+ }
150
+ }
151
+ if (rule.elseBranch) {
152
+ applyStatements(rule.elseBranch, ctx, gridId, row, col, writes, control);
153
+ }
115
154
  }
116
- function applyStatements(statements, ctx, gridId, row, col, paramWrites, cellWrites) {
155
+ function applyStatements(statements, ctx, gridId, row, col, writes, control) {
117
156
  for (const stmt of statements) {
118
157
  switch (stmt.kind) {
119
158
  case "AssignmentStatement":
120
- handleAssignment(stmt, ctx, gridId, row, col, paramWrites, cellWrites);
159
+ handleAssignment(stmt, ctx, gridId, row, col, writes);
121
160
  break;
122
- // v0.1 kernel: ignore other statement kinds (let, advanceDocstep, etc.)
123
- default:
161
+ case "LetStatement":
162
+ // Bind a local for the remainder of this rule/branch evaluation.
163
+ (ctx.locals ??= {})[stmt.name] = evalExpr(stmt.value, ctx);
124
164
  break;
165
+ case "AdvanceDocstepStatement":
166
+ control.advanceRequested = true;
167
+ break;
168
+ case "ExpressionStatement":
169
+ // Evaluated for completeness; the v0.1 calculus has no side effects
170
+ // outside of assignments, so the result is discarded.
171
+ evalExpr(stmt.expr, ctx);
172
+ break;
173
+ default: {
174
+ const _exhaustive = stmt;
175
+ void _exhaustive;
176
+ }
125
177
  }
126
178
  }
127
179
  }
128
- function handleAssignment(stmt, ctx, gridId, row, col, paramWrites, cellWrites) {
180
+ function handleAssignment(stmt, ctx, gridId, row, col, writes) {
129
181
  if (stmt.kind !== "AssignmentStatement")
130
182
  return;
131
183
  const target = stmt.target;
132
184
  const value = evalExpr(stmt.value, ctx);
133
185
  if (target.kind === "Identifier") {
134
186
  // Param assignment
135
- paramWrites.set(target.name, value);
187
+ writes.paramWrites.set(target.name, value);
136
188
  return;
137
189
  }
138
190
  if (target.kind === "MemberExpression" &&
139
191
  target.object.kind === "Identifier" &&
140
192
  target.object.name === "cell") {
141
193
  if (!gridId || row === undefined || col === undefined) {
142
- throw new Error("cell.* assignment is only allowed in grid-scoped docstep rules");
194
+ throw new Error("cell.* assignment is only allowed in grid-scoped rules");
143
195
  }
144
196
  const key = makeCellKey(gridId, row, col);
145
- const existing = cellWrites.get(key) ?? {};
197
+ const existing = writes.cellWrites.get(key) ?? {};
146
198
  existing[target.property] = value;
147
- cellWrites.set(key, existing);
199
+ writes.cellWrites.set(key, existing);
148
200
  return;
149
201
  }
150
202
  throw new Error("Unsupported assignment target in v0.1 runtime kernel");
@@ -152,47 +204,112 @@ function handleAssignment(stmt, ctx, gridId, row, col, paramWrites, cellWrites)
152
204
  function makeCellKey(gridId, row, col) {
153
205
  return `${gridId}:${row}:${col}`;
154
206
  }
155
- function applyWrites(prev, paramWrites, cellWrites) {
156
- // Clone params
157
- const params = { ...prev.params };
158
- for (const [name, value] of paramWrites) {
159
- params[name] = value;
160
- }
161
- // Clone grids and cells
207
+ /** Clone the grids of a state into a fresh, mutable structure. */
208
+ function cloneGrids(prev) {
162
209
  const grids = {};
163
210
  for (const [gridId, gridState] of Object.entries(prev.grids)) {
164
- const rows = gridState.rows;
165
- const cols = gridState.cols;
166
- const cells = gridState.cells.map((cell) => ({ ...cell }));
167
211
  grids[gridId] = {
168
212
  name: gridState.name ?? gridId,
169
- rows,
170
- cols,
171
- cells,
213
+ rows: gridState.rows,
214
+ cols: gridState.cols,
215
+ cells: gridState.cells.map((cell) => ({ ...cell })),
172
216
  };
173
217
  }
174
- // Apply cell patches (last writer wins)
218
+ return grids;
219
+ }
220
+ function applyParamWrites(params, paramWrites) {
221
+ for (const [name, value] of paramWrites) {
222
+ params[name] = value;
223
+ }
224
+ }
225
+ function applyCellWrites(grids, cellWrites) {
175
226
  for (const [key, patch] of cellWrites) {
176
227
  const [gridId, rowStr, colStr] = key.split(":");
177
- const r = Number(rowStr);
178
- const c = Number(colStr);
179
228
  const grid = grids[gridId];
180
229
  if (!grid)
181
230
  continue;
182
- const idx = r * grid.cols + c;
231
+ const idx = Number(rowStr) * grid.cols + Number(colStr);
183
232
  const cell = grid.cells[idx];
184
233
  if (!cell)
185
234
  continue;
186
235
  Object.assign(cell, patch);
187
236
  }
237
+ }
238
+ /** Apply collected writes immediately and (optionally) advance the docstep. */
239
+ function commitWrites(prev, writes, options) {
240
+ const params = { ...prev.params };
241
+ applyParamWrites(params, writes.paramWrites);
242
+ const grids = cloneGrids(prev);
243
+ applyCellWrites(grids, writes.cellWrites);
188
244
  return {
189
245
  doc: prev.doc,
190
- docstepIndex: prev.docstepIndex + 1,
246
+ docstepIndex: prev.docstepIndex + (options.advanceDocstep ? 1 : 0),
191
247
  params,
192
248
  grids,
193
249
  runtimeConfig: prev.runtimeConfig,
194
250
  };
195
251
  }
252
+ /**
253
+ * Apply event-rule writes under the given policy. Deferred writes are stashed on
254
+ * the returned state and flushed at the start of the next docstep. Does not
255
+ * advance the docstep on its own.
256
+ */
257
+ function applyEventWrites(prev, writes, policy) {
258
+ const paramsImmediate = policy === "immediate";
259
+ const cellsImmediate = policy === "immediate" || policy === "cellImmediateParamsDeferred";
260
+ const params = { ...prev.params };
261
+ const grids = cloneGrids(prev);
262
+ const pendingParamWrites = {
263
+ ...(prev.pendingParamWrites ?? {}),
264
+ };
265
+ const pendingCellWrites = {
266
+ ...(prev.pendingCellWrites ?? {}),
267
+ };
268
+ if (paramsImmediate) {
269
+ applyParamWrites(params, writes.paramWrites);
270
+ }
271
+ else {
272
+ for (const [name, value] of writes.paramWrites) {
273
+ pendingParamWrites[name] = value;
274
+ }
275
+ }
276
+ if (cellsImmediate) {
277
+ applyCellWrites(grids, writes.cellWrites);
278
+ }
279
+ else {
280
+ for (const [key, patch] of writes.cellWrites) {
281
+ pendingCellWrites[key] = { ...(pendingCellWrites[key] ?? {}), ...patch };
282
+ }
283
+ }
284
+ return {
285
+ doc: prev.doc,
286
+ docstepIndex: prev.docstepIndex,
287
+ params,
288
+ grids,
289
+ runtimeConfig: prev.runtimeConfig,
290
+ pendingParamWrites,
291
+ pendingCellWrites,
292
+ };
293
+ }
294
+ /** Merge any deferred event writes into a fresh state, clearing the queues. */
295
+ function flushPending(prev) {
296
+ const hasPending = (prev.pendingParamWrites && Object.keys(prev.pendingParamWrites).length > 0) ||
297
+ (prev.pendingCellWrites && Object.keys(prev.pendingCellWrites).length > 0);
298
+ if (!hasPending)
299
+ return prev;
300
+ const params = { ...prev.params, ...prev.pendingParamWrites };
301
+ const grids = cloneGrids(prev);
302
+ applyCellWrites(grids, new Map(Object.entries(prev.pendingCellWrites ?? {})));
303
+ return {
304
+ doc: prev.doc,
305
+ docstepIndex: prev.docstepIndex,
306
+ params,
307
+ grids,
308
+ runtimeConfig: prev.runtimeConfig,
309
+ pendingParamWrites: {},
310
+ pendingCellWrites: {},
311
+ };
312
+ }
196
313
  /* -------------------------------------------------------------------------- */
197
314
  /* Neighbors / expression eval */
198
315
  /* -------------------------------------------------------------------------- */
@@ -249,6 +366,10 @@ function evalExpr(expr, ctx) {
249
366
  }
250
367
  }
251
368
  function evalIdentifier(name, ctx) {
369
+ // Local `let` bindings shadow everything else for the current evaluation.
370
+ if (ctx.locals && Object.prototype.hasOwnProperty.call(ctx.locals, name)) {
371
+ return ctx.locals[name];
372
+ }
252
373
  if (name === "cell") {
253
374
  if (!ctx.cell) {
254
375
  throw new Error("'cell' is not defined in this context");
@@ -261,6 +382,12 @@ function evalIdentifier(name, ctx) {
261
382
  }
262
383
  return ctx.neighbors;
263
384
  }
385
+ if (name === "event") {
386
+ if (!ctx.event) {
387
+ throw new Error("'event' is only defined in event-mode rules");
388
+ }
389
+ return ctx.event;
390
+ }
264
391
  return ctx.params[name];
265
392
  }
266
393
  function evalUnary(op, argument, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/runtime/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/runtime/kernel.ts"],"names":[],"mappings":"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"}
@@ -142,5 +142,17 @@ export interface RuntimeState {
142
142
  * This mirrors FluxDocument.runtime and is not interpreted here.
143
143
  */
144
144
  runtimeConfig?: FluxRuntimeConfig;
145
+ /**
146
+ * Param writes produced by event rules under a deferred apply policy.
147
+ * They are flushed into `params` at the start of the next docstep.
148
+ * Keyed by param name, last-writer-wins.
149
+ */
150
+ pendingParamWrites?: Record<string, number | boolean | string>;
151
+ /**
152
+ * Cell writes produced by event rules under a fully-deferred apply policy.
153
+ * Flushed into the grids at the start of the next docstep. Keyed by
154
+ * `${gridId}:${row}:${col}`.
155
+ */
156
+ pendingCellWrites?: Record<string, Partial<RuntimeCellState>>;
145
157
  }
146
158
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/runtime/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACtB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,GAAG,IAAI,WAAW,EAAE,CAAC;CAIxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,GAAG,EAAE,YAAY,CAAC;IAElB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAElD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAExC;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACrC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/runtime/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACtB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,GAAG,IAAI,WAAW,EAAE,CAAC;CAIxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,GAAG,EAAE,YAAY,CAAC;IAElB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAElD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAExC;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAE/D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;CACjE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flux-lang/core",
3
- "version": "0.1.29",
3
+ "version": "0.1.32",
4
4
  "description": "Core AST, parser, and evaluator for the Flux score language.",
5
5
  "license": "MIT",
6
6
  "author": "Sebastian Suarez-Solis",
package/dist/args.d.ts DELETED
@@ -1,18 +0,0 @@
1
- export interface FlagMap {
2
- [key: string]: string | number | boolean;
3
- }
4
- export interface ParsedArgs {
5
- flags: FlagMap;
6
- positional: string[];
7
- }
8
- /**
9
- * Very small, predictable argv parser.
10
- * Supports:
11
- * --flag
12
- * --flag=value
13
- * --flag value
14
- * -q (single-char flags)
15
- * Everything else is treated as positional.
16
- */
17
- export declare function parseArgs(argv: string[]): ParsedArgs;
18
- //# sourceMappingURL=args.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA2CpD"}
package/dist/args.js DELETED
@@ -1,60 +0,0 @@
1
- // packages/cli/src/args.ts
2
- /**
3
- * Very small, predictable argv parser.
4
- * Supports:
5
- * --flag
6
- * --flag=value
7
- * --flag value
8
- * -q (single-char flags)
9
- * Everything else is treated as positional.
10
- */
11
- export function parseArgs(argv) {
12
- const flags = {};
13
- const positional = [];
14
- for (let i = 0; i < argv.length; i++) {
15
- const arg = argv[i];
16
- if (arg === "--") {
17
- positional.push(...argv.slice(i + 1));
18
- break;
19
- }
20
- if (arg.startsWith("--")) {
21
- const body = arg.slice(2);
22
- const eqIdx = body.indexOf("=");
23
- if (eqIdx !== -1) {
24
- const key = body.slice(0, eqIdx);
25
- const value = coerce(body.slice(eqIdx + 1));
26
- flags[key] = value;
27
- }
28
- else {
29
- const next = argv[i + 1];
30
- if (next && !next.startsWith("-")) {
31
- flags[body] = coerce(next);
32
- i++;
33
- }
34
- else {
35
- flags[body] = true;
36
- }
37
- }
38
- continue;
39
- }
40
- if (arg.startsWith("-") && arg.length > 1) {
41
- const letters = arg.slice(1).split("");
42
- for (const ch of letters) {
43
- flags[ch] = true;
44
- }
45
- continue;
46
- }
47
- positional.push(arg);
48
- }
49
- return { flags, positional };
50
- }
51
- function coerce(raw) {
52
- if (raw === "true")
53
- return true;
54
- if (raw === "false")
55
- return false;
56
- if (/^-?\d+(\.\d+)?$/.test(raw))
57
- return Number(raw);
58
- return raw;
59
- }
60
- //# sourceMappingURL=args.js.map
package/dist/args.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAW3B;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM;QACR,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5C,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvC,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YACnB,CAAC;YACD,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=flux.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flux.d.ts","sourceRoot":"","sources":["../../src/bin/flux.ts"],"names":[],"mappings":""}