phecda-server 7.0.0-alpha.8 → 7.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 (154) hide show
  1. package/README.md +10 -10
  2. package/assets/schema.json +12 -9
  3. package/bin/cli.mjs +96 -37
  4. package/dist/chunk-5SUY5UVC.js +258 -0
  5. package/dist/chunk-5SUY5UVC.js.map +1 -0
  6. package/dist/chunk-6JAHCTOT.mjs +334 -0
  7. package/dist/chunk-6JAHCTOT.mjs.map +1 -0
  8. package/dist/{chunk-BBNJVYVX.js → chunk-EDAWJVJ4.js} +42 -25
  9. package/dist/chunk-EDAWJVJ4.js.map +1 -0
  10. package/dist/{chunk-7EMAZGYO.js → chunk-H7OCHDZT.js} +65 -95
  11. package/dist/chunk-H7OCHDZT.js.map +1 -0
  12. package/dist/{chunk-QJIAXSLZ.js → chunk-KRUOHWFR.js} +79 -68
  13. package/dist/chunk-KRUOHWFR.js.map +1 -0
  14. package/dist/chunk-KUGU3UGO.js +334 -0
  15. package/dist/chunk-KUGU3UGO.js.map +1 -0
  16. package/dist/{chunk-SGMQZRP6.mjs → chunk-LBH4RXQQ.mjs} +12 -42
  17. package/dist/chunk-LBH4RXQQ.mjs.map +1 -0
  18. package/dist/{chunk-YKP4ODZA.mjs → chunk-MDPW6WGF.mjs} +32 -6
  19. package/dist/chunk-MDPW6WGF.mjs.map +1 -0
  20. package/dist/{chunk-VSGYTGHY.js → chunk-RLFCI3RG.js} +31 -5
  21. package/dist/chunk-RLFCI3RG.js.map +1 -0
  22. package/dist/{chunk-7NWDKK7D.mjs → chunk-TTHYUNOT.mjs} +18 -1
  23. package/dist/chunk-TTHYUNOT.mjs.map +1 -0
  24. package/dist/chunk-VDOICQ2U.mjs +258 -0
  25. package/dist/chunk-VDOICQ2U.mjs.map +1 -0
  26. package/dist/{chunk-B45BN7LY.mjs → chunk-WTJKTICN.mjs} +65 -54
  27. package/dist/chunk-WTJKTICN.mjs.map +1 -0
  28. package/dist/{core-BGEsBtTG.d.ts → core-BOo3uGFX.d.ts} +5 -4
  29. package/dist/{core-BcKywWLd.d.mts → core-CF45G79J.d.mts} +5 -4
  30. package/dist/core-DbqWh47p.d.mts +50 -0
  31. package/dist/core-Rq7BhPHE.d.ts +50 -0
  32. package/dist/helper.d.mts +7 -8
  33. package/dist/helper.d.ts +7 -8
  34. package/dist/helper.js +5 -3
  35. package/dist/helper.js.map +1 -0
  36. package/dist/helper.mjs +9 -7
  37. package/dist/helper.mjs.map +1 -0
  38. package/dist/http/elysia/index.d.mts +4 -4
  39. package/dist/http/elysia/index.d.ts +4 -4
  40. package/dist/http/elysia/index.js +43 -45
  41. package/dist/http/elysia/index.js.map +1 -0
  42. package/dist/http/elysia/index.mjs +6 -8
  43. package/dist/http/elysia/index.mjs.map +1 -0
  44. package/dist/http/express/index.d.mts +3 -3
  45. package/dist/http/express/index.d.ts +3 -3
  46. package/dist/http/express/index.js +40 -42
  47. package/dist/http/express/index.js.map +1 -0
  48. package/dist/http/express/index.mjs +6 -8
  49. package/dist/http/express/index.mjs.map +1 -0
  50. package/dist/http/fastify/index.d.mts +3 -3
  51. package/dist/http/fastify/index.d.ts +3 -3
  52. package/dist/http/fastify/index.js +41 -43
  53. package/dist/http/fastify/index.js.map +1 -0
  54. package/dist/http/fastify/index.mjs +6 -8
  55. package/dist/http/fastify/index.mjs.map +1 -0
  56. package/dist/http/h3/index.d.mts +3 -3
  57. package/dist/http/h3/index.d.ts +3 -3
  58. package/dist/http/h3/index.js +41 -43
  59. package/dist/http/h3/index.js.map +1 -0
  60. package/dist/http/h3/index.mjs +5 -7
  61. package/dist/http/h3/index.mjs.map +1 -0
  62. package/dist/http/hono/index.d.mts +3 -3
  63. package/dist/http/hono/index.d.ts +3 -3
  64. package/dist/http/hono/index.js +37 -39
  65. package/dist/http/hono/index.js.map +1 -0
  66. package/dist/http/hono/index.mjs +5 -7
  67. package/dist/http/hono/index.mjs.map +1 -0
  68. package/dist/http/hyper-express/index.d.mts +3 -3
  69. package/dist/http/hyper-express/index.d.ts +3 -3
  70. package/dist/http/hyper-express/index.js +38 -40
  71. package/dist/http/hyper-express/index.js.map +1 -0
  72. package/dist/http/hyper-express/index.mjs +5 -7
  73. package/dist/http/hyper-express/index.mjs.map +1 -0
  74. package/dist/http/koa/index.d.mts +3 -3
  75. package/dist/http/koa/index.d.ts +3 -3
  76. package/dist/http/koa/index.js +40 -42
  77. package/dist/http/koa/index.js.map +1 -0
  78. package/dist/http/koa/index.mjs +6 -8
  79. package/dist/http/koa/index.mjs.map +1 -0
  80. package/dist/index.d.mts +76 -12
  81. package/dist/index.d.ts +76 -12
  82. package/dist/index.js +103 -49
  83. package/dist/index.js.map +1 -0
  84. package/dist/index.mjs +68 -14
  85. package/dist/index.mjs.map +1 -0
  86. package/dist/{meta-B_HW7cWh.d.ts → meta-BoS1E-Nz.d.mts} +6 -24
  87. package/dist/{meta-B_HW7cWh.d.mts → meta-BoS1E-Nz.d.ts} +6 -24
  88. package/dist/rpc/bullmq/index.d.mts +4 -6
  89. package/dist/rpc/bullmq/index.d.ts +4 -6
  90. package/dist/rpc/bullmq/index.js +13 -80
  91. package/dist/rpc/bullmq/index.js.map +1 -0
  92. package/dist/rpc/bullmq/index.mjs +6 -73
  93. package/dist/rpc/bullmq/index.mjs.map +1 -0
  94. package/dist/rpc/electron/index.d.mts +13 -0
  95. package/dist/rpc/electron/index.d.ts +13 -0
  96. package/dist/rpc/electron/index.js +73 -0
  97. package/dist/rpc/electron/index.js.map +1 -0
  98. package/dist/rpc/electron/index.mjs +73 -0
  99. package/dist/rpc/electron/index.mjs.map +1 -0
  100. package/dist/rpc/kafka/index.d.mts +4 -9
  101. package/dist/rpc/kafka/index.d.ts +4 -9
  102. package/dist/rpc/kafka/index.js +12 -90
  103. package/dist/rpc/kafka/index.js.map +1 -0
  104. package/dist/rpc/kafka/index.mjs +5 -83
  105. package/dist/rpc/kafka/index.mjs.map +1 -0
  106. package/dist/rpc/nats/index.d.mts +4 -6
  107. package/dist/rpc/nats/index.d.ts +4 -6
  108. package/dist/rpc/nats/index.js +13 -72
  109. package/dist/rpc/nats/index.js.map +1 -0
  110. package/dist/rpc/nats/index.mjs +5 -64
  111. package/dist/rpc/nats/index.mjs.map +1 -0
  112. package/dist/rpc/rabbitmq/index.d.mts +4 -6
  113. package/dist/rpc/rabbitmq/index.d.ts +4 -6
  114. package/dist/rpc/rabbitmq/index.js +14 -79
  115. package/dist/rpc/rabbitmq/index.js.map +1 -0
  116. package/dist/rpc/rabbitmq/index.mjs +6 -71
  117. package/dist/rpc/rabbitmq/index.mjs.map +1 -0
  118. package/dist/rpc/redis/index.d.mts +4 -9
  119. package/dist/rpc/redis/index.d.ts +4 -9
  120. package/dist/rpc/redis/index.js +12 -78
  121. package/dist/rpc/redis/index.js.map +1 -0
  122. package/dist/rpc/redis/index.mjs +6 -72
  123. package/dist/rpc/redis/index.mjs.map +1 -0
  124. package/dist/rpc/web-ext/index.d.mts +2 -0
  125. package/dist/rpc/web-ext/index.d.ts +2 -0
  126. package/dist/rpc/web-ext/index.js +1 -0
  127. package/dist/rpc/web-ext/index.js.map +1 -0
  128. package/dist/rpc/web-ext/index.mjs +1 -0
  129. package/dist/rpc/web-ext/index.mjs.map +1 -0
  130. package/dist/rpc/ws/index.d.mts +14 -0
  131. package/dist/rpc/ws/index.d.ts +14 -0
  132. package/dist/rpc/ws/index.js +74 -0
  133. package/dist/rpc/ws/index.js.map +1 -0
  134. package/dist/rpc/ws/index.mjs +74 -0
  135. package/dist/rpc/ws/index.mjs.map +1 -0
  136. package/dist/test.d.mts +8 -4
  137. package/dist/test.d.ts +8 -4
  138. package/dist/test.js +7 -6
  139. package/dist/test.js.map +1 -0
  140. package/dist/test.mjs +3 -2
  141. package/dist/test.mjs.map +1 -0
  142. package/dist/types-CInz3bD0.d.ts +14 -0
  143. package/dist/types-E-rqlg3-.d.mts +14 -0
  144. package/dist/{types-C2SQ9U9V.d.mts → types-SCJZFCYt.d.mts} +1 -1
  145. package/dist/{types-PFPIQWVF.d.ts → types-xruyYmyu.d.ts} +1 -1
  146. package/package.json +24 -8
  147. package/register/export.mjs +30 -0
  148. package/register/index.mjs +20 -12
  149. package/register/loader.mjs +94 -116
  150. package/register/utils.mjs +36 -6
  151. package/assets/ps.json +0 -24
  152. package/assets/tsconfig.json +0 -21
  153. package/dist/types-CYF0vha6.d.ts +0 -19
  154. package/dist/types-DEQb_e59.d.mts +0 -19
@@ -1,14 +1,15 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
2
 
3
3
 
4
4
 
5
5
 
6
- var _chunkVSGYTGHYjs = require('./chunk-VSGYTGHY.js');
6
+
7
+ var _chunkRLFCI3RGjs = require('./chunk-RLFCI3RG.js');
7
8
 
8
9
  // src/meta.ts
9
10
  var Meta = class {
10
11
  static {
11
- _chunkVSGYTGHYjs.__name.call(void 0, this, "Meta");
12
+ _chunkRLFCI3RGjs.__name.call(void 0, this, "Meta");
12
13
  }
13
14
 
14
15
 
@@ -37,11 +38,11 @@ function defaultServerInject() {
37
38
  });
38
39
  }
39
40
  }
40
- _chunkVSGYTGHYjs.__name.call(void 0, defaultServerInject, "defaultServerInject");
41
+ _chunkRLFCI3RGjs.__name.call(void 0, defaultServerInject, "defaultServerInject");
41
42
  var phecdaNamespace = /* @__PURE__ */ new Map();
42
43
  var ServerPhecda = (_class = class {
43
44
  static {
44
- _chunkVSGYTGHYjs.__name.call(void 0, this, "ServerPhecda");
45
+ _chunkRLFCI3RGjs.__name.call(void 0, this, "ServerPhecda");
45
46
  }
46
47
  __init() {this.moduleMap = /* @__PURE__ */ new Map()}
47
48
  __init2() {this.meta = []}
@@ -51,9 +52,9 @@ var ServerPhecda = (_class = class {
51
52
 
52
53
 
53
54
 
54
- constructor(options) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);_class.prototype.__init4.call(this);_class.prototype.__init5.call(this);
55
+ constructor(options) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);_class.prototype.__init4.call(this);_class.prototype.__init5.call(this);_class.prototype.__init6.call(this);
55
56
  defaultServerInject();
56
- const { namespace = "default", parseModule = /* @__PURE__ */ _chunkVSGYTGHYjs.__name.call(void 0, (module) => module, "parseModule"), parseMeta = /* @__PURE__ */ _chunkVSGYTGHYjs.__name.call(void 0, (meta) => meta, "parseMeta"), generators = [] } = options;
57
+ const { namespace = "default", parseModule = /* @__PURE__ */ _chunkRLFCI3RGjs.__name.call(void 0, (module) => module, "parseModule"), parseMeta = /* @__PURE__ */ _chunkRLFCI3RGjs.__name.call(void 0, (meta) => meta, "parseMeta"), generators = [] } = options;
57
58
  phecdaNamespace.set(namespace, this);
58
59
  this.parseMeta = parseMeta;
59
60
  this.parseModule = parseModule;
@@ -61,63 +62,30 @@ var ServerPhecda = (_class = class {
61
62
  }
62
63
  async start(models) {
63
64
  for (const model of models) await this.buildDepModule(model);
64
- const generateCode = /* @__PURE__ */ _chunkVSGYTGHYjs.__name.call(void 0, async () => {
65
- if (_chunkVSGYTGHYjs.IS_DEV) {
66
- return Promise.all(this.generators.map((generator) => {
67
- debug(`generate "${generator.name}" code to ${generator.path}`);
68
- return generator.output(this.meta);
69
- }));
65
+ this.hmr();
66
+ this.generateCode().then(() => {
67
+ if (_chunkRLFCI3RGjs.IS_ONLY_GENERATE) {
68
+ _chunkRLFCI3RGjs.log.call(void 0, "Only generate code");
69
+ process.exit(_chunkRLFCI3RGjs.PS_EXIT_CODE.EXIT);
70
70
  }
71
- }, "generateCode");
72
- generateCode().then(() => {
73
- if (_chunkVSGYTGHYjs.IS_ONLY_GENERATE) process.exit(4);
74
71
  });
75
- if (_chunkVSGYTGHYjs.IS_DEV) {
76
- if (!globalThis.__PS_HMR__) globalThis.__PS_HMR__ = [];
77
- _optionalChain([globalThis, 'access', _2 => _2.__PS_HMR__, 'optionalAccess', _3 => _3.push, 'call', _4 => _4(async (files) => {
78
- debug("reload files ");
79
- for (const file of files) {
80
- const models2 = await Promise.resolve().then(() => _interopRequireWildcard(require(file)));
81
- for (const i in models2) {
82
- if (_phecdacore.isPhecda.call(void 0, models2[i])) await this.add(models2[i]);
83
- }
84
- }
85
- generateCode();
86
- })]);
87
- }
88
- }
89
- async add(Model) {
90
- const tag = _phecdacore.getTag.call(void 0, Model);
91
- const oldInstance = await this.del(tag);
92
- const { module: newModule } = await this.buildDepModule(Model);
93
- if (oldInstance && this.dependenceGraph.has(tag)) {
94
- debug(`replace module "${String(tag)}"`);
95
- [
96
- ...this.dependenceGraph.get(tag)
97
- ].forEach((tag2) => {
98
- const module = this.moduleMap.get(tag2);
99
- for (const key in module) {
100
- if (module[key] === oldInstance) module[key] = newModule;
101
- }
102
- });
103
- }
104
72
  }
105
- async del(tag) {
106
- if (!this.moduleMap.has(tag)) return;
107
- const module = this.moduleMap.get(tag);
108
- debug(`unmount module "${String(tag)}"`);
109
- await _phecdacore.invokeUnmount.call(void 0, module);
110
- debug(`del module "${String(tag)}"`);
111
- this.moduleMap.delete(tag);
112
- this.modelMap.delete(module);
113
- for (let i = this.meta.length - 1; i >= 0; i--) {
114
- if (this.meta[i].data.tag === tag) this.meta.splice(i, 1);
115
- }
116
- return module;
73
+ __init6() {this.generateCode = /* @__PURE__ */ _chunkRLFCI3RGjs.__name.call(void 0, async () => {
74
+ return Promise.all(this.generators.map((generator) => {
75
+ debug(`generate "${generator.name}" code to ${generator.path}`);
76
+ return generator.output(this.meta);
77
+ }));
78
+ }, "generateCode")}
79
+ hmr() {
80
+ _chunkRLFCI3RGjs.HMR.call(void 0, async (oldModels, newModels) => {
81
+ debug("reload models ");
82
+ await this.replace(oldModels, newModels);
83
+ this.generateCode();
84
+ });
117
85
  }
118
86
  async destroy() {
119
87
  debug("destroy all");
120
- for (const [tag] of this.moduleMap) await this.del(tag);
88
+ this.replace(Object.values(this.modelMap), []);
121
89
  }
122
90
  createProxyModule(tag) {
123
91
  const that = this;
@@ -133,6 +101,9 @@ var ServerPhecda = (_class = class {
133
101
  has(_target, prop) {
134
102
  return Reflect.has(that.moduleMap.get(tag), prop);
135
103
  },
104
+ ownKeys() {
105
+ return Reflect.ownKeys(that.moduleMap.get(tag));
106
+ },
136
107
  getPrototypeOf() {
137
108
  return Reflect.getPrototypeOf(that.moduleMap.get(tag));
138
109
  },
@@ -148,7 +119,7 @@ var ServerPhecda = (_class = class {
148
119
  if (this.moduleMap.has(tag)) {
149
120
  module = this.moduleMap.get(tag);
150
121
  if (!module) {
151
- _chunkVSGYTGHYjs.log.call(void 0, `Exist Circular-Dependency or Multiple modules with the same tag [${String(tag)}]`, "warn");
122
+ _chunkRLFCI3RGjs.log.call(void 0, `Exist Circular-Dependency or Multiple modules with the same tag [${String(tag)}]`, "warn");
152
123
  return {
153
124
  module: this.createProxyModule(tag),
154
125
  tag
@@ -156,8 +127,8 @@ var ServerPhecda = (_class = class {
156
127
  }
157
128
  if (this.modelMap.get(module) !== Model && !this.modelSet.has(Model)) {
158
129
  this.modelSet.add(Model);
159
- if (module instanceof Model) _chunkVSGYTGHYjs.log.call(void 0, `Module taged ${String(tag)} has been overridden`);
160
- else _chunkVSGYTGHYjs.log.call(void 0, `Synonym module: Module taged "${String(tag)}" has been loaded before, so phecda-server won't load Module "${Model.name}"`, "warn");
130
+ if (module instanceof Model) _chunkRLFCI3RGjs.log.call(void 0, `Module taged ${String(tag)} has been overridden`);
131
+ else _chunkRLFCI3RGjs.log.call(void 0, `Synonym module: Module taged "${String(tag)}" has been loaded before, so phecda-server won't load Module "${Model.name}"`, "warn");
161
132
  }
162
133
  return {
163
134
  module,
@@ -180,7 +151,7 @@ var ServerPhecda = (_class = class {
180
151
  }
181
152
  this.meta.push(...getMetaFromInstance(module, tag, Model.name).map(this.parseMeta).filter((item) => !!item));
182
153
  debug(`init module "${String(tag)}"`);
183
- if (!_chunkVSGYTGHYjs.IS_ONLY_GENERATE) await _phecdacore.invokeInit.call(void 0, module);
154
+ if (!_chunkRLFCI3RGjs.IS_ONLY_GENERATE) await _phecdacore.invokeInit.call(void 0, module);
184
155
  debug(`add module "${String(tag)}"`);
185
156
  this.moduleMap.set(tag, module);
186
157
  this.modelMap.set(module, Model);
@@ -189,6 +160,42 @@ var ServerPhecda = (_class = class {
189
160
  tag
190
161
  };
191
162
  }
163
+ async replace(oldModels, newModels) {
164
+ const oldModules = (await Promise.all(oldModels.map(async (model) => {
165
+ const tag = _phecdacore.getTag.call(void 0, model);
166
+ if (!this.has(tag)) return;
167
+ const module = this.moduleMap.get(tag);
168
+ debug(`unmount module "${String(tag)}"`);
169
+ await _phecdacore.invokeUnmount.call(void 0, module);
170
+ debug(`del module "${String(tag)}"`);
171
+ this.moduleMap.delete(tag);
172
+ this.modelMap.delete(module);
173
+ for (let i = this.meta.length - 1; i >= 0; i--) {
174
+ if (this.meta[i].data.tag === tag) this.meta.splice(i, 1);
175
+ }
176
+ return module;
177
+ }))).filter((item) => item);
178
+ for (const model of newModels) {
179
+ debug(`mount module: ${model.name}`);
180
+ await this.buildDepModule(model);
181
+ }
182
+ debug("replace old modules");
183
+ for (const module of oldModules) {
184
+ const tag = _phecdacore.getTag.call(void 0, module);
185
+ if (this.dependenceGraph.has(tag)) {
186
+ [
187
+ ...this.dependenceGraph.get(tag)
188
+ ].forEach((depTag) => {
189
+ const depModule = this.moduleMap.get(depTag);
190
+ if (depModule) {
191
+ for (const key in depModule) {
192
+ if (depModule[key] === module) depModule[key] = this.moduleMap.get(tag);
193
+ }
194
+ }
195
+ });
196
+ }
197
+ }
198
+ }
192
199
  has(modelOrTag) {
193
200
  return this.moduleMap.has(typeof modelOrTag === "function" ? _phecdacore.getTag.call(void 0, modelOrTag) : modelOrTag);
194
201
  }
@@ -197,13 +204,16 @@ var ServerPhecda = (_class = class {
197
204
  if (!this.has(tag)) throw new Error(`module "${tag.toString()}" doesn't exist`);
198
205
  return this.moduleMap.get(tag);
199
206
  }
207
+ getModel(tag) {
208
+ return this.modelMap.get(this.get(tag));
209
+ }
200
210
  }, _class);
201
211
  async function Factory(models, opts = {}) {
202
212
  const phecda = new ServerPhecda(opts);
203
213
  await phecda.start(models);
204
214
  return phecda;
205
215
  }
206
- _chunkVSGYTGHYjs.__name.call(void 0, Factory, "Factory");
216
+ _chunkRLFCI3RGjs.__name.call(void 0, Factory, "Factory");
207
217
  function useS(nsOrModel, namespace) {
208
218
  if (!nsOrModel) {
209
219
  namespace = "default";
@@ -216,7 +226,7 @@ function useS(nsOrModel, namespace) {
216
226
  if (nsOrModel && typeof nsOrModel !== "string") return serverPhecda.get(nsOrModel);
217
227
  else return serverPhecda;
218
228
  }
219
- _chunkVSGYTGHYjs.__name.call(void 0, useS, "useS");
229
+ _chunkRLFCI3RGjs.__name.call(void 0, useS, "useS");
220
230
  function getMetaFromInstance(instance, tag, name) {
221
231
  const propertyKeys = _phecdacore.getMetaKey.call(void 0, instance).filter((item) => typeof item === "string");
222
232
  const baseMeta = _phecdacore.getMergedMeta.call(void 0, instance, void 0);
@@ -230,7 +240,7 @@ function getMetaFromInstance(instance, tag, name) {
230
240
  func: i
231
241
  };
232
242
  if (baseMeta.controller) {
233
- if (typeof tag !== "string") _chunkVSGYTGHYjs.log.call(void 0, `can't use Tag with ${typeof tag} on controller "${instance.constructor.name}",instead with "${tag = String(tag)}"`, "error");
243
+ if (typeof tag !== "string") _chunkRLFCI3RGjs.log.call(void 0, `can't use Tag with ${typeof tag} on controller "${instance.constructor.name}",instead with "${tag = String(tag)}"`, "error");
234
244
  metaData.controller = baseMeta.controller;
235
245
  metaData[baseMeta.controller] = {
236
246
  ...baseMeta[baseMeta.controller],
@@ -268,7 +278,7 @@ function getMetaFromInstance(instance, tag, name) {
268
278
  return new Meta(deepFreeze(metaData), getParamTypes(instance, i) || []);
269
279
  });
270
280
  }
271
- _chunkVSGYTGHYjs.__name.call(void 0, getMetaFromInstance, "getMetaFromInstance");
281
+ _chunkRLFCI3RGjs.__name.call(void 0, getMetaFromInstance, "getMetaFromInstance");
272
282
  function deepFreeze(object) {
273
283
  Object.freeze(object);
274
284
  Object.getOwnPropertyNames(object).forEach((prop) => {
@@ -276,13 +286,13 @@ function deepFreeze(object) {
276
286
  });
277
287
  return object;
278
288
  }
279
- _chunkVSGYTGHYjs.__name.call(void 0, deepFreeze, "deepFreeze");
289
+ _chunkRLFCI3RGjs.__name.call(void 0, deepFreeze, "deepFreeze");
280
290
  function getParamTypes(Model, key) {
281
291
  const paramTypes = Reflect.getMetadata("design:paramtypes", Model, key);
282
292
  if (typeof paramTypes === "function") return paramTypes();
283
293
  else return paramTypes;
284
294
  }
285
- _chunkVSGYTGHYjs.__name.call(void 0, getParamTypes, "getParamTypes");
295
+ _chunkRLFCI3RGjs.__name.call(void 0, getParamTypes, "getParamTypes");
286
296
 
287
297
 
288
298
 
@@ -293,3 +303,4 @@ _chunkVSGYTGHYjs.__name.call(void 0, getParamTypes, "getParamTypes");
293
303
 
294
304
 
295
305
  exports.Meta = Meta; exports.emitter = emitter; exports.defaultServerInject = defaultServerInject; exports.phecdaNamespace = phecdaNamespace; exports.ServerPhecda = ServerPhecda; exports.Factory = Factory; exports.useS = useS;
306
+ //# sourceMappingURL=chunk-KRUOHWFR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["d:\\myproject\\phecda\\packages\\server\\dist\\chunk-KRUOHWFR.js"],"names":[],"mappings":"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C,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"D:\\myproject\\phecda\\packages\\server\\dist\\chunk-KRUOHWFR.js","sourcesContent":[null]}
@@ -0,0 +1,334 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
+
3
+
4
+
5
+
6
+
7
+ var _chunkRLFCI3RGjs = require('./chunk-RLFCI3RG.js');
8
+
9
+ // src/meta.ts
10
+ var Meta = class {
11
+ static {
12
+ _chunkRLFCI3RGjs.__name.call(void 0, this, "Meta");
13
+ }
14
+
15
+
16
+ constructor(data, paramsType) {
17
+ this.data = data;
18
+ this.paramsType = paramsType;
19
+ }
20
+ };
21
+
22
+ // src/core.ts
23
+ require('reflect-metadata');
24
+ var _events = require('events'); var _events2 = _interopRequireDefault(_events);
25
+ var _phecdacore = require('phecda-core');
26
+ var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug);
27
+ var debug = _debug2.default.call(void 0, "phecda-server(Factory)");
28
+ var emitter = new (0, _events2.default)();
29
+ function defaultServerInject() {
30
+ if (!_phecdacore.getInject.call(void 0, "watcher")) {
31
+ _phecdacore.setInject.call(void 0, "watcher", ({ eventName, instance, property, options }) => {
32
+ const fn = typeof instance[property] === "function" ? instance[property].bind(instance) : (v) => instance[property] = v;
33
+ if (_optionalChain([options, 'optionalAccess', _ => _.once])) emitter.once(eventName, fn);
34
+ else emitter.on(eventName, fn);
35
+ return () => {
36
+ emitter.off(eventName, fn);
37
+ };
38
+ });
39
+ }
40
+ }
41
+ _chunkRLFCI3RGjs.__name.call(void 0, defaultServerInject, "defaultServerInject");
42
+ var phecdaNamespace = /* @__PURE__ */ new Map();
43
+ var ServerPhecda = (_class = class {
44
+ static {
45
+ _chunkRLFCI3RGjs.__name.call(void 0, this, "ServerPhecda");
46
+ }
47
+ __init() {this.moduleMap = /* @__PURE__ */ new Map()}
48
+ __init2() {this.meta = []}
49
+ __init3() {this.modelMap = /* @__PURE__ */ new WeakMap()}
50
+ __init4() {this.modelSet = /* @__PURE__ */ new WeakSet()}
51
+ __init5() {this.dependenceGraph = /* @__PURE__ */ new Map()}
52
+
53
+
54
+
55
+ constructor(options) {;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);_class.prototype.__init4.call(this);_class.prototype.__init5.call(this);_class.prototype.__init6.call(this);
56
+ defaultServerInject();
57
+ const { namespace = "default", parseModule = /* @__PURE__ */ _chunkRLFCI3RGjs.__name.call(void 0, (module) => module, "parseModule"), parseMeta = /* @__PURE__ */ _chunkRLFCI3RGjs.__name.call(void 0, (meta) => meta, "parseMeta"), generators = [] } = options;
58
+ phecdaNamespace.set(namespace, this);
59
+ this.parseMeta = parseMeta;
60
+ this.parseModule = parseModule;
61
+ this.generators = generators;
62
+ }
63
+ async start(models) {
64
+ for (const model of models) await this.buildDepModule(model);
65
+ this.hmr();
66
+ this.generateCode().then(() => {
67
+ if (_chunkRLFCI3RGjs.IS_ONLY_GENERATE) {
68
+ _chunkRLFCI3RGjs.log.call(void 0, "Only generate code");
69
+ process.exit(_chunkRLFCI3RGjs.PS_EXIT_CODE.EXIT);
70
+ }
71
+ });
72
+ }
73
+ __init6() {this.generateCode = /* @__PURE__ */ _chunkRLFCI3RGjs.__name.call(void 0, async () => {
74
+ return Promise.all(this.generators.map((generator) => {
75
+ debug(`generate "${generator.name}" code to ${generator.path}`);
76
+ return generator.output(this.meta);
77
+ }));
78
+ }, "generateCode")}
79
+ hmr() {
80
+ _chunkRLFCI3RGjs.HMR.call(void 0, async (oldModels, newModels) => {
81
+ debug("reload models ");
82
+ await this.replace(oldModels, newModels);
83
+ this.generateCode();
84
+ });
85
+ }
86
+ // async add(Model: Construct) {
87
+ // const tag = getTag(Model)
88
+ // const oldInstance = await this.del(tag)
89
+ // const { module: newModule } = await this.buildDepModule(Model)
90
+ // if (oldInstance && this.dependenceGraph.has(tag)) {
91
+ // debug(`replace module "${String(tag)}"`);
92
+ // [...this.dependenceGraph.get(tag)!].forEach((tag) => {
93
+ // const module = this.moduleMap.get(tag)
94
+ // for (const key in module) {
95
+ // if (module[key] === oldInstance)
96
+ // module[key] = newModule
97
+ // }
98
+ // })
99
+ // }
100
+ // }
101
+ // async del(modelOrTag: Construct | PropertyKey) {
102
+ // const tag = typeof modelOrTag === 'function' ? getTag(modelOrTag) : modelOrTag
103
+ // if (!this.moduleMap.has(tag))
104
+ // return
105
+ // const module = this.moduleMap.get(tag)
106
+ // debug(`unmount module "${String(tag)}"`)
107
+ // await invokeUnmount(module)
108
+ // debug(`del module "${String(tag)}"`)
109
+ // this.moduleMap.delete(tag)
110
+ // this.modelMap.delete(module)
111
+ // for (let i = this.meta.length - 1; i >= 0; i--) {
112
+ // if (this.meta[i].data.tag === tag)
113
+ // this.meta.splice(i, 1)
114
+ // }
115
+ // return module
116
+ // }
117
+ async destroy() {
118
+ debug("destroy all");
119
+ this.replace(Object.values(this.modelMap), []);
120
+ }
121
+ createProxyModule(tag) {
122
+ const that = this;
123
+ return new Proxy({}, {
124
+ get(_target, prop) {
125
+ const module = that.moduleMap.get(tag);
126
+ return Reflect.get(module, prop, module);
127
+ },
128
+ set(_target, prop, newValue) {
129
+ const module = that.moduleMap.get(tag);
130
+ return Reflect.set(module, prop, newValue, module);
131
+ },
132
+ has(_target, prop) {
133
+ return Reflect.has(that.moduleMap.get(tag), prop);
134
+ },
135
+ ownKeys() {
136
+ return Reflect.ownKeys(that.moduleMap.get(tag));
137
+ },
138
+ getPrototypeOf() {
139
+ return Reflect.getPrototypeOf(that.moduleMap.get(tag));
140
+ },
141
+ getOwnPropertyDescriptor(_target, prop) {
142
+ return Reflect.getOwnPropertyDescriptor(that.moduleMap.get(tag), prop);
143
+ }
144
+ });
145
+ }
146
+ async buildDepModule(Model) {
147
+ const paramtypes = getParamTypes(Model);
148
+ let module;
149
+ const tag = _phecdacore.getTag.call(void 0, Model);
150
+ if (this.moduleMap.has(tag)) {
151
+ module = this.moduleMap.get(tag);
152
+ if (!module) {
153
+ _chunkRLFCI3RGjs.log.call(void 0, `Exist Circular-Dependency or Multiple modules with the same tag [${String(tag)}]`, "warn");
154
+ return {
155
+ module: this.createProxyModule(tag),
156
+ tag
157
+ };
158
+ }
159
+ if (this.modelMap.get(module) !== Model && !this.modelSet.has(Model)) {
160
+ this.modelSet.add(Model);
161
+ if (module instanceof Model) _chunkRLFCI3RGjs.log.call(void 0, `Module taged ${String(tag)} has been overridden`);
162
+ else _chunkRLFCI3RGjs.log.call(void 0, `Synonym module: Module taged "${String(tag)}" has been loaded before, so phecda-server won't load Module "${Model.name}"`, "warn");
163
+ }
164
+ return {
165
+ module,
166
+ tag
167
+ };
168
+ }
169
+ this.moduleMap.set(tag, void 0);
170
+ debug(`instantiate module "${String(tag)}"`);
171
+ if (paramtypes) {
172
+ const paramtypesInstances = [];
173
+ for (const i in paramtypes) {
174
+ const { module: sub, tag: subTag } = await this.buildDepModule(paramtypes[i]);
175
+ paramtypesInstances[i] = sub;
176
+ if (!this.dependenceGraph.has(subTag)) this.dependenceGraph.set(subTag, /* @__PURE__ */ new Set());
177
+ this.dependenceGraph.get(subTag).add(tag);
178
+ }
179
+ module = this.parseModule(new Model(...paramtypesInstances));
180
+ } else {
181
+ module = this.parseModule(new Model());
182
+ }
183
+ this.meta.push(...getMetaFromInstance(module, tag, Model.name).map(this.parseMeta).filter((item) => !!item));
184
+ debug(`init module "${String(tag)}"`);
185
+ if (!_chunkRLFCI3RGjs.IS_ONLY_GENERATE) await _phecdacore.invokeInit.call(void 0, module);
186
+ debug(`add module "${String(tag)}"`);
187
+ this.moduleMap.set(tag, module);
188
+ this.modelMap.set(module, Model);
189
+ return {
190
+ module,
191
+ tag
192
+ };
193
+ }
194
+ async replace(oldModels, newModels) {
195
+ const oldModules = (await Promise.all(oldModels.map(async (model) => {
196
+ const tag = _phecdacore.getTag.call(void 0, model);
197
+ if (!this.has(tag)) return;
198
+ const module = this.moduleMap.get(tag);
199
+ debug(`unmount module "${String(tag)}"`);
200
+ await _phecdacore.invokeUnmount.call(void 0, module);
201
+ debug(`del module "${String(tag)}"`);
202
+ this.moduleMap.delete(tag);
203
+ this.modelMap.delete(module);
204
+ for (let i = this.meta.length - 1; i >= 0; i--) {
205
+ if (this.meta[i].data.tag === tag) this.meta.splice(i, 1);
206
+ }
207
+ return module;
208
+ }))).filter((item) => item);
209
+ for (const model of newModels) {
210
+ debug(`mount module: ${model.name}`);
211
+ await this.buildDepModule(model);
212
+ }
213
+ debug("replace old modules");
214
+ for (const module of oldModules) {
215
+ const tag = _phecdacore.getTag.call(void 0, module);
216
+ if (this.dependenceGraph.has(tag)) {
217
+ [
218
+ ...this.dependenceGraph.get(tag)
219
+ ].forEach((depTag) => {
220
+ const depModule = this.moduleMap.get(depTag);
221
+ if (depModule) {
222
+ for (const key in depModule) {
223
+ if (depModule[key] === module) depModule[key] = this.moduleMap.get(tag);
224
+ }
225
+ }
226
+ });
227
+ }
228
+ }
229
+ }
230
+ has(modelOrTag) {
231
+ return this.moduleMap.has(typeof modelOrTag === "function" ? _phecdacore.getTag.call(void 0, modelOrTag) : modelOrTag);
232
+ }
233
+ get(modelOrTag) {
234
+ const tag = typeof modelOrTag === "function" ? _phecdacore.getTag.call(void 0, modelOrTag) : modelOrTag;
235
+ if (!this.has(tag)) throw new Error(`module "${tag.toString()}" doesn't exist`);
236
+ return this.moduleMap.get(tag);
237
+ }
238
+ }, _class);
239
+ async function Factory(models, opts = {}) {
240
+ const phecda = new ServerPhecda(opts);
241
+ await phecda.start(models);
242
+ return phecda;
243
+ }
244
+ _chunkRLFCI3RGjs.__name.call(void 0, Factory, "Factory");
245
+ function useS(nsOrModel, namespace) {
246
+ if (!nsOrModel) {
247
+ namespace = "default";
248
+ } else {
249
+ if (typeof nsOrModel === "string") namespace = nsOrModel;
250
+ else if (!namespace) namespace = "default";
251
+ }
252
+ if (!phecdaNamespace.has(namespace)) throw new Error(`namespace "${namespace}" doesn't exist`);
253
+ const serverPhecda = phecdaNamespace.get(namespace);
254
+ if (nsOrModel && typeof nsOrModel !== "string") return serverPhecda.get(nsOrModel);
255
+ else return serverPhecda;
256
+ }
257
+ _chunkRLFCI3RGjs.__name.call(void 0, useS, "useS");
258
+ function getMetaFromInstance(instance, tag, name) {
259
+ const propertyKeys = _phecdacore.getMetaKey.call(void 0, instance).filter((item) => typeof item === "string");
260
+ const baseMeta = _phecdacore.getMergedMeta.call(void 0, instance, void 0);
261
+ const ctxs = baseMeta.ctxs;
262
+ return propertyKeys.filter((i) => typeof instance[i] === "function").map((i) => {
263
+ const meta = _phecdacore.getMergedMeta.call(void 0, instance, i);
264
+ const metaData = {
265
+ ...meta,
266
+ name,
267
+ tag,
268
+ func: i
269
+ };
270
+ if (baseMeta.controller) {
271
+ if (typeof tag !== "string") _chunkRLFCI3RGjs.log.call(void 0, `can't use Tag with ${typeof tag} on controller "${instance.constructor.name}",instead with "${tag = String(tag)}"`, "error");
272
+ metaData.controller = baseMeta.controller;
273
+ metaData[baseMeta.controller] = {
274
+ ...baseMeta[baseMeta.controller],
275
+ ...meta[baseMeta.controller]
276
+ };
277
+ const params = _phecdacore.getMetaParams.call(void 0, instance, i).map((item) => _phecdacore.getMergedMeta.call(void 0, instance, i, item));
278
+ params.forEach((item, index) => {
279
+ if (!item.pipe) item.pipe = meta.pipe || baseMeta.pipe;
280
+ if (!item.define) item.define = {};
281
+ item.index = index;
282
+ });
283
+ metaData.ctxs = ctxs;
284
+ metaData.params = params;
285
+ metaData.filter = meta.filter || baseMeta.filter;
286
+ metaData.define = {
287
+ ...baseMeta.define,
288
+ ...meta.define
289
+ };
290
+ for (const item of [
291
+ "addons",
292
+ "guards"
293
+ ]) {
294
+ const set = new Set(baseMeta[item]);
295
+ if (meta[item]) {
296
+ meta[item].forEach((part) => {
297
+ set.delete(part);
298
+ set.add(part);
299
+ });
300
+ }
301
+ metaData[item] = [
302
+ ...set
303
+ ];
304
+ }
305
+ }
306
+ return new Meta(deepFreeze(metaData), getParamTypes(instance, i) || []);
307
+ });
308
+ }
309
+ _chunkRLFCI3RGjs.__name.call(void 0, getMetaFromInstance, "getMetaFromInstance");
310
+ function deepFreeze(object) {
311
+ Object.freeze(object);
312
+ Object.getOwnPropertyNames(object).forEach((prop) => {
313
+ if (object[prop] !== null && (typeof object[prop] === "object" || typeof object[prop] === "function") && !Object.isFrozen(object[prop])) deepFreeze(object[prop]);
314
+ });
315
+ return object;
316
+ }
317
+ _chunkRLFCI3RGjs.__name.call(void 0, deepFreeze, "deepFreeze");
318
+ function getParamTypes(Model, key) {
319
+ const paramTypes = Reflect.getMetadata("design:paramtypes", Model, key);
320
+ if (typeof paramTypes === "function") return paramTypes();
321
+ else return paramTypes;
322
+ }
323
+ _chunkRLFCI3RGjs.__name.call(void 0, getParamTypes, "getParamTypes");
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+ exports.Meta = Meta; exports.emitter = emitter; exports.defaultServerInject = defaultServerInject; exports.phecdaNamespace = phecdaNamespace; exports.ServerPhecda = ServerPhecda; exports.Factory = Factory; exports.useS = useS;
334
+ //# sourceMappingURL=chunk-KUGU3UGO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["d:\\myproject\\phecda\\packages\\server\\dist\\chunk-KUGU3UGO.js"],"names":[],"mappings":"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C,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"D:\\myproject\\phecda\\packages\\server\\dist\\chunk-KUGU3UGO.js","sourcesContent":[null]}