@awesome-ecs/abstract 0.13.2 → 0.14.1

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 (74) hide show
  1. package/components.d.ts +1 -0
  2. package/dist/components/identity-component.js +1 -1
  3. package/dist/components/identity-component.js.map +1 -1
  4. package/dist/components/index.d.ts +2 -0
  5. package/dist/components/index.js +19 -0
  6. package/dist/components/index.js.map +1 -0
  7. package/dist/entities/entity-queue.js +1 -1
  8. package/dist/entities/entity-queue.js.map +1 -1
  9. package/dist/entities/index.d.ts +7 -0
  10. package/dist/entities/index.js +24 -0
  11. package/dist/entities/index.js.map +1 -0
  12. package/dist/factories/context-factory.d.ts +3 -3
  13. package/dist/factories/index.d.ts +2 -0
  14. package/dist/factories/index.js +19 -0
  15. package/dist/factories/index.js.map +1 -0
  16. package/dist/factories/pipeline-factory.d.ts +4 -4
  17. package/dist/pipelines/index.d.ts +4 -0
  18. package/dist/pipelines/index.js +21 -0
  19. package/dist/pipelines/index.js.map +1 -0
  20. package/dist/pipelines/middleware-stop.d.ts +2 -1
  21. package/dist/pipelines/middleware.d.ts +4 -3
  22. package/dist/pipelines/pipeline.d.ts +3 -4
  23. package/dist/runtime/index.d.ts +3 -0
  24. package/dist/runtime/index.js +20 -0
  25. package/dist/runtime/index.js.map +1 -0
  26. package/dist/runtime/runtime-pipeline.d.ts +2 -2
  27. package/dist/runtime/runtime-status.js +1 -1
  28. package/dist/runtime/runtime-status.js.map +1 -1
  29. package/dist/systems/context/system-context-entity.d.ts +8 -0
  30. package/dist/systems/{system-pipeline-context.js → context/system-context-entity.js} +1 -1
  31. package/dist/systems/context/system-context-entity.js.map +1 -0
  32. package/dist/systems/context/system-context-scheduler.d.ts +1 -1
  33. package/dist/systems/context/system-context-snapshot.d.ts +3 -4
  34. package/dist/systems/index.d.ts +13 -0
  35. package/dist/systems/index.js +30 -0
  36. package/dist/systems/index.js.map +1 -0
  37. package/dist/systems/runtime/systems-runtime-context.d.ts +10 -8
  38. package/dist/systems/system-context.d.ts +26 -0
  39. package/dist/{factories/runtime-factory.js → systems/system-context.js} +1 -1
  40. package/dist/systems/system-context.js.map +1 -0
  41. package/dist/systems/{system-pipeline-middleware.d.ts → system-middleware.d.ts} +2 -2
  42. package/dist/systems/{system-pipeline-middleware.js → system-middleware.js} +1 -1
  43. package/dist/systems/system-middleware.js.map +1 -0
  44. package/dist/systems/{system-pipeline-type.d.ts → system-type.d.ts} +3 -3
  45. package/dist/systems/system-type.js +15 -0
  46. package/dist/systems/system-type.js.map +1 -0
  47. package/dist/systems/systems-module.d.ts +4 -4
  48. package/dist/systems/systems-runtime.d.ts +1 -1
  49. package/dist/utils/index.d.ts +4 -0
  50. package/dist/utils/index.js +21 -0
  51. package/dist/utils/index.js.map +1 -0
  52. package/dist/utils/logger.d.ts +19 -0
  53. package/dist/utils/logger.js +11 -0
  54. package/dist/utils/logger.js.map +1 -0
  55. package/entities.d.ts +1 -0
  56. package/factories.d.ts +1 -0
  57. package/package.json +38 -10
  58. package/pipelines.d.ts +1 -0
  59. package/runtime.d.ts +1 -0
  60. package/systems.d.ts +1 -0
  61. package/utils.d.ts +1 -0
  62. package/dist/factories/runtime-factory.d.ts +0 -10
  63. package/dist/factories/runtime-factory.js.map +0 -1
  64. package/dist/index.d.ts +0 -35
  65. package/dist/index.js +0 -52
  66. package/dist/index.js.map +0 -1
  67. package/dist/pipelines/pipeline-type.d.ts +0 -7
  68. package/dist/pipelines/pipeline-type.js +0 -12
  69. package/dist/pipelines/pipeline-type.js.map +0 -1
  70. package/dist/systems/system-pipeline-context.d.ts +0 -21
  71. package/dist/systems/system-pipeline-context.js.map +0 -1
  72. package/dist/systems/system-pipeline-middleware.js.map +0 -1
  73. package/dist/systems/system-pipeline-type.js +0 -15
  74. package/dist/systems/system-pipeline-type.js.map +0 -1
@@ -0,0 +1 @@
1
+ export * from './dist/components';
@@ -4,5 +4,5 @@ exports.BasicComponentType = void 0;
4
4
  var BasicComponentType;
5
5
  (function (BasicComponentType) {
6
6
  BasicComponentType["identity"] = "identity";
7
- })(BasicComponentType = exports.BasicComponentType || (exports.BasicComponentType = {}));
7
+ })(BasicComponentType || (exports.BasicComponentType = BasicComponentType = {}));
8
8
  //# sourceMappingURL=identity-component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-component.js","sourceRoot":"","sources":["../../src/components/identity-component.ts"],"names":[],"mappings":";;;AAIA,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;AACvB,CAAC,EAFW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAE7B"}
1
+ {"version":3,"file":"identity-component.js","sourceRoot":"","sources":["../../src/components/identity-component.ts"],"names":[],"mappings":";;;AAIA,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;AACvB,CAAC,EAFW,kBAAkB,kCAAlB,kBAAkB,QAE7B"}
@@ -0,0 +1,2 @@
1
+ export * from "./component";
2
+ export * from "./identity-component";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./component"), exports);
18
+ __exportStar(require("./identity-component"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,uDAAqC"}
@@ -8,5 +8,5 @@ var EntityUpdateType;
8
8
  (function (EntityUpdateType) {
9
9
  EntityUpdateType["update"] = "update";
10
10
  EntityUpdateType["remove"] = "remove";
11
- })(EntityUpdateType = exports.EntityUpdateType || (exports.EntityUpdateType = {}));
11
+ })(EntityUpdateType || (exports.EntityUpdateType = EntityUpdateType = {}));
12
12
  //# sourceMappingURL=entity-queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-queue.js","sourceRoot":"","sources":["../../src/entities/entity-queue.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;AACnB,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B"}
1
+ {"version":3,"file":"entity-queue.js","sourceRoot":"","sources":["../../src/entities/entity-queue.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;AACnB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B"}
@@ -0,0 +1,7 @@
1
+ export * from "./entity";
2
+ export * from "./entity-events";
3
+ export * from "./entity-proxies";
4
+ export * from "./entity-queue";
5
+ export * from "./entity-repository";
6
+ export * from "./entity-scheduler";
7
+ export * from "./entity-snapshot";
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./entity"), exports);
18
+ __exportStar(require("./entity-events"), exports);
19
+ __exportStar(require("./entity-proxies"), exports);
20
+ __exportStar(require("./entity-queue"), exports);
21
+ __exportStar(require("./entity-repository"), exports);
22
+ __exportStar(require("./entity-scheduler"), exports);
23
+ __exportStar(require("./entity-snapshot"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,kDAAgC;AAChC,mDAAiC;AACjC,iDAA+B;AAC/B,sDAAoC;AACpC,qDAAmC;AACnC,oDAAkC"}
@@ -1,9 +1,9 @@
1
1
  import { IEntity } from "../entities/entity";
2
- import { ISystemPipelineContext } from "../systems/system-pipeline-context";
2
+ import { ISystemsRuntimeContext } from "../systems/runtime/systems-runtime-context";
3
3
  /**
4
- * The IContextFactory can be used as an abstraction layer to quickly create SystemPipelineContext objects,
4
+ * The IContextFactory can be used as an abstraction layer to quickly create Pipeline Contexts,
5
5
  * without having to manually resolve all of their dependencies.
6
6
  */
7
7
  export interface IContextFactory {
8
- createPipelineContext<TEntity extends IEntity>(entity: TEntity): ISystemPipelineContext<TEntity>;
8
+ createRuntimeContext<TEntity extends IEntity>(): ISystemsRuntimeContext<TEntity>;
9
9
  }
@@ -0,0 +1,2 @@
1
+ export * from "./context-factory";
2
+ export * from "./pipeline-factory";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./context-factory"), exports);
18
+ __exportStar(require("./pipeline-factory"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC"}
@@ -1,11 +1,11 @@
1
+ import { IEntity } from "../entities/entity";
1
2
  import { IPipeline } from "../pipelines/pipeline";
2
- import { PipelineType } from "../pipelines/pipeline-type";
3
+ import { IRuntimePipeline } from "../runtime/runtime-pipeline";
3
4
  /**
4
5
  * The PipelineFactory can be used as an abstraction layer to quickly create IPipeline objects,
5
6
  * without having to manually resolve all of their dependencies.
6
7
  */
7
8
  export interface IPipelineFactory {
8
- createPipeline<TContext>(type: PipelineType): IPipeline<TContext>;
9
- createAsyncPipeline<TContext>(): IPipeline<TContext>;
10
- createSyncPipeline<TContext>(): IPipeline<TContext>;
9
+ createPipeline<TContext>(): IPipeline<TContext>;
10
+ createRuntimePipeline<TEntity extends IEntity>(): IRuntimePipeline<TEntity>;
11
11
  }
@@ -0,0 +1,4 @@
1
+ export * from "./middleware";
2
+ export * from "./middleware-result";
3
+ export * from "./middleware-stop";
4
+ export * from "./pipeline";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./middleware"), exports);
18
+ __exportStar(require("./middleware-result"), exports);
19
+ __exportStar(require("./middleware-stop"), exports);
20
+ __exportStar(require("./pipeline"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipelines/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,sDAAoC;AACpC,oDAAkC;AAClC,6CAA2B"}
@@ -1,4 +1,5 @@
1
+ import { RuntimeStatus } from "../runtime/runtime-status";
1
2
  /**
2
3
  * 'Stop' function, passed to a middleware. Call it to break the pipeline execution.
3
4
  */
4
- export type Stop = () => void;
5
+ export type Stop = (status?: RuntimeStatus) => void;
@@ -4,21 +4,22 @@ import { MiddlewareResult } from "./middleware-result";
4
4
  * A middleware, the building block of a Pipeline. The middlewares will get called in the same order they get registered in the Pipeline.
5
5
  */
6
6
  export interface IMiddleware<TContext, TResult = MiddlewareResult> {
7
+ readonly name?: string;
7
8
  /**
8
9
  * This (optional) function gets called before executing the middleware. It acts as a boolean gateway whether enough conditions are
9
10
  * being met so this middleware's action should run.
10
11
  * @param context The Context to determine whether the run condition is satisfied.
11
12
  */
12
- shouldRun?(context: TContext): Promise<boolean> | boolean;
13
+ shouldRun?(context: TContext): boolean;
13
14
  /**
14
15
  * The function gets called as part of the pipeline, based on the registration order.
15
16
  * @param context The Context can be read or updated. The Context holds all the state necessary for the execution of the middleware.
16
17
  * @param stop The function to halt the execution of the Pipeline. The next Middlewares won't be called anymore.
17
18
  */
18
- action(context: TContext, stop: Stop): Promise<TResult> | TResult;
19
+ action(context: TContext, stop: Stop): TResult;
19
20
  /**
20
21
  * This (optional) function gets called when the cleanup of the Pipeline is necessary, based on reverse order of Middleware registration.
21
22
  * @param context Part of the Context should be cleaned, and any allocated resources in the Action, should be disposed.
22
23
  */
23
- cleanup?(context: TContext): Promise<TResult> | TResult;
24
+ cleanup?(context: TContext): TResult;
24
25
  }
@@ -1,12 +1,11 @@
1
1
  import { IRuntimeResult } from "../runtime/runtime-result";
2
2
  import { IMiddleware } from "./middleware";
3
3
  import { MiddlewareResult } from "./middleware-result";
4
- import { PipelineType } from "./pipeline-type";
5
4
  /**
6
5
  * A middleware container and dispatcher.
7
6
  */
8
7
  export interface IPipeline<TContext, TMiddlewareResult = MiddlewareResult> {
9
- readonly type: PipelineType;
8
+ readonly name?: string;
10
9
  /**
11
10
  * Register middlewares for this pipeline, in order.
12
11
  */
@@ -14,9 +13,9 @@ export interface IPipeline<TContext, TMiddlewareResult = MiddlewareResult> {
14
13
  /**
15
14
  * Execute the chain of middlewares, in the order they were added on a given Context.
16
15
  */
17
- dispatch(context: TContext): IRuntimeResult<TMiddlewareResult> | Promise<IRuntimeResult<TMiddlewareResult>>;
16
+ dispatch(context: TContext): IRuntimeResult<TMiddlewareResult>;
18
17
  /**
19
18
  * Runs the Cleanup function on all middlewares.
20
19
  */
21
- cleanup(context: TContext): IRuntimeResult<TMiddlewareResult> | Promise<IRuntimeResult<TMiddlewareResult>>;
20
+ cleanup(context: TContext): IRuntimeResult<TMiddlewareResult>;
22
21
  }
@@ -0,0 +1,3 @@
1
+ export * from "./runtime-pipeline";
2
+ export * from "./runtime-result";
3
+ export * from "./runtime-status";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./runtime-pipeline"), exports);
18
+ __exportStar(require("./runtime-result"), exports);
19
+ __exportStar(require("./runtime-status"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,mDAAiC;AACjC,mDAAiC"}
@@ -6,6 +6,6 @@ import { IRuntimeResult } from "./runtime-result";
6
6
  * It should provide a way to make the runtime SYNC or ASYNC by setting the PipelineType flag.
7
7
  */
8
8
  export interface IRuntimePipeline<TEntity extends IEntity> {
9
- dispatch(context: ISystemsRuntimeContext<TEntity>): IRuntimeResult | Promise<IRuntimeResult>;
10
- cleanup(context: ISystemsRuntimeContext<TEntity>): IRuntimeResult | Promise<IRuntimeResult>;
9
+ cleanup(context: ISystemsRuntimeContext<TEntity>): IRuntimeResult;
10
+ dispatch(context: ISystemsRuntimeContext<TEntity>): IRuntimeResult;
11
11
  }
@@ -8,5 +8,5 @@ var RuntimeStatus;
8
8
  (function (RuntimeStatus) {
9
9
  RuntimeStatus["completed"] = "completed";
10
10
  RuntimeStatus["halted"] = "halted";
11
- })(RuntimeStatus = exports.RuntimeStatus || (exports.RuntimeStatus = {}));
11
+ })(RuntimeStatus || (exports.RuntimeStatus = RuntimeStatus = {}));
12
12
  //# sourceMappingURL=runtime-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-status.js","sourceRoot":"","sources":["../../src/runtime/runtime-status.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;AACnB,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
1
+ {"version":3,"file":"runtime-status.js","sourceRoot":"","sources":["../../src/runtime/runtime-status.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;AACnB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
@@ -0,0 +1,8 @@
1
+ import { IEntity } from "../../entities/entity";
2
+ import { IEntityUpdate } from "../../entities/entity-queue";
3
+ export interface ISystemContextEntity {
4
+ readonly entity: IEntity;
5
+ readonly update: IEntityUpdate;
6
+ setEntity(entity: IEntity): void;
7
+ setUpdate(update: IEntityUpdate): void;
8
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=system-pipeline-context.js.map
3
+ //# sourceMappingURL=system-context-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-context-entity.js","sourceRoot":"","sources":["../../../src/systems/context/system-context-entity.ts"],"names":[],"mappings":""}
@@ -4,6 +4,6 @@ import { IEntityProxy } from "../../entities/entity-proxies";
4
4
  * The access is made in a SystemMiddleware through the provided ISystemPipelineContext.
5
5
  */
6
6
  export interface ISystemContextScheduler {
7
- scheduleUpdateOnInterval(target?: IEntityProxy, intervalMs?: number): void;
8
7
  clearUpdateOnInterval(target?: IEntityProxy): void;
8
+ scheduleUpdateOnInterval(target?: IEntityProxy, intervalMs?: number): void;
9
9
  }
@@ -7,9 +7,8 @@ import { IJsonSerializer } from "../../utils/json-serializer";
7
7
  * The access is made in a SystemMiddleware through the provided ISystemPipelineContext.
8
8
  */
9
9
  export interface ISystemContextSnapshot {
10
- readonly appliedSnapshot: IEntitySnapshot;
11
10
  readonly serializer: IJsonSerializer;
12
- applySnapshot(snapshot: IEntitySnapshot): void;
13
- createSnapshot(entity?: IEntity): IEntitySnapshot;
14
- dispatchSnapshot(snapshot: IEntitySnapshot, proxy?: IEntityProxy): void;
11
+ applyToEntity(snapshot: IEntitySnapshot): void;
12
+ createFromEntity(entity?: IEntity): IEntitySnapshot;
13
+ dispatchToUpdate(snapshot: IEntitySnapshot, proxy?: IEntityProxy): void;
15
14
  }
@@ -0,0 +1,13 @@
1
+ export * from "./context/system-context-entity";
2
+ export * from "./context/system-context-events";
3
+ export * from "./context/system-context-proxies";
4
+ export * from "./context/system-context-repository";
5
+ export * from "./context/system-context-scheduler";
6
+ export * from "./context/system-context-snapshot";
7
+ export * from "./runtime/systems-runtime-context";
8
+ export * from "./runtime/systems-runtime-middleware";
9
+ export * from "./system-middleware";
10
+ export * from "./system-context";
11
+ export * from "./system-type";
12
+ export * from "./systems-module";
13
+ export * from "./systems-runtime";
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./context/system-context-entity"), exports);
18
+ __exportStar(require("./context/system-context-events"), exports);
19
+ __exportStar(require("./context/system-context-proxies"), exports);
20
+ __exportStar(require("./context/system-context-repository"), exports);
21
+ __exportStar(require("./context/system-context-scheduler"), exports);
22
+ __exportStar(require("./context/system-context-snapshot"), exports);
23
+ __exportStar(require("./runtime/systems-runtime-context"), exports);
24
+ __exportStar(require("./runtime/systems-runtime-middleware"), exports);
25
+ __exportStar(require("./system-middleware"), exports);
26
+ __exportStar(require("./system-context"), exports);
27
+ __exportStar(require("./system-type"), exports);
28
+ __exportStar(require("./systems-module"), exports);
29
+ __exportStar(require("./systems-runtime"), exports);
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/systems/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,kEAAgD;AAChD,mEAAiD;AACjD,sEAAoD;AACpD,qEAAmD;AACnD,oEAAkD;AAClD,oEAAkD;AAClD,uEAAqD;AACrD,sDAAoC;AACpC,mDAAiC;AACjC,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC"}
@@ -1,18 +1,20 @@
1
- import { IEntity } from "../../entities/entity";
1
+ import { IEntity, IEntityModel } from "../../entities/entity";
2
2
  import { IEntityUpdate } from "../../entities/entity-queue";
3
3
  import { IEntityRepository } from "../../entities/entity-repository";
4
4
  import { IPipeline } from "../../pipelines/pipeline";
5
- import { ISystemPipelineContext } from "../system-pipeline-context";
6
- import { SystemPipelineType } from "../system-pipeline-type";
5
+ import { ISystemContextEntity } from "../context/system-context-entity";
6
+ import { ISystemContext } from "../system-context";
7
+ import { SystemType } from "../system-type";
7
8
  /**
8
9
  * The ISystemsRuntimeContext is the Context passed by a SystemsRuntimePipeline.
9
10
  * It helps orchestrate the execution of SystemPipelines registered in the SystemsModule.
10
11
  */
11
12
  export interface ISystemsRuntimeContext<TEntity extends IEntity> {
12
- readonly entityRepository: IEntityRepository;
13
+ readonly initEntity: (model: IEntityModel) => IEntity;
13
14
  readonly entityUpdate: IEntityUpdate;
14
- readonly initializeEntity?: boolean;
15
- readonly allowedSteps: Map<SystemPipelineType, boolean>;
16
- readonly pipelineContext: ISystemPipelineContext<TEntity>;
17
- readonly systemPipelines: ReadonlyMap<SystemPipelineType, IPipeline<ISystemPipelineContext<TEntity>>>;
15
+ readonly entity: ISystemContextEntity;
16
+ readonly entityRepository: IEntityRepository;
17
+ readonly allowedSteps: Map<SystemType, boolean>;
18
+ readonly systemPipelines: ReadonlyMap<SystemType, IPipeline<ISystemContext<TEntity>>>;
19
+ readonly systemContext: ISystemContext<TEntity>;
18
20
  }
@@ -0,0 +1,26 @@
1
+ import { IEntity } from "../entities/entity";
2
+ import { IEntityUpdate } from "../entities/entity-queue";
3
+ import { ILogger } from "../utils/logger";
4
+ import { Immutable } from "../utils/types";
5
+ import { ISystemContextEvents } from "./context/system-context-events";
6
+ import { ISystemContextProxies } from "./context/system-context-proxies";
7
+ import { ISystemContextRepository } from "./context/system-context-repository";
8
+ import { ISystemContextScheduler } from "./context/system-context-scheduler";
9
+ import { ISystemContextSnapshot } from "./context/system-context-snapshot";
10
+ /**
11
+ * The ISystemContext is the Context passed to a SystemMiddleware as part of the Pipeline Dispatch.
12
+ * It's an abstraction layer so that the Middleware code won't have explicit dependencies on other parts of the ECS.
13
+ *
14
+ * Any State changes done by the SystemMiddleware are executed using the APIs provided by the ISystemContext.
15
+ */
16
+ export interface ISystemContext<TEntity extends IEntity> {
17
+ readonly deltaTimeMs: Immutable<number>;
18
+ readonly entity: Immutable<TEntity>;
19
+ readonly update: Immutable<IEntityUpdate>;
20
+ readonly events: Immutable<ISystemContextEvents>;
21
+ readonly proxies: Immutable<ISystemContextProxies>;
22
+ readonly repository: Immutable<ISystemContextRepository>;
23
+ readonly scheduler: Immutable<ISystemContextScheduler>;
24
+ readonly snapshot: Immutable<ISystemContextSnapshot>;
25
+ readonly logger: Immutable<ILogger>;
26
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=runtime-factory.js.map
3
+ //# sourceMappingURL=system-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-context.js","sourceRoot":"","sources":["../../src/systems/system-context.ts"],"names":[],"mappings":""}
@@ -1,8 +1,8 @@
1
1
  import { IEntity } from "../entities/entity";
2
2
  import { IMiddleware } from "../pipelines/middleware";
3
- import { ISystemPipelineContext } from "./system-pipeline-context";
3
+ import { ISystemContext } from "./system-context";
4
4
  /**
5
5
  * The SystemMiddleware is the basic System implementation that can be registered as a Middleware in a SystemPipeline.
6
6
  * It provides a SystemPipelineContext to it's exposed methods.
7
7
  */
8
- export type ISystemMiddleware<TEntity extends IEntity> = IMiddleware<ISystemPipelineContext<TEntity>>;
8
+ export type ISystemMiddleware<TEntity extends IEntity> = IMiddleware<ISystemContext<TEntity>>;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=system-pipeline-middleware.js.map
3
+ //# sourceMappingURL=system-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-middleware.js","sourceRoot":"","sources":["../../src/systems/system-middleware.ts"],"names":[],"mappings":""}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * The built-in ECS pipeline types. They can be extended to introduce more types, and the SystemRuntimePipeline should
3
- * add Middlewares to handle the newly added types.
2
+ * The built-in ECS pipeline types. They can be extended to introduce more types, and the System Runtime Pipeline should
3
+ * add Middleware to handle the newly added types.
4
4
  */
5
- export declare enum SystemPipelineType {
5
+ export declare enum SystemType {
6
6
  initialize = "initialize",
7
7
  update = "update",
8
8
  render = "render",
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SystemType = void 0;
4
+ /**
5
+ * The built-in ECS pipeline types. They can be extended to introduce more types, and the System Runtime Pipeline should
6
+ * add Middleware to handle the newly added types.
7
+ */
8
+ var SystemType;
9
+ (function (SystemType) {
10
+ SystemType["initialize"] = "initialize";
11
+ SystemType["update"] = "update";
12
+ SystemType["render"] = "render";
13
+ SystemType["sync"] = "sync";
14
+ })(SystemType || (exports.SystemType = SystemType = {}));
15
+ //# sourceMappingURL=system-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-type.js","sourceRoot":"","sources":["../../src/systems/system-type.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;AACf,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB"}
@@ -1,8 +1,8 @@
1
1
  import { IEntity } from "../entities/entity";
2
2
  import { IEntityUpdate } from "../entities/entity-queue";
3
3
  import { IRuntimeResult } from "../runtime/runtime-result";
4
- import { ISystemMiddleware } from "./system-pipeline-middleware";
5
- import { SystemPipelineType } from "./system-pipeline-type";
4
+ import { ISystemMiddleware } from "./system-middleware";
5
+ import { SystemType } from "./system-type";
6
6
  /**
7
7
  * The SystemModule is the main way of registering and triggering the SystemMiddlewares registered for an Entity.
8
8
  * It can handle EntityUpdate objects and decides which SystemPipelines to trigger based on the information in the EntityUpdate.
@@ -13,10 +13,10 @@ export interface ISystemsModule<TEntity extends IEntity> {
13
13
  * @param systems The SystemMiddlewares will be registered in the provided SystemPipelineType in the same order as the provided array.
14
14
  * The SystemMiddlewares will be appended to existing Pipelines to allow easy extension of existing behaviors.
15
15
  */
16
- registerSystems(type: SystemPipelineType, systems: ISystemMiddleware<TEntity>[]): void;
16
+ registerSystems(type: SystemType, systems: ISystemMiddleware<TEntity>[]): void;
17
17
  /**
18
18
  * Trigger all registered SystemPipelines, to apply the changes from the provided EntityUpdate to an Entity instance.
19
19
  * @param update The EntityUpdate containing the desired changes to be applied on an Entity instance.
20
20
  */
21
- triggerSystems(update: IEntityUpdate): IRuntimeResult | Promise<IRuntimeResult>;
21
+ triggerSystems(update: IEntityUpdate): IRuntimeResult;
22
22
  }
@@ -12,5 +12,5 @@ export interface ISystemsRuntime {
12
12
  * The method should trigger the SystemsModule logic for the provided IEntityUpdate.
13
13
  * If no EntityUpdate is given, the SystemRuntime implementation can choose to dequeue one from the IEntityUpdateQueue.
14
14
  */
15
- runTick(update?: IEntityUpdate): IRuntimeResult | Promise<IRuntimeResult>;
15
+ runTick(update?: IEntityUpdate): IRuntimeResult;
16
16
  }
@@ -0,0 +1,4 @@
1
+ export * from "./json-serializer";
2
+ export * from "./performance-timer";
3
+ export * from "./types";
4
+ export * from "./logger";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./json-serializer"), exports);
18
+ __exportStar(require("./performance-timer"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./logger"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,sDAAoC;AACpC,0CAAwB;AACxB,2CAAyB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * An ILogger instance allows printing messages to console or other targets.
3
+ */
4
+ export interface ILogger {
5
+ log(level: LogLevel, message: string, ...args: any[]): void;
6
+ trace(message: string, ...args: any[]): void;
7
+ debug(message: string, ...args: any[]): void;
8
+ warn(message: string, ...args: any[]): void;
9
+ error(message: string, ...args: any[]): void;
10
+ }
11
+ export declare enum LogLevel {
12
+ trace = 0,
13
+ debug = 1,
14
+ warn = 2,
15
+ error = 3
16
+ }
17
+ export interface ILoggerOptions {
18
+ enabled: Map<LogLevel, boolean>;
19
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogLevel = void 0;
4
+ var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["trace"] = 0] = "trace";
7
+ LogLevel[LogLevel["debug"] = 1] = "debug";
8
+ LogLevel[LogLevel["warn"] = 2] = "warn";
9
+ LogLevel[LogLevel["error"] = 3] = "error";
10
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
11
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;AAYA,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yCAAK,CAAA;IACL,yCAAK,CAAA;IACL,uCAAI,CAAA;IACJ,yCAAK,CAAA;AACP,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
package/entities.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/entities';
package/factories.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/factories';
package/package.json CHANGED
@@ -1,19 +1,47 @@
1
1
  {
2
2
  "name": "@awesome-ecs/abstract",
3
- "version": "0.13.2",
3
+ "version": "0.14.1",
4
4
  "description": "A comprehensive Entity-Component-System (ECS) Architecture implementation. Abstract components.",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "files": [
8
- "dist"
9
- ],
10
5
  "scripts": {
11
- "build": "rimraf ./dist && npx tsc --build"
6
+ "build": "rimraf ./dist && npx tsc --build tsconfig.build.json"
12
7
  },
13
8
  "devDependencies": {
14
- "@types/node": "^18.11.18",
15
- "typescript": "^4.9.5"
9
+ "typescript": "^5.2.2"
10
+ },
11
+ "exports": {
12
+ "./components": {
13
+ "types": "./dist/components/index.d.ts",
14
+ "default": "./dist/components/index.js"
15
+ },
16
+ "./entities": {
17
+ "types": "./dist/entities/index.d.ts",
18
+ "default": "./dist/entities/index.js"
19
+ },
20
+ "./factories": {
21
+ "types": "./dist/factories/index.d.ts",
22
+ "default": "./dist/factories/index.js"
23
+ },
24
+ "./pipelines": {
25
+ "types": "./dist/pipelines/index.d.ts",
26
+ "default": "./dist/pipelines/index.js"
27
+ },
28
+ "./runtime": {
29
+ "types": "./dist/runtime/index.d.ts",
30
+ "default": "./dist/runtime/index.js"
31
+ },
32
+ "./systems": {
33
+ "types": "./dist/systems/index.d.ts",
34
+ "default": "./dist/systems/index.js"
35
+ },
36
+ "./utils": {
37
+ "types": "./dist/utils/index.d.ts",
38
+ "default": "./dist/utils/index.js"
39
+ }
16
40
  },
41
+ "files": [
42
+ "./dist",
43
+ "./*.d.ts"
44
+ ],
17
45
  "repository": {
18
46
  "type": "git",
19
47
  "url": "git+https://github.com/andreicojocaru/awesome-ecs.git"
@@ -33,5 +61,5 @@
33
61
  "url": "https://github.com/andreicojocaru/awesome-ecs/issues"
34
62
  },
35
63
  "homepage": "https://github.com/andreicojocaru/awesome-ecs#readme",
36
- "gitHead": "b1963b135e9d5598f6b731affd9a8bd6bf58551c"
64
+ "gitHead": "850e46cec9ea87bffd8f4e4c7ee5d53aaa1f98fe"
37
65
  }
package/pipelines.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/pipelines';
package/runtime.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/runtime';
package/systems.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/systems';
package/utils.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/utils';
@@ -1,10 +0,0 @@
1
- import { IEntity } from "../entities/entity";
2
- import { PipelineType } from "../pipelines/pipeline-type";
3
- import { IRuntimePipeline } from "../runtime/runtime-pipeline";
4
- /**
5
- * The RuntimeFactory can be used as an abstraction layer to quickly create IRuntimePipeline objects,
6
- * without having to manually resolve all of their dependencies.
7
- */
8
- export interface IRuntimeFactory {
9
- createRuntimePipeline<TEntity extends IEntity>(type: PipelineType): IRuntimePipeline<TEntity>;
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-factory.js","sourceRoot":"","sources":["../../src/factories/runtime-factory.ts"],"names":[],"mappings":""}
package/dist/index.d.ts DELETED
@@ -1,35 +0,0 @@
1
- export * from "./components/component";
2
- export * from "./components/identity-component";
3
- export * from "./entities/entity";
4
- export * from "./entities/entity-events";
5
- export * from "./entities/entity-proxies";
6
- export * from "./entities/entity-queue";
7
- export * from "./entities/entity-repository";
8
- export * from "./entities/entity-scheduler";
9
- export * from "./entities/entity-snapshot";
10
- export * from "./factories/context-factory";
11
- export * from "./factories/pipeline-factory";
12
- export * from "./factories/runtime-factory";
13
- export * from "./runtime/runtime-pipeline";
14
- export * from "./runtime/runtime-result";
15
- export * from "./runtime/runtime-status";
16
- export * from "./pipelines/middleware";
17
- export * from "./pipelines/middleware-result";
18
- export * from "./pipelines/middleware-stop";
19
- export * from "./pipelines/pipeline";
20
- export * from "./pipelines/pipeline-type";
21
- export * from "./systems/context/system-context-events";
22
- export * from "./systems/context/system-context-proxies";
23
- export * from "./systems/context/system-context-repository";
24
- export * from "./systems/context/system-context-scheduler";
25
- export * from "./systems/context/system-context-snapshot";
26
- export * from "./systems/runtime/systems-runtime-context";
27
- export * from "./systems/runtime/systems-runtime-middleware";
28
- export * from "./systems/system-pipeline-middleware";
29
- export * from "./systems/system-pipeline-context";
30
- export * from "./systems/system-pipeline-type";
31
- export * from "./systems/systems-module";
32
- export * from "./systems/systems-runtime";
33
- export * from "./utils/json-serializer";
34
- export * from "./utils/performance-timer";
35
- export * from "./utils/types";
package/dist/index.js DELETED
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./components/component"), exports);
18
- __exportStar(require("./components/identity-component"), exports);
19
- __exportStar(require("./entities/entity"), exports);
20
- __exportStar(require("./entities/entity-events"), exports);
21
- __exportStar(require("./entities/entity-proxies"), exports);
22
- __exportStar(require("./entities/entity-queue"), exports);
23
- __exportStar(require("./entities/entity-repository"), exports);
24
- __exportStar(require("./entities/entity-scheduler"), exports);
25
- __exportStar(require("./entities/entity-snapshot"), exports);
26
- __exportStar(require("./factories/context-factory"), exports);
27
- __exportStar(require("./factories/pipeline-factory"), exports);
28
- __exportStar(require("./factories/runtime-factory"), exports);
29
- __exportStar(require("./runtime/runtime-pipeline"), exports);
30
- __exportStar(require("./runtime/runtime-result"), exports);
31
- __exportStar(require("./runtime/runtime-status"), exports);
32
- __exportStar(require("./pipelines/middleware"), exports);
33
- __exportStar(require("./pipelines/middleware-result"), exports);
34
- __exportStar(require("./pipelines/middleware-stop"), exports);
35
- __exportStar(require("./pipelines/pipeline"), exports);
36
- __exportStar(require("./pipelines/pipeline-type"), exports);
37
- __exportStar(require("./systems/context/system-context-events"), exports);
38
- __exportStar(require("./systems/context/system-context-proxies"), exports);
39
- __exportStar(require("./systems/context/system-context-repository"), exports);
40
- __exportStar(require("./systems/context/system-context-scheduler"), exports);
41
- __exportStar(require("./systems/context/system-context-snapshot"), exports);
42
- __exportStar(require("./systems/runtime/systems-runtime-context"), exports);
43
- __exportStar(require("./systems/runtime/systems-runtime-middleware"), exports);
44
- __exportStar(require("./systems/system-pipeline-middleware"), exports);
45
- __exportStar(require("./systems/system-pipeline-context"), exports);
46
- __exportStar(require("./systems/system-pipeline-type"), exports);
47
- __exportStar(require("./systems/systems-module"), exports);
48
- __exportStar(require("./systems/systems-runtime"), exports);
49
- __exportStar(require("./utils/json-serializer"), exports);
50
- __exportStar(require("./utils/performance-timer"), exports);
51
- __exportStar(require("./utils/types"), exports);
52
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,kEAAgD;AAEhD,oDAAkC;AAClC,2DAAyC;AACzC,4DAA0C;AAC1C,0DAAwC;AACxC,+DAA6C;AAC7C,8DAA4C;AAC5C,6DAA2C;AAE3C,8DAA4C;AAC5C,+DAA6C;AAC7C,8DAA4C;AAE5C,6DAA2C;AAC3C,2DAAyC;AACzC,2DAAyC;AAEzC,yDAAuC;AACvC,gEAA8C;AAC9C,8DAA4C;AAC5C,uDAAqC;AACrC,4DAA0C;AAE1C,0EAAwD;AACxD,2EAAyD;AACzD,8EAA4D;AAC5D,6EAA2D;AAC3D,4EAA0D;AAE1D,4EAA0D;AAC1D,+EAA6D;AAE7D,uEAAqD;AACrD,oEAAkD;AAClD,iEAA+C;AAC/C,2DAAyC;AACzC,4DAA0C;AAE1C,0DAAwC;AACxC,4DAA0C;AAC1C,gDAA8B"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Specify how the runtime of the Pipeline should be handled.
3
- */
4
- export declare enum PipelineType {
5
- sync = 0,
6
- async = 1
7
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PipelineType = void 0;
4
- /**
5
- * Specify how the runtime of the Pipeline should be handled.
6
- */
7
- var PipelineType;
8
- (function (PipelineType) {
9
- PipelineType[PipelineType["sync"] = 0] = "sync";
10
- PipelineType[PipelineType["async"] = 1] = "async";
11
- })(PipelineType = exports.PipelineType || (exports.PipelineType = {}));
12
- //# sourceMappingURL=pipeline-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-type.js","sourceRoot":"","sources":["../../src/pipelines/pipeline-type.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAAI,CAAA;IACJ,iDAAK,CAAA;AACP,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB"}
@@ -1,21 +0,0 @@
1
- import { IEntity } from "../entities/entity";
2
- import { ISystemContextEvents } from "./context/system-context-events";
3
- import { ISystemContextProxies } from "./context/system-context-proxies";
4
- import { ISystemContextRepository } from "./context/system-context-repository";
5
- import { ISystemContextScheduler } from "./context/system-context-scheduler";
6
- import { ISystemContextSnapshot } from "./context/system-context-snapshot";
7
- /**
8
- * The ISystemPipelineContext is the Context passed to a SystemMiddleware as part of the Pipeline Dispatch.
9
- * It's an abstraction layer so that the Middleware code won't have explicit dependencies on other parts of the ECS.
10
- *
11
- * Any State changes done by the SystemMiddleware are executed using the APIs provided by the ISystemPipelineContext.
12
- */
13
- export interface ISystemPipelineContext<TEntity extends IEntity> {
14
- readonly deltaTimeMs: number;
15
- readonly entity: Readonly<TEntity>;
16
- readonly events: Readonly<ISystemContextEvents>;
17
- readonly proxies: Readonly<ISystemContextProxies>;
18
- readonly repository: Readonly<ISystemContextRepository>;
19
- readonly scheduler: Readonly<ISystemContextScheduler>;
20
- readonly snapshot: Readonly<ISystemContextSnapshot>;
21
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-pipeline-context.js","sourceRoot":"","sources":["../../src/systems/system-pipeline-context.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-pipeline-middleware.js","sourceRoot":"","sources":["../../src/systems/system-pipeline-middleware.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SystemPipelineType = void 0;
4
- /**
5
- * The built-in ECS pipeline types. They can be extended to introduce more types, and the SystemRuntimePipeline should
6
- * add Middlewares to handle the newly added types.
7
- */
8
- var SystemPipelineType;
9
- (function (SystemPipelineType) {
10
- SystemPipelineType["initialize"] = "initialize";
11
- SystemPipelineType["update"] = "update";
12
- SystemPipelineType["render"] = "render";
13
- SystemPipelineType["sync"] = "sync";
14
- })(SystemPipelineType = exports.SystemPipelineType || (exports.SystemPipelineType = {}));
15
- //# sourceMappingURL=system-pipeline-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-pipeline-type.js","sourceRoot":"","sources":["../../src/systems/system-pipeline-type.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACf,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B"}