bonescript-compiler 0.5.1 → 0.5.2
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/dist/lowering.js +19 -0
- package/dist/lowering.js.map +1 -1
- package/package.json +1 -1
- package/src/lowering.ts +27 -1
package/dist/lowering.js
CHANGED
|
@@ -45,6 +45,25 @@ class Lowering {
|
|
|
45
45
|
const relatedCaps = capabilities.filter(c => c.params.some(p => p.type.kind === "EntityRefType" && p.type.name === entity.name));
|
|
46
46
|
modules.push((0, lowering_entities_1.lowerEntity)(this.systemName, entity, relatedCaps, stores));
|
|
47
47
|
}
|
|
48
|
+
// Standalone capabilities (no entity params) → utility api_service module
|
|
49
|
+
// These include algorithm capabilities, pure-function capabilities, etc.
|
|
50
|
+
const attachedCaps = new Set(entities.flatMap(entity => capabilities.filter(c => c.params.some(p => p.type.kind === "EntityRefType" && p.type.name === entity.name))));
|
|
51
|
+
const standaloneCaps = capabilities.filter(c => !attachedCaps.has(c));
|
|
52
|
+
if (standaloneCaps.length > 0) {
|
|
53
|
+
const utilMethods = standaloneCaps.map(cap => (0, lowering_entities_1.lowerCapability)(cap));
|
|
54
|
+
modules.push({
|
|
55
|
+
id: (0, lowering_helpers_1.makeId)(this.systemName, "api_service", "UtilityService"),
|
|
56
|
+
kind: "api_service",
|
|
57
|
+
name: "UtilityService",
|
|
58
|
+
interfaces: [{ name: "IUtilityService", methods: utilMethods }],
|
|
59
|
+
models: [],
|
|
60
|
+
events: [],
|
|
61
|
+
state_machines: [],
|
|
62
|
+
relations: [],
|
|
63
|
+
dependencies: [],
|
|
64
|
+
config: { authenticated: false, auth_method: "none" },
|
|
65
|
+
});
|
|
66
|
+
}
|
|
48
67
|
// Channels → realtime_service modules
|
|
49
68
|
for (const channel of channels) {
|
|
50
69
|
modules.push((0, lowering_channels_1.lowerChannel)(this.systemName, channel));
|
package/dist/lowering.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowering.js","sourceRoot":"","sources":["../src/lowering.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAIH,yDAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"lowering.js","sourceRoot":"","sources":["../src/lowering.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/lowering.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import * as AST from "./ast";
|
|
12
12
|
import * as IR from "./ir";
|
|
13
13
|
import { makeId, serializeExpr, serializeType } from "./lowering_helpers";
|
|
14
|
-
import { lowerEntity } from "./lowering_entities";
|
|
14
|
+
import { lowerEntity, lowerCapability } from "./lowering_entities";
|
|
15
15
|
import { lowerStore, lowerChannel, lowerEvent, lowerFlow } from "./lowering_channels";
|
|
16
16
|
|
|
17
17
|
export class Lowering {
|
|
@@ -53,6 +53,32 @@ export class Lowering {
|
|
|
53
53
|
modules.push(lowerEntity(this.systemName, entity, relatedCaps, stores));
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
// Standalone capabilities (no entity params) → utility api_service module
|
|
57
|
+
// These include algorithm capabilities, pure-function capabilities, etc.
|
|
58
|
+
const attachedCaps = new Set(
|
|
59
|
+
entities.flatMap(entity =>
|
|
60
|
+
capabilities.filter(c =>
|
|
61
|
+
c.params.some(p => p.type.kind === "EntityRefType" && p.type.name === entity.name)
|
|
62
|
+
)
|
|
63
|
+
)
|
|
64
|
+
);
|
|
65
|
+
const standaloneCaps = capabilities.filter(c => !attachedCaps.has(c));
|
|
66
|
+
if (standaloneCaps.length > 0) {
|
|
67
|
+
const utilMethods = standaloneCaps.map(cap => lowerCapability(cap));
|
|
68
|
+
modules.push({
|
|
69
|
+
id: makeId(this.systemName, "api_service", "UtilityService"),
|
|
70
|
+
kind: "api_service",
|
|
71
|
+
name: "UtilityService",
|
|
72
|
+
interfaces: [{ name: "IUtilityService", methods: utilMethods }],
|
|
73
|
+
models: [],
|
|
74
|
+
events: [],
|
|
75
|
+
state_machines: [],
|
|
76
|
+
relations: [],
|
|
77
|
+
dependencies: [],
|
|
78
|
+
config: { authenticated: false, auth_method: "none" },
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
56
82
|
// Channels → realtime_service modules
|
|
57
83
|
for (const channel of channels) {
|
|
58
84
|
modules.push(lowerChannel(this.systemName, channel));
|