@ember-nexus/app-core 0.0.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 (103) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +21 -0
  3. package/README.md +15 -0
  4. package/dist/browser/index.js +2 -0
  5. package/dist/browser/index.js.map +1 -0
  6. package/dist/esm/BrowserEvent/GetServiceResolverEvent.js +21 -0
  7. package/dist/esm/BrowserEvent/GetServiceResolverEvent.js.map +1 -0
  8. package/dist/esm/BrowserEvent/index.js +2 -0
  9. package/dist/esm/BrowserEvent/index.js.map +1 -0
  10. package/dist/esm/Error/EmberNexusError.js +10 -0
  11. package/dist/esm/Error/EmberNexusError.js.map +1 -0
  12. package/dist/esm/Error/LogicError.js +12 -0
  13. package/dist/esm/Error/LogicError.js.map +1 -0
  14. package/dist/esm/Error/ParseError.js +12 -0
  15. package/dist/esm/Error/ParseError.js.map +1 -0
  16. package/dist/esm/Error/ValidationError.js +14 -0
  17. package/dist/esm/Error/ValidationError.js.map +1 -0
  18. package/dist/esm/Error/index.js +5 -0
  19. package/dist/esm/Error/index.js.map +1 -0
  20. package/dist/esm/Init.js +29 -0
  21. package/dist/esm/Init.js.map +1 -0
  22. package/dist/esm/Service/EventDispatcher.js +98 -0
  23. package/dist/esm/Service/EventDispatcher.js.map +1 -0
  24. package/dist/esm/Service/Logger.js +20 -0
  25. package/dist/esm/Service/Logger.js.map +1 -0
  26. package/dist/esm/Service/ServiceResolver.js +33 -0
  27. package/dist/esm/Service/ServiceResolver.js.map +1 -0
  28. package/dist/esm/Service/index.js +4 -0
  29. package/dist/esm/Service/index.js.map +1 -0
  30. package/dist/esm/Type/Definition/Action.js +2 -0
  31. package/dist/esm/Type/Definition/Action.js.map +1 -0
  32. package/dist/esm/Type/Definition/Branded.js +2 -0
  33. package/dist/esm/Type/Definition/Branded.js.map +1 -0
  34. package/dist/esm/Type/Definition/Event.js +46 -0
  35. package/dist/esm/Type/Definition/Event.js.map +1 -0
  36. package/dist/esm/Type/Definition/EventDispatcher.js +2 -0
  37. package/dist/esm/Type/Definition/EventDispatcher.js.map +1 -0
  38. package/dist/esm/Type/Definition/EventIdentifier.js +10 -0
  39. package/dist/esm/Type/Definition/EventIdentifier.js.map +1 -0
  40. package/dist/esm/Type/Definition/EventListener.js +2 -0
  41. package/dist/esm/Type/Definition/EventListener.js.map +1 -0
  42. package/dist/esm/Type/Definition/EventListenerIdentifier.js +20 -0
  43. package/dist/esm/Type/Definition/EventListenerIdentifier.js.map +1 -0
  44. package/dist/esm/Type/Definition/Logger.js +2 -0
  45. package/dist/esm/Type/Definition/Logger.js.map +1 -0
  46. package/dist/esm/Type/Definition/OptionalPromise.js +2 -0
  47. package/dist/esm/Type/Definition/OptionalPromise.js.map +1 -0
  48. package/dist/esm/Type/Definition/PriorityRegistry.js +63 -0
  49. package/dist/esm/Type/Definition/PriorityRegistry.js.map +1 -0
  50. package/dist/esm/Type/Definition/Registry.js +26 -0
  51. package/dist/esm/Type/Definition/Registry.js.map +1 -0
  52. package/dist/esm/Type/Definition/ServiceIdentifier.js +10 -0
  53. package/dist/esm/Type/Definition/ServiceIdentifier.js.map +1 -0
  54. package/dist/esm/Type/Definition/index.js +13 -0
  55. package/dist/esm/Type/Definition/index.js.map +1 -0
  56. package/dist/esm/Type/Enum/EventIdentifier.js +6 -0
  57. package/dist/esm/Type/Enum/EventIdentifier.js.map +1 -0
  58. package/dist/esm/Type/Enum/ServiceIdentifier.js +11 -0
  59. package/dist/esm/Type/Enum/ServiceIdentifier.js.map +1 -0
  60. package/dist/esm/Type/Enum/index.js +3 -0
  61. package/dist/esm/Type/Enum/index.js.map +1 -0
  62. package/dist/esm/Type/Partial/CustomEventDefaultInit.js +7 -0
  63. package/dist/esm/Type/Partial/CustomEventDefaultInit.js.map +1 -0
  64. package/dist/esm/Type/Partial/index.js +2 -0
  65. package/dist/esm/Type/Partial/index.js.map +1 -0
  66. package/dist/esm/Type/index.js +4 -0
  67. package/dist/esm/Type/index.js.map +1 -0
  68. package/dist/esm/index.js +6 -0
  69. package/dist/esm/index.js.map +1 -0
  70. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  71. package/dist/types/BrowserEvent/GetServiceResolverEvent.d.ts +12 -0
  72. package/dist/types/BrowserEvent/index.d.ts +1 -0
  73. package/dist/types/Error/EmberNexusError.d.ts +7 -0
  74. package/dist/types/Error/LogicError.d.ts +8 -0
  75. package/dist/types/Error/ParseError.d.ts +8 -0
  76. package/dist/types/Error/ValidationError.d.ts +10 -0
  77. package/dist/types/Error/index.d.ts +4 -0
  78. package/dist/types/Init.d.ts +4 -0
  79. package/dist/types/Service/EventDispatcher.d.ts +12 -0
  80. package/dist/types/Service/Logger.d.ts +11 -0
  81. package/dist/types/Service/ServiceResolver.d.ts +13 -0
  82. package/dist/types/Service/index.d.ts +3 -0
  83. package/dist/types/Type/Definition/Action.d.ts +13 -0
  84. package/dist/types/Type/Definition/Branded.d.ts +9 -0
  85. package/dist/types/Type/Definition/Event.d.ts +30 -0
  86. package/dist/types/Type/Definition/EventDispatcher.d.ts +11 -0
  87. package/dist/types/Type/Definition/EventIdentifier.d.ts +8 -0
  88. package/dist/types/Type/Definition/EventListener.d.ts +4 -0
  89. package/dist/types/Type/Definition/EventListenerIdentifier.d.ts +10 -0
  90. package/dist/types/Type/Definition/Logger.d.ts +7 -0
  91. package/dist/types/Type/Definition/OptionalPromise.d.ts +2 -0
  92. package/dist/types/Type/Definition/PriorityRegistry.d.ts +19 -0
  93. package/dist/types/Type/Definition/Registry.d.ts +16 -0
  94. package/dist/types/Type/Definition/ServiceIdentifier.d.ts +8 -0
  95. package/dist/types/Type/Definition/index.d.ts +12 -0
  96. package/dist/types/Type/Enum/EventIdentifier.d.ts +4 -0
  97. package/dist/types/Type/Enum/ServiceIdentifier.d.ts +9 -0
  98. package/dist/types/Type/Enum/index.d.ts +2 -0
  99. package/dist/types/Type/Partial/CustomEventDefaultInit.d.ts +2 -0
  100. package/dist/types/Type/Partial/index.d.ts +1 -0
  101. package/dist/types/Type/index.d.ts +3 -0
  102. package/dist/types/index.d.ts +5 -0
  103. package/package.json +93 -0
@@ -0,0 +1,21 @@
1
+ import { EventIdentifier } from '../Type/Enum/index.js';
2
+ import { customEventDefaultInit } from '../Type/Partial/index.js';
3
+ class GetServiceResolverEvent extends CustomEvent {
4
+ static type = EventIdentifier.GetServiceResolver;
5
+ constructor() {
6
+ super(GetServiceResolverEvent.type, {
7
+ ...customEventDefaultInit,
8
+ detail: {
9
+ serviceResolver: null,
10
+ },
11
+ });
12
+ }
13
+ getServiceResolver() {
14
+ return this.detail.serviceResolver;
15
+ }
16
+ setServiceResolver(serviceResolver) {
17
+ this.detail.serviceResolver = serviceResolver;
18
+ }
19
+ }
20
+ export { GetServiceResolverEvent };
21
+ //# sourceMappingURL=GetServiceResolverEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetServiceResolverEvent.js","sourceRoot":"","sources":["../../../src/BrowserEvent/GetServiceResolverEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMlE,MAAM,uBAAwB,SAAQ,WAA2C;IACxE,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,kBAAkB,CAAC;IACxD;QACE,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE;YAClC,GAAG,sBAAsB;YACzB,MAAM,EAAE;gBACN,eAAe,EAAE,IAAI;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,eAAgC;QACjD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IAChD,CAAC;;AAGH,OAAO,EAAE,uBAAuB,EAAkC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './GetServiceResolverEvent.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/BrowserEvent/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Base class for errors generated by the Web SDK.
3
+ */
4
+ class EmberNexusError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ }
8
+ }
9
+ export { EmberNexusError };
10
+ //# sourceMappingURL=EmberNexusError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmberNexusError.js","sourceRoot":"","sources":["../../../src/Error/EmberNexusError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,eAAgB,SAAQ,KAAK;IACjC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { EmberNexusError } from './EmberNexusError.js';
2
+ /**
3
+ * Logic error class.
4
+ */
5
+ class LogicError extends EmberNexusError {
6
+ constructor(message) {
7
+ super(message);
8
+ this.name = 'LogicError';
9
+ }
10
+ }
11
+ export { LogicError };
12
+ //# sourceMappingURL=LogicError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogicError.js","sourceRoot":"","sources":["../../../src/Error/LogicError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAW,SAAQ,eAAe;IACtC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { EmberNexusError } from './EmberNexusError.js';
2
+ /**
3
+ * Parse error class.
4
+ */
5
+ class ParseError extends EmberNexusError {
6
+ constructor(message) {
7
+ super(message);
8
+ this.name = 'ParseError';
9
+ }
10
+ }
11
+ export { ParseError };
12
+ //# sourceMappingURL=ParseError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParseError.js","sourceRoot":"","sources":["../../../src/Error/ParseError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAW,SAAQ,eAAe;IACtC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { EmberNexusError } from './EmberNexusError.js';
2
+ /**
3
+ * Validation error class.
4
+ *
5
+ * Validation errors are thrown when data is parseable but does not match a context dependent data scheme.
6
+ */
7
+ class ValidationError extends EmberNexusError {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = 'ValidationError';
11
+ }
12
+ }
13
+ export { ValidationError };
14
+ //# sourceMappingURL=ValidationError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../../../src/Error/ValidationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,eAAgB,SAAQ,eAAe;IAC3C,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './EmberNexusError.js';
2
+ export * from './LogicError.js';
3
+ export * from './ParseError.js';
4
+ export * from './ValidationError.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Error/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { EmberNexus } from '@ember-nexus/web-sdk/Service';
2
+ import { Logger } from 'tslog';
3
+ import { EventDispatcher, ServiceResolver } from './Service/index.js';
4
+ import { PriorityRegistry, Registry, validateServiceIdentifierFromString } from './Type/Definition/index.js';
5
+ import { EventIdentifier, ServiceIdentifier } from './Type/Enum/index.js';
6
+ function init(rootNode, emberNexus = null) {
7
+ const serviceResolver = new ServiceResolver();
8
+ rootNode.addEventListener(EventIdentifier.GetServiceResolver, (event) => {
9
+ event.setServiceResolver(serviceResolver);
10
+ event.stopPropagation();
11
+ });
12
+ if (emberNexus === null) {
13
+ emberNexus = new EmberNexus();
14
+ }
15
+ serviceResolver.setService(validateServiceIdentifierFromString(ServiceIdentifier.emberNexusWebSDK), emberNexus);
16
+ serviceResolver.setService(validateServiceIdentifierFromString(ServiceIdentifier.action), new PriorityRegistry());
17
+ serviceResolver.setService(validateServiceIdentifierFromString(ServiceIdentifier.setting), new Registry());
18
+ serviceResolver.setService(validateServiceIdentifierFromString(ServiceIdentifier.icon), new Registry());
19
+ const logger = new Logger({
20
+ name: 'app-core',
21
+ type: 'pretty',
22
+ });
23
+ serviceResolver.setService(validateServiceIdentifierFromString(ServiceIdentifier.logger), logger);
24
+ const eventDispatcher = new EventDispatcher(logger);
25
+ serviceResolver.setService(validateServiceIdentifierFromString(ServiceIdentifier.eventDispatcher), eventDispatcher);
26
+ return serviceResolver;
27
+ }
28
+ export { init };
29
+ //# sourceMappingURL=Init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Init.js","sourceRoot":"","sources":["../../src/Init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mCAAmC,EAAE,MAAM,4BAA4B,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,SAAS,IAAI,CAAC,QAAqB,EAAE,aAAgC,IAAI;IACvE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,KAA8B,EAAE,EAAE;QAC/F,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,eAAe,CAAC,UAAU,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;IAEhH,eAAe,CAAC,UAAU,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAElH,eAAe,CAAC,UAAU,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;IAE3G,eAAe,CAAC,UAAU,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;IAExG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IACH,eAAe,CAAC,UAAU,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAElG,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACpD,eAAe,CAAC,UAAU,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;IAEpH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,98 @@
1
+ import { getEventListenerIdentifiersFromEventIdentifier, } from '../Type/Definition/index.js';
2
+ class EventDispatcher {
3
+ entries = new Map();
4
+ logger;
5
+ constructor(logger) {
6
+ this.logger = logger;
7
+ }
8
+ async dispatchEvent(event) {
9
+ this.logger.debug(`Dispatching event of identifier ${event.getIdentifier()}.`, { event: event });
10
+ if (event.isPropagationStopped()) {
11
+ this.logger.debug(`Stopped event propagation because it is already stopped.`, { event: event });
12
+ return undefined;
13
+ }
14
+ const eventListenerIdentifiersToNotify = getEventListenerIdentifiersFromEventIdentifier(event.getIdentifier());
15
+ for (let i = 0; i < eventListenerIdentifiersToNotify.length; ++i) {
16
+ const eventListenerIdentifier = eventListenerIdentifiersToNotify[i];
17
+ const eventListeners = this.entries.get(eventListenerIdentifier);
18
+ if (eventListeners === undefined) {
19
+ continue;
20
+ }
21
+ this.logger.debug(`Iterating over resolved event listeners of identifier ${eventListenerIdentifier}`, {
22
+ event: event,
23
+ });
24
+ for (let j = eventListeners.length - 1; j >= 0; j--) {
25
+ try {
26
+ await Promise.resolve(eventListeners[j].eventListener(event));
27
+ }
28
+ catch (e) {
29
+ this.logger.error(`Event handler threw exception, dispatcher continues with next event listener.`, {
30
+ event: event,
31
+ error: e,
32
+ });
33
+ }
34
+ if (event.isPropagationStopped()) {
35
+ this.logger.debug(`Stopped event propagation as it got stopped.`, { event: event });
36
+ return undefined;
37
+ }
38
+ }
39
+ }
40
+ this.logger.debug(`Event got handled by all event listeners.`, { event: event });
41
+ return undefined;
42
+ }
43
+ addListener(eventListenerIdentifier, eventListener, priority) {
44
+ if (priority === undefined) {
45
+ priority = 0;
46
+ }
47
+ let eventListenersList;
48
+ if (!this.entries.has(eventListenerIdentifier)) {
49
+ eventListenersList = [];
50
+ }
51
+ else {
52
+ eventListenersList = this.entries.get(eventListenerIdentifier);
53
+ }
54
+ // find correct index in list to add entry to
55
+ let left = 0;
56
+ let right = eventListenersList.length - 1;
57
+ let result = -1;
58
+ while (left <= right) {
59
+ const mid = Math.floor((left + right) / 2);
60
+ if (eventListenersList[mid].priority >= priority) {
61
+ result = mid; // Found a candidate, but keep searching in the left half
62
+ right = mid - 1;
63
+ }
64
+ else {
65
+ left = mid + 1; // Search in the right half
66
+ }
67
+ }
68
+ const insertAt = result === -1 ? left : result;
69
+ eventListenersList.splice(insertAt, 0, { priority: priority, eventListener: eventListener });
70
+ this.entries.set(eventListenerIdentifier, eventListenersList);
71
+ return this;
72
+ }
73
+ removeListener(eventListenerIdentifier, eventListener) {
74
+ const eventListenersList = this.entries.get(eventListenerIdentifier);
75
+ if (!eventListenersList) {
76
+ return this;
77
+ }
78
+ for (let i = 0; i < eventListenersList.length; ++i) {
79
+ if (eventListenersList[i].eventListener === eventListener) {
80
+ eventListenersList.splice(i, 1);
81
+ break;
82
+ }
83
+ }
84
+ if (eventListenersList.length === 0) {
85
+ this.entries.delete(eventListenerIdentifier);
86
+ }
87
+ return this;
88
+ }
89
+ getListeners(eventListenerIdentifier) {
90
+ const entries = this.entries.get(eventListenerIdentifier);
91
+ return entries ? entries.map((entry) => entry.eventListener) : [];
92
+ }
93
+ hasListeners(eventListenerIdentifier) {
94
+ return this.entries.has(eventListenerIdentifier);
95
+ }
96
+ }
97
+ export { EventDispatcher };
98
+ //# sourceMappingURL=EventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../../../src/Service/EventDispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ class Logger {
2
+ logger;
3
+ constructor(logger) {
4
+ this.logger = logger;
5
+ }
6
+ debug(...args) {
7
+ return this.logger.debug(args);
8
+ }
9
+ error(...args) {
10
+ return this.logger.error(args);
11
+ }
12
+ info(...args) {
13
+ return this.logger.info(args);
14
+ }
15
+ warn(...args) {
16
+ return this.logger.warn(args);
17
+ }
18
+ }
19
+ export { Logger };
20
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/Service/Logger.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM;IACF,MAAM,CAAoB;IAClC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,IAAe;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAG,IAAe;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ class ServiceResolver {
2
+ services = new Map();
3
+ constructor() { }
4
+ hasService(serviceIdentifier) {
5
+ return this.services.has(serviceIdentifier);
6
+ }
7
+ getService(serviceIdentifier) {
8
+ if (!this.hasService(serviceIdentifier)) {
9
+ return null;
10
+ }
11
+ return this.services.get(serviceIdentifier);
12
+ }
13
+ setService(serviceIdentifier, service) {
14
+ this.services.set(serviceIdentifier, service);
15
+ return this;
16
+ }
17
+ deleteService(serviceIdentifier) {
18
+ this.services.delete(serviceIdentifier);
19
+ return this;
20
+ }
21
+ getServiceIdentifiers() {
22
+ return [...this.services.keys()];
23
+ }
24
+ getServices() {
25
+ return [...this.services.values()];
26
+ }
27
+ clearServices() {
28
+ this.services.clear();
29
+ return this;
30
+ }
31
+ }
32
+ export { ServiceResolver };
33
+ //# sourceMappingURL=ServiceResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceResolver.js","sourceRoot":"","sources":["../../../src/Service/ServiceResolver.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe;IACF,QAAQ,GAAoC,IAAI,GAAG,EAAE,CAAC;IAEvE,gBAAe,CAAC;IAEhB,UAAU,CAAC,iBAAoC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,iBAAoC;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,iBAAoC,EAAE,OAAgB;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,iBAAoC;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './EventDispatcher.js';
2
+ export * from './Logger.js';
3
+ export * from './ServiceResolver.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Service/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../../src/Type/Definition/Action.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Branded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Branded.js","sourceRoot":"","sources":["../../../../src/Type/Definition/Branded.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ class Event {
2
+ identifier;
3
+ stopped = false;
4
+ context;
5
+ constructor(identifier, context = {}) {
6
+ this.identifier = identifier;
7
+ this.context = context;
8
+ }
9
+ getIdentifier() {
10
+ return this.identifier;
11
+ }
12
+ isPropagationStopped() {
13
+ return this.stopped;
14
+ }
15
+ stopPropagation() {
16
+ this.stopped = true;
17
+ return this;
18
+ }
19
+ getContextValue(key) {
20
+ return this.context[key];
21
+ }
22
+ setContextValue(key, value) {
23
+ this.context[key] = value;
24
+ return this;
25
+ }
26
+ hasContextValue(key) {
27
+ return Object.prototype.hasOwnProperty.call(this.context, key);
28
+ }
29
+ clearContextValue(key) {
30
+ delete this.context[key];
31
+ return this;
32
+ }
33
+ getContext() {
34
+ return { ...this.context };
35
+ }
36
+ setContext(context) {
37
+ this.context = context;
38
+ return this;
39
+ }
40
+ clearContext() {
41
+ this.context = {};
42
+ return this;
43
+ }
44
+ }
45
+ export { Event };
46
+ //# sourceMappingURL=Event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../../src/Type/Definition/Event.ts"],"names":[],"mappings":"AAiBA,MAAM,KAAK;IACQ,UAAU,CAAkB;IACrC,OAAO,GAAY,KAAK,CAAC;IACzB,OAAO,CAA0B;IAEzC,YAAY,UAA2B,EAAE,UAAmC,EAAE;QAC5E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,KAAc;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,iBAAiB,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,OAAgC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,OAAO,EAAkB,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventDispatcher.js","sourceRoot":"","sources":["../../../../src/Type/Definition/EventDispatcher.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { ParseError } from '../../Error/index.js';
2
+ const eventIdentifierRegex = /^([a-z][a-z0-9-]*)(\.([a-z][a-z0-9-]*))*$/;
3
+ function validateEventIdentifierFromString(eventIdentifier) {
4
+ if (!eventIdentifierRegex.test(eventIdentifier)) {
5
+ throw new ParseError('Passed variable is not a valid event identifier.');
6
+ }
7
+ return eventIdentifier;
8
+ }
9
+ export { validateEventIdentifierFromString, eventIdentifierRegex };
10
+ //# sourceMappingURL=EventIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventIdentifier.js","sourceRoot":"","sources":["../../../../src/Type/Definition/EventIdentifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOlD,MAAM,oBAAoB,GAAG,2CAA2C,CAAC;AAEzE,SAAS,iCAAiC,CAAC,eAAuB;IAChE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,eAAkC,CAAC;AAC5C,CAAC;AAED,OAAO,EAAmB,iCAAiC,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EventListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventListener.js","sourceRoot":"","sources":["../../../../src/Type/Definition/EventListener.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { ParseError } from '../../Error/index.js';
2
+ const eventListenerIdentifierRegex = /^(?:([a-z][a-z0-9-]*)(\.([a-z][a-z0-9-]*))*|\*|([a-z][a-z0-9-]*)(\.([a-z][a-z0-9-]*))*(\.\*))$/;
3
+ function validateEventListenerIdentifierFromString(eventListenerIdentifier) {
4
+ if (!eventListenerIdentifierRegex.test(eventListenerIdentifier)) {
5
+ throw new ParseError('Passed variable is not a valid event listener identifier.');
6
+ }
7
+ return eventListenerIdentifier;
8
+ }
9
+ function getEventListenerIdentifiersFromEventIdentifier(eventIdentifier) {
10
+ const parts = eventIdentifier.split('.');
11
+ const eventListenerIdentifiers = [];
12
+ eventListenerIdentifiers.push(validateEventListenerIdentifierFromString(eventIdentifier));
13
+ for (let i = parts.length - 1; i > 0; i--) {
14
+ eventListenerIdentifiers.push(validateEventListenerIdentifierFromString(parts.slice(0, i).join('.') + '.*'));
15
+ }
16
+ eventListenerIdentifiers.push(validateEventListenerIdentifierFromString('*'));
17
+ return eventListenerIdentifiers;
18
+ }
19
+ export { validateEventListenerIdentifierFromString, eventListenerIdentifierRegex, getEventListenerIdentifiersFromEventIdentifier, };
20
+ //# sourceMappingURL=EventListenerIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventListenerIdentifier.js","sourceRoot":"","sources":["../../../../src/Type/Definition/EventListenerIdentifier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOlD,MAAM,4BAA4B,GAChC,gGAAgG,CAAC;AAEnG,SAAS,yCAAyC,CAAC,uBAA+B;IAChF,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,uBAAkD,CAAC;AAC5D,CAAC;AAED,SAAS,8CAA8C,CAAC,eAAgC;IACtF,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,wBAAwB,GAA8B,EAAE,CAAC;IAC/D,wBAAwB,CAAC,IAAI,CAAC,yCAAyC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1F,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,wBAAwB,CAAC,IAAI,CAAC,yCAAyC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/G,CAAC;IACD,wBAAwB,CAAC,IAAI,CAAC,yCAAyC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,OAAO,EAEL,yCAAyC,EACzC,4BAA4B,EAC5B,8CAA8C,GAC/C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../src/Type/Definition/Logger.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OptionalPromise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionalPromise.js","sourceRoot":"","sources":["../../../../src/Type/Definition/OptionalPromise.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ class PriorityRegistry {
2
+ entries = new Map();
3
+ clearEntries() {
4
+ this.entries.clear();
5
+ return this;
6
+ }
7
+ deleteEntry(key) {
8
+ this.entries.delete(key);
9
+ return this;
10
+ }
11
+ /**
12
+ * Returns the entry with the highest priority.
13
+ * If multiple entries have the same priority, the one which was added first gets returned.
14
+ */
15
+ getEntry(key) {
16
+ if (!this.hasEntry(key)) {
17
+ return null;
18
+ }
19
+ const priorityRegistryEntries = this.entries.get(key);
20
+ return priorityRegistryEntries[priorityRegistryEntries.length - 1].entry;
21
+ }
22
+ hasEntry(key) {
23
+ return this.entries.has(key);
24
+ }
25
+ setEntry(key, entry, priority) {
26
+ if (priority === undefined) {
27
+ priority = 0;
28
+ }
29
+ let entryList;
30
+ if (!this.entries.has(key)) {
31
+ entryList = [];
32
+ this.entries.set(key, entryList);
33
+ }
34
+ else {
35
+ entryList = this.entries.get(key);
36
+ }
37
+ // find correct index in list to add entry to
38
+ let left = 0;
39
+ let right = entryList.length - 1;
40
+ let result = -1;
41
+ while (left <= right) {
42
+ const mid = Math.floor((left + right) / 2);
43
+ if (entryList[mid].priority >= priority) {
44
+ result = mid; // Found a candidate, but keep searching in the left half
45
+ right = mid - 1;
46
+ }
47
+ else {
48
+ left = mid + 1; // Search in the right half
49
+ }
50
+ }
51
+ const insertAt = result === -1 ? left : result;
52
+ entryList.splice(insertAt, 0, { priority: priority, entry: entry });
53
+ return this;
54
+ }
55
+ getAllEntriesForKey(key) {
56
+ if (!this.entries.has(key)) {
57
+ return null;
58
+ }
59
+ return this.entries.get(key).map((priorityRegistryEntry) => priorityRegistryEntry.entry);
60
+ }
61
+ }
62
+ export { PriorityRegistry };
63
+ //# sourceMappingURL=PriorityRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriorityRegistry.js","sourceRoot":"","sources":["../../../../src/Type/Definition/PriorityRegistry.ts"],"names":[],"mappings":"AAYA,MAAM,gBAAgB;IACH,OAAO,GAA4C,IAAI,GAAG,EAAE,CAAC;IAE9E,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACvD,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3E,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAQ,EAAE,QAAiB;QAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;QAED,IAAI,SAAqC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,SAAS,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACrC,CAAC;QAED,6CAA6C;QAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhB,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAE3C,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,CAAC,CAAC,yDAAyD;gBACvE,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,2BAA2B;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAE/C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5F,CAAC;CACF;AAED,OAAO,EAA6B,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ class Registry {
2
+ entries = new Map();
3
+ clearEntries() {
4
+ this.entries.clear();
5
+ return this;
6
+ }
7
+ deleteEntry(key) {
8
+ this.entries.delete(key);
9
+ return this;
10
+ }
11
+ getEntry(key) {
12
+ if (!this.hasEntry(key)) {
13
+ return null;
14
+ }
15
+ return this.entries.get(key);
16
+ }
17
+ hasEntry(key) {
18
+ return this.entries.has(key);
19
+ }
20
+ setEntry(key, entry) {
21
+ this.entries.set(key, entry);
22
+ return this;
23
+ }
24
+ }
25
+ export { Registry };
26
+ //# sourceMappingURL=Registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../../src/Type/Definition/Registry.ts"],"names":[],"mappings":"AAQA,MAAM,QAAQ;IACK,OAAO,GAAmB,IAAI,GAAG,EAAE,CAAC;IAErD,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAQ;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,OAAO,EAAqB,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ParseError } from '../../Error/index.js';
2
+ const serviceIdentifierRegex = /^([a-z][a-z0-9-]*)(\.([a-z][a-z0-9-]*))*$/;
3
+ function validateServiceIdentifierFromString(serviceIdentifier) {
4
+ if (!serviceIdentifierRegex.test(serviceIdentifier)) {
5
+ throw new ParseError('Passed variable is not a valid service identifier.');
6
+ }
7
+ return serviceIdentifier;
8
+ }
9
+ export { validateServiceIdentifierFromString, serviceIdentifierRegex };
10
+ //# sourceMappingURL=ServiceIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceIdentifier.js","sourceRoot":"","sources":["../../../../src/Type/Definition/ServiceIdentifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOlD,MAAM,sBAAsB,GAAG,2CAA2C,CAAC;AAE3E,SAAS,mCAAmC,CAAC,iBAAyB;IACpE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,UAAU,CAAC,oDAAoD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,iBAAsC,CAAC;AAChD,CAAC;AAED,OAAO,EAAqB,mCAAmC,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ export * from './Action.js';
2
+ export * from './Branded.js';
3
+ export * from './Event.js';
4
+ export * from './EventDispatcher.js';
5
+ export * from './EventIdentifier.js';
6
+ export * from './EventListener.js';
7
+ export * from './EventListenerIdentifier.js';
8
+ export * from './Logger.js';
9
+ export * from './OptionalPromise.js';
10
+ export * from './PriorityRegistry.js';
11
+ export * from './Registry.js';
12
+ export * from './ServiceIdentifier.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Type/Definition/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ var EventIdentifier;
2
+ (function (EventIdentifier) {
3
+ EventIdentifier["GetServiceResolver"] = "ember-nexus-app-core-get-service-resolver";
4
+ })(EventIdentifier || (EventIdentifier = {}));
5
+ export { EventIdentifier };
6
+ //# sourceMappingURL=EventIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventIdentifier.js","sourceRoot":"","sources":["../../../../src/Type/Enum/EventIdentifier.ts"],"names":[],"mappings":"AAAA,IAAK,eAEJ;AAFD,WAAK,eAAe;IAClB,mFAAgE,CAAA;AAClE,CAAC,EAFI,eAAe,KAAf,eAAe,QAEnB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}