custom-pixi-particles 5.2.0 → 8.0.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.
Files changed (128) hide show
  1. package/README.md +119 -82
  2. package/package.json +5 -5
  3. package/dist/index.d.ts +0 -11
  4. package/dist/index.js +0 -28
  5. package/dist/index.js.map +0 -1
  6. package/dist/lib/Model.d.ts +0 -32
  7. package/dist/lib/Model.js +0 -44
  8. package/dist/lib/Model.js.map +0 -1
  9. package/dist/lib/Particle.d.ts +0 -220
  10. package/dist/lib/Particle.js +0 -172
  11. package/dist/lib/Particle.js.map +0 -1
  12. package/dist/lib/ParticlePool.d.ts +0 -37
  13. package/dist/lib/ParticlePool.js +0 -56
  14. package/dist/lib/ParticlePool.js.map +0 -1
  15. package/dist/lib/behaviour/AngularVelocityBehaviour.d.ts +0 -57
  16. package/dist/lib/behaviour/AngularVelocityBehaviour.js +0 -87
  17. package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +0 -1
  18. package/dist/lib/behaviour/Behaviour.d.ts +0 -33
  19. package/dist/lib/behaviour/Behaviour.js +0 -45
  20. package/dist/lib/behaviour/Behaviour.js.map +0 -1
  21. package/dist/lib/behaviour/BehaviourNames.d.ts +0 -11
  22. package/dist/lib/behaviour/BehaviourNames.js +0 -11
  23. package/dist/lib/behaviour/BehaviourNames.js.map +0 -1
  24. package/dist/lib/behaviour/ColorBehaviour.d.ts +0 -45
  25. package/dist/lib/behaviour/ColorBehaviour.js +0 -77
  26. package/dist/lib/behaviour/ColorBehaviour.js.map +0 -1
  27. package/dist/lib/behaviour/EmitDirectionBehaviour.d.ts +0 -46
  28. package/dist/lib/behaviour/EmitDirectionBehaviour.js +0 -64
  29. package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +0 -1
  30. package/dist/lib/behaviour/EmitterBehaviours.d.ts +0 -63
  31. package/dist/lib/behaviour/EmitterBehaviours.js +0 -105
  32. package/dist/lib/behaviour/EmitterBehaviours.js.map +0 -1
  33. package/dist/lib/behaviour/LifeBehaviour.d.ts +0 -67
  34. package/dist/lib/behaviour/LifeBehaviour.js +0 -85
  35. package/dist/lib/behaviour/LifeBehaviour.js.map +0 -1
  36. package/dist/lib/behaviour/PositionBehaviour.d.ts +0 -177
  37. package/dist/lib/behaviour/PositionBehaviour.js +0 -534
  38. package/dist/lib/behaviour/PositionBehaviour.js.map +0 -1
  39. package/dist/lib/behaviour/RotationBehaviour.d.ts +0 -51
  40. package/dist/lib/behaviour/RotationBehaviour.js +0 -66
  41. package/dist/lib/behaviour/RotationBehaviour.js.map +0 -1
  42. package/dist/lib/behaviour/SizeBehaviour.d.ts +0 -31
  43. package/dist/lib/behaviour/SizeBehaviour.js +0 -71
  44. package/dist/lib/behaviour/SizeBehaviour.js.map +0 -1
  45. package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +0 -72
  46. package/dist/lib/behaviour/TurbulenceBehaviour.js +0 -128
  47. package/dist/lib/behaviour/TurbulenceBehaviour.js.map +0 -1
  48. package/dist/lib/behaviour/index.d.ts +0 -12
  49. package/dist/lib/behaviour/index.js +0 -13
  50. package/dist/lib/behaviour/index.js.map +0 -1
  51. package/dist/lib/customPixiParticlesSettingsInterface.d.ts +0 -18
  52. package/dist/lib/customPixiParticlesSettingsInterface.js +0 -2
  53. package/dist/lib/customPixiParticlesSettingsInterface.js.map +0 -1
  54. package/dist/lib/emission/AbstractEmission.d.ts +0 -30
  55. package/dist/lib/emission/AbstractEmission.js +0 -39
  56. package/dist/lib/emission/AbstractEmission.js.map +0 -1
  57. package/dist/lib/emission/EmissionTypes.d.ts +0 -6
  58. package/dist/lib/emission/EmissionTypes.js +0 -6
  59. package/dist/lib/emission/EmissionTypes.js.map +0 -1
  60. package/dist/lib/emission/RandomEmission.d.ts +0 -44
  61. package/dist/lib/emission/RandomEmission.js +0 -66
  62. package/dist/lib/emission/RandomEmission.js.map +0 -1
  63. package/dist/lib/emission/StandardEmission.d.ts +0 -62
  64. package/dist/lib/emission/StandardEmission.js +0 -87
  65. package/dist/lib/emission/StandardEmission.js.map +0 -1
  66. package/dist/lib/emission/UniformEmission.d.ts +0 -56
  67. package/dist/lib/emission/UniformEmission.js +0 -83
  68. package/dist/lib/emission/UniformEmission.js.map +0 -1
  69. package/dist/lib/emission/index.d.ts +0 -6
  70. package/dist/lib/emission/index.js +0 -7
  71. package/dist/lib/emission/index.js.map +0 -1
  72. package/dist/lib/emitter/Duration.d.ts +0 -27
  73. package/dist/lib/emitter/Duration.js +0 -41
  74. package/dist/lib/emitter/Duration.js.map +0 -1
  75. package/dist/lib/emitter/Emitter.d.ts +0 -113
  76. package/dist/lib/emitter/Emitter.js +0 -201
  77. package/dist/lib/emitter/Emitter.js.map +0 -1
  78. package/dist/lib/emitter/index.d.ts +0 -3
  79. package/dist/lib/emitter/index.js +0 -4
  80. package/dist/lib/emitter/index.js.map +0 -1
  81. package/dist/lib/index.d.ts +0 -20
  82. package/dist/lib/index.js +0 -21
  83. package/dist/lib/index.js.map +0 -1
  84. package/dist/lib/parser/BehaviourParser.d.ts +0 -21
  85. package/dist/lib/parser/BehaviourParser.js +0 -72
  86. package/dist/lib/parser/BehaviourParser.js.map +0 -1
  87. package/dist/lib/parser/CompatibilityHelper.d.ts +0 -12
  88. package/dist/lib/parser/CompatibilityHelper.js +0 -19
  89. package/dist/lib/parser/CompatibilityHelper.js.map +0 -1
  90. package/dist/lib/parser/EmitControllerParser.d.ts +0 -27
  91. package/dist/lib/parser/EmitControllerParser.js +0 -39
  92. package/dist/lib/parser/EmitControllerParser.js.map +0 -1
  93. package/dist/lib/parser/EmitterParser.d.ts +0 -67
  94. package/dist/lib/parser/EmitterParser.js +0 -168
  95. package/dist/lib/parser/EmitterParser.js.map +0 -1
  96. package/dist/lib/parser/index.d.ts +0 -5
  97. package/dist/lib/parser/index.js +0 -6
  98. package/dist/lib/parser/index.js.map +0 -1
  99. package/dist/lib/pixi/Renderer.d.ts +0 -116
  100. package/dist/lib/pixi/Renderer.js +0 -508
  101. package/dist/lib/pixi/Renderer.js.map +0 -1
  102. package/dist/lib/util/Color.d.ts +0 -133
  103. package/dist/lib/util/Color.js +0 -173
  104. package/dist/lib/util/Color.js.map +0 -1
  105. package/dist/lib/util/List.d.ts +0 -49
  106. package/dist/lib/util/List.js +0 -87
  107. package/dist/lib/util/List.js.map +0 -1
  108. package/dist/lib/util/MinMax.d.ts +0 -34
  109. package/dist/lib/util/MinMax.js +0 -46
  110. package/dist/lib/util/MinMax.js.map +0 -1
  111. package/dist/lib/util/Point.d.ts +0 -34
  112. package/dist/lib/util/Point.js +0 -46
  113. package/dist/lib/util/Point.js.map +0 -1
  114. package/dist/lib/util/Random.d.ts +0 -24
  115. package/dist/lib/util/Random.js +0 -30
  116. package/dist/lib/util/Random.js.map +0 -1
  117. package/dist/lib/util/ThereBack.d.ts +0 -14
  118. package/dist/lib/util/ThereBack.js +0 -23
  119. package/dist/lib/util/ThereBack.js.map +0 -1
  120. package/dist/lib/util/index.d.ts +0 -5
  121. package/dist/lib/util/index.js +0 -6
  122. package/dist/lib/util/index.js.map +0 -1
  123. package/dist/lib/util/maths.d.ts +0 -10
  124. package/dist/lib/util/maths.js +0 -13
  125. package/dist/lib/util/maths.js.map +0 -1
  126. package/dist/lib/util/turbulencePool.d.ts +0 -4
  127. package/dist/lib/util/turbulencePool.js +0 -7
  128. package/dist/lib/util/turbulencePool.js.map +0 -1
@@ -1,201 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import Duration from './Duration';
11
- import { EmitterBehaviours } from '../behaviour';
12
- import eventemitter3 from 'eventemitter3';
13
- import ParticlePool from '../ParticlePool';
14
- import { EmitterParser } from '../parser';
15
- import List from '../util/List';
16
- import * as emission from '../emission';
17
- import { BLEND_MODES } from 'pixi.js-legacy';
18
- import TurbulencePool from '../util/turbulencePool';
19
- class Emitter extends eventemitter3 {
20
- constructor(model) {
21
- super();
22
- this.list = new List();
23
- this.duration = new Duration();
24
- this.alpha = 1;
25
- this.anchor = { x: 0.5, y: 0.5 };
26
- this.blendMode = BLEND_MODES.NORMAL;
27
- this.behaviours = new EmitterBehaviours();
28
- this.turbulencePool = new TurbulencePool();
29
- this._model = model;
30
- // @ts-ignore
31
- this.emitController = new emission[emission.EmissionTypes.DEFAULT]();
32
- }
33
- /**
34
- * Updates the emitter, emits particles and updates the particles.
35
- * Triggers the COMPLETE event when the duration is elapsed and the list is empty.
36
- * @param {number} deltaTime - Time elapsed since the last update
37
- */
38
- update(deltaTime) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- if (!this._play)
41
- return;
42
- this.emitParticles(deltaTime);
43
- this.updateParticles(deltaTime);
44
- this.duration.update(deltaTime);
45
- if (this.duration.isTimeElapsed() && this.list.isEmpty()) {
46
- this.stop();
47
- setTimeout(() => {
48
- this.emit(Emitter.COMPLETE);
49
- });
50
- }
51
- });
52
- }
53
- /**
54
- * Emits particles if the duration is not elapsed.
55
- * @param {number} deltaTime - Time elapsed since the last update
56
- */
57
- emitParticles(deltaTime) {
58
- if (!this.duration.isTimeElapsed()) {
59
- this.createParticles(deltaTime);
60
- }
61
- }
62
- /**
63
- * Creates the particles to be emitted.
64
- * Triggers the CREATE event when a particle is created.
65
- * @param {number} deltaTime - Time elapsed since the last update
66
- */
67
- createParticles(deltaTime) {
68
- const particlesToEmit = this.emitController.howMany(deltaTime, this.list.length);
69
- for (let i = 0; i < particlesToEmit; ++i) {
70
- const particle = this.list.add(ParticlePool.global.pop());
71
- this.behaviours.init(particle, this._model, this.turbulencePool);
72
- this.emit(Emitter.CREATE, particle);
73
- }
74
- }
75
- /**
76
- * Updates the list of particles
77
- * @param {number} deltaTime - The amount of time that has passed since the last update
78
- */
79
- updateParticles(deltaTime) {
80
- this.list.forEach((particle) => {
81
- this.updateParticle(particle, deltaTime);
82
- });
83
- }
84
- /**
85
- * Updates a single particle
86
- * @param {Particle} particle - The particle to update
87
- * @param {number} deltaTime - The amount of time that has passed since the last update
88
- */
89
- updateParticle(particle, deltaTime) {
90
- if (particle.isDead()) {
91
- this.removeParticle(particle);
92
- }
93
- else if (particle.isAlmostDead()) {
94
- this.behaviours.apply(particle, deltaTime, this._model);
95
- this.emit(Emitter.FINISHING, particle);
96
- this.emit(Emitter.UPDATE, particle);
97
- }
98
- else {
99
- this.behaviours.apply(particle, deltaTime, this._model);
100
- this.emit(Emitter.UPDATE, particle);
101
- }
102
- }
103
- /**
104
- * Removes a particle from the list and reset it
105
- * @param {Particle} particle - The particle to remove
106
- */
107
- removeParticle(particle) {
108
- this.emit(Emitter.REMOVE, particle);
109
- this.list.remove(particle);
110
- particle.reset();
111
- ParticlePool.global.push(particle);
112
- this.turbulencePool.list.remove(particle);
113
- }
114
- /**
115
- * Gets a parser to parse the emitter and it's particles
116
- * @returns {EmitterParser} - The parser for this emitter
117
- */
118
- getParser() {
119
- return new EmitterParser(this);
120
- }
121
- /**
122
- * Creates props for a behaviour
123
- * @param {string} name - The name of the behaviour
124
- * @returns {Object} - The props for the behaviour
125
- */
126
- createBehaviourProps(name) {
127
- return this.getParser().createBehaviourProps(name);
128
- }
129
- /**
130
- * Starts the emitter playing
131
- */
132
- play() {
133
- this.duration.start();
134
- this._play = true;
135
- }
136
- /**
137
- * Resets the emitter and starts playing
138
- */
139
- resetAndPlay() {
140
- this.reset();
141
- this.play();
142
- }
143
- /**
144
- * Resets the emitter without removing the particles and starts playing
145
- */
146
- resetWithoutRemovingAndPlay() {
147
- this.resetWithoutRemoving();
148
- this.play();
149
- }
150
- /**
151
- * Resets the emitter and removes all the particles
152
- */
153
- reset() {
154
- this.emitController.reset();
155
- this.duration.reset();
156
- this.removeParticles();
157
- this.emit(Emitter.RESET);
158
- }
159
- /**
160
- * Resets the emitter without removing the particles
161
- */
162
- resetWithoutRemoving() {
163
- this.emitController.reset();
164
- this.duration.reset();
165
- this.emit(Emitter.RESET);
166
- }
167
- /**
168
- * Stops the emitter and removes all the particles
169
- */
170
- stop() {
171
- this._play = false;
172
- this.removeParticles();
173
- this.emit(Emitter.STOP);
174
- }
175
- /**
176
- * Stops the emitter without killing the particles
177
- */
178
- stopWithoutKilling() {
179
- this.duration.stop();
180
- }
181
- /**
182
- * Removes all the particles from the list
183
- */
184
- removeParticles() {
185
- this.list.forEach((particle) => {
186
- this.removeParticle(particle);
187
- });
188
- this.turbulencePool.list.forEach((particle) => {
189
- this.removeParticle(particle);
190
- });
191
- }
192
- }
193
- Emitter.STOP = 'emitter/stop';
194
- Emitter.RESET = 'emitter/reset';
195
- Emitter.CREATE = 'emitter/create';
196
- Emitter.UPDATE = 'emitter/update';
197
- Emitter.REMOVE = 'emitter/remove';
198
- Emitter.FINISHING = 'emitter/finishing';
199
- Emitter.COMPLETE = 'emitter/complete';
200
- export default Emitter;
201
- //# sourceMappingURL=Emitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../../src/lib/emitter/Emitter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import Emitter from './Emitter';
2
- import Duration from './Duration';
3
- export { Emitter, Duration };
@@ -1,4 +0,0 @@
1
- import Emitter from './Emitter';
2
- import Duration from './Duration';
3
- export { Emitter, Duration };
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/emitter/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,QAAQ,MAAM,YAAY,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,20 +0,0 @@
1
- import * as controller from './emission';
2
- import * as behaviour from './behaviour';
3
- import * as parser from './parser';
4
- import Particle from './Particle';
5
- import ParticlePool from './ParticlePool';
6
- import { Duration, Emitter } from './emitter';
7
- import { Color, Point, Random } from './util';
8
- declare const cpp: {
9
- Particle: typeof Particle;
10
- ParticlePool: typeof ParticlePool;
11
- parser: typeof parser;
12
- controller: typeof controller;
13
- behaviour: typeof behaviour;
14
- Color: typeof Color;
15
- Point: typeof Point;
16
- Random: typeof Random;
17
- Duration: typeof Duration;
18
- Emitter: typeof Emitter;
19
- };
20
- export default cpp;
package/dist/lib/index.js DELETED
@@ -1,21 +0,0 @@
1
- import * as controller from './emission';
2
- import * as behaviour from './behaviour';
3
- import * as parser from './parser';
4
- import Particle from './Particle';
5
- import ParticlePool from './ParticlePool';
6
- import { Duration, Emitter } from './emitter';
7
- import { Color, Point, Random } from './util';
8
- const cpp = {
9
- Particle,
10
- ParticlePool,
11
- parser,
12
- controller,
13
- behaviour,
14
- Color,
15
- Point,
16
- Random,
17
- Duration,
18
- Emitter,
19
- };
20
- export default cpp;
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE7C,MAAM,GAAG,GAAG;IACV,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,UAAU;IACV,SAAS;IACT,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;CACR,CAAA;AAED,eAAe,GAAG,CAAA"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Class used to parse a behaviour object into a JSON config object and vice versa
3
- */
4
- export default class BehaviourParser {
5
- private readonly _behaviour;
6
- /**
7
- * Constructs a BehaviourParser object.
8
- * @param {any} behaviour The behaviour to be parsed.
9
- */
10
- constructor(behaviour: any);
11
- /**
12
- * Writes the behaviour to a config object.
13
- * @returns {object} The config object.
14
- */
15
- write: () => any;
16
- /**
17
- * Reads a config object and sets the behaviour appropriately.
18
- * @param {object} config The config object to be read.
19
- */
20
- read: (config: any) => void;
21
- }
@@ -1,72 +0,0 @@
1
- const deepClone = (obj, hash = new WeakMap()) => {
2
- if (Object(obj) !== obj || obj instanceof Function)
3
- return obj; // Primitives or functions
4
- if (hash.has(obj))
5
- return hash.get(obj); // Circular reference
6
- let result;
7
- try {
8
- result = new obj.constructor();
9
- }
10
- catch (_a) {
11
- result = Object.create(Object.getPrototypeOf(obj));
12
- }
13
- hash.set(obj, result);
14
- if (obj instanceof Map) {
15
- obj.forEach((value, key) => {
16
- result.set(deepClone(key, hash), deepClone(value, hash));
17
- });
18
- }
19
- else if (obj instanceof Set) {
20
- obj.forEach((value) => {
21
- result.add(deepClone(value, hash));
22
- });
23
- }
24
- else {
25
- for (const key of Reflect.ownKeys(obj)) {
26
- // Skip cloning functions
27
- if (typeof obj[key] === 'function') {
28
- result[key] = obj[key];
29
- }
30
- else {
31
- result[key] = deepClone(obj[key], hash);
32
- }
33
- }
34
- }
35
- return result;
36
- };
37
- /**
38
- * Class used to parse a behaviour object into a JSON config object and vice versa
39
- */
40
- export default class BehaviourParser {
41
- /**
42
- * Constructs a BehaviourParser object.
43
- * @param {any} behaviour The behaviour to be parsed.
44
- */
45
- constructor(behaviour) {
46
- /**
47
- * Writes the behaviour to a config object.
48
- * @returns {object} The config object.
49
- */
50
- this.write = () => {
51
- const config = deepClone(this._behaviour.getProps());
52
- config.name = this._behaviour.getName();
53
- return config;
54
- };
55
- /**
56
- * Reads a config object and sets the behaviour appropriately.
57
- * @param {object} config The config object to be read.
58
- */
59
- this.read = (config) => {
60
- for (const key in config) {
61
- if (this._behaviour[key] instanceof Object) {
62
- this._behaviour[key].copyFromRawData(config[key]);
63
- }
64
- else {
65
- this._behaviour[key] = config[key];
66
- }
67
- }
68
- };
69
- this._behaviour = behaviour;
70
- }
71
- }
72
- //# sourceMappingURL=BehaviourParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BehaviourParser.js","sourceRoot":"","sources":["../../../src/lib/parser/BehaviourParser.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,IAAI,GAAG,IAAI,OAAO,EAAE,EAAE,EAAE;IACnD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,YAAY,QAAQ;QAAE,OAAO,GAAG,CAAA,CAAC,0BAA0B;IACzF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,qBAAqB;IAE7D,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAA;IAChC,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAErB,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,yBAAyB;YACzB,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAGlC;;;OAGG;IACH,YAAY,SAAc;QAI1B;;;WAGG;QACH,UAAK,GAAG,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;YACpD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;YACvC,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED;;;WAGG;QACH,SAAI,GAAG,CAAC,MAAW,EAAE,EAAE;YACrB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE,CAAC;oBAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;gBACnD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAzBC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;CAyBF"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Class that provides helper methods for checking compatibility.
3
- */
4
- export default class CompatibilityHelper {
5
- /**
6
- * Reads the duration from the given configuration.
7
- *
8
- * @param {Object} config - The configuration object.
9
- * @return {Number} The duration from the given configuration, or -1 if not found.
10
- */
11
- static readDuration: (config: any) => any;
12
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Class that provides helper methods for checking compatibility.
3
- */
4
- class CompatibilityHelper {
5
- }
6
- /**
7
- * Reads the duration from the given configuration.
8
- *
9
- * @param {Object} config - The configuration object.
10
- * @return {Number} The duration from the given configuration, or -1 if not found.
11
- */
12
- CompatibilityHelper.readDuration = (config) => {
13
- if (config.duration) {
14
- return config.duration;
15
- }
16
- return -1;
17
- };
18
- export default CompatibilityHelper;
19
- //# sourceMappingURL=CompatibilityHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompatibilityHelper.js","sourceRoot":"","sources":["../../../src/lib/parser/CompatibilityHelper.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAqB,mBAAmB;;AACtC;;;;;GAKG;AACI,gCAAY,GAAG,CAAC,MAAW,EAAE,EAAE;IACpC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;eAbkB,mBAAmB"}
@@ -1,27 +0,0 @@
1
- /**
2
- * EmitControllerParser is used to write and read configuration data.
3
- *
4
- * @class EmitControllerParser
5
- */
6
- export default class EmitControllerParser {
7
- private readonly _controller;
8
- /**
9
- * The constructor of the class.
10
- *
11
- * @constructor
12
- * @param {any} controller The controller object.
13
- */
14
- constructor(controller: any);
15
- /**
16
- * Writes the configuration data to a JSON format.
17
- *
18
- * @returns {object} The configuration object.
19
- */
20
- write: () => any;
21
- /**
22
- * Reads the configuration data from a JSON format.
23
- *
24
- * @param {object} config The configuration object.
25
- */
26
- read: (config: any) => void;
27
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * EmitControllerParser is used to write and read configuration data.
3
- *
4
- * @class EmitControllerParser
5
- */
6
- export default class EmitControllerParser {
7
- /**
8
- * The constructor of the class.
9
- *
10
- * @constructor
11
- * @param {any} controller The controller object.
12
- */
13
- constructor(controller) {
14
- /**
15
- * Writes the configuration data to a JSON format.
16
- *
17
- * @returns {object} The configuration object.
18
- */
19
- this.write = () => {
20
- const config = JSON.parse(JSON.stringify(this._controller));
21
- config.name = this._controller.getName();
22
- return config;
23
- };
24
- /**
25
- * Reads the configuration data from a JSON format.
26
- *
27
- * @param {object} config The configuration object.
28
- */
29
- this.read = (config) => {
30
- for (const key in config) {
31
- if (!(this._controller[key] instanceof Object)) {
32
- this._controller[key] = config[key];
33
- }
34
- }
35
- };
36
- this._controller = controller;
37
- }
38
- }
39
- //# sourceMappingURL=EmitControllerParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmitControllerParser.js","sourceRoot":"","sources":["../../../src/lib/parser/EmitControllerParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAGvC;;;;;OAKG;IACH,YAAY,UAAe;QAI3B;;;;WAIG;QACH,UAAK,GAAG,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YAC3D,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;YACxC,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAED;;;;WAIG;QACH,SAAI,GAAG,CAAC,MAAW,EAAE,EAAE;YACrB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBACrC,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAzBC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;IAC/B,CAAC;CAyBF"}
@@ -1,67 +0,0 @@
1
- import { Emitter } from '../emitter';
2
- import Model from '../Model';
3
- /**
4
- * @class EmitterParser
5
- * @description This class parses an Emitter object
6
- * @param {Emitter} emitter - the emitter object to be parsed
7
- */
8
- export default class EmitterParser {
9
- /**
10
- * @memberof EmitterParser
11
- * @property {Emitter} emitter - the emitter object to be parsed
12
- */
13
- private readonly emitter;
14
- /**
15
- * @constructor
16
- * @param {Emitter} emitter - the emitter object to be parsed
17
- */
18
- constructor(emitter: any);
19
- /**
20
- * @function write
21
- * @description Writes the emitter configuration to a json object
22
- * @returns {Object} - the emitter configuration
23
- */
24
- write: () => any;
25
- /**
26
- * @function read
27
- * @description Reads the emitter configuration from a json object
28
- * @param {Object} config - the emitter configuration
29
- * @param {Model} model - the model to be updated
30
- * @returns {Emitter} - the emitter
31
- */
32
- read: (config: any, model: Model) => Emitter;
33
- /**
34
- * @function update
35
- * @description Updates the emitter configuration from a json object
36
- * @param {Object} config - the emitter configuration
37
- * @param {Model} model - the model to be updated
38
- * @param {boolean} resetDuration - should duration be reset
39
- * @returns {Emitter} - the emitter
40
- */
41
- update: (config: any, model: Model, resetDuration: boolean) => Emitter;
42
- /**
43
- * Retrieves an existing behaviour or creates a new behaviour
44
- * @param {string} name - The name of the behaviour to retreive or create
45
- * @param {any[]} existingBehaviours - An array of existing behaviours
46
- * @return {any} The existing behaviour or a new behaviour
47
- */
48
- getExistingOrCreate: (name: string, existingBehaviours: any) => any;
49
- /**
50
- * Creates a new behaviour
51
- * @param {string} name - The name of the behaviour to create
52
- * @return {any} The new behaviour
53
- */
54
- createBehaviour: (name: string) => any;
55
- /**
56
- * Creates a new behaviour properties
57
- * @param {string} name - The name of the behaviour to create
58
- * @return {any} The new behaviour properties
59
- */
60
- createBehaviourProps: (name: string) => any;
61
- /**
62
- * Creates a new emission controller
63
- * @param {string} name - The name of the emission controller to create
64
- * @return {any} The new emission controller
65
- */
66
- createEmitController: (name: string) => any;
67
- }