@based/server 4.5.2 → 5.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.
@@ -151,6 +151,7 @@ async function createSimpleServer(props, sharedSocket) {
151
151
  }
152
152
  }),
153
153
  route: ({ server, path, name }) => {
154
+ // TODO: too slow will create a dedicated ROUTE thing later
154
155
  let rootFn;
155
156
  if (path) {
156
157
  for (const name in functionStore) {
@@ -162,15 +163,18 @@ async function createSimpleServer(props, sharedSocket) {
162
163
  rootFn = functionStore[name];
163
164
  }
164
165
  }
165
- for (const name in server.functions.specs) {
166
- const fnPath = server.functions.specs[name].path;
167
- if (fnPath === path) {
168
- return server.functions.specs[name];
169
- }
170
- if (!rootFn && fnPath === '/') {
171
- rootFn = server.functions.specs[name];
172
- }
173
- }
166
+ // this will not work for now... will go into ROUTES
167
+ // addRoutes // addSpecs(, true) // makes them info routes as well
168
+ // easier to reaosn about
169
+ // for (const name in server.functions.specs) {
170
+ // const fnPath = server.functions.specs[name].path
171
+ // if (fnPath === path) {
172
+ // return server.functions.specs[name]
173
+ // }
174
+ // if (!rootFn && fnPath === '/') {
175
+ // rootFn = server.functions.specs[name]
176
+ // }
177
+ // }
174
178
  }
175
179
  return (functionStore[name] || server.functions.specs[name] || rootFn || null);
176
180
  },
@@ -1 +1 @@
1
- {"version":3,"file":"createSimpleServer.js","sourceRoot":"","sources":["../src/createSimpleServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSimpleServer.js","sourceRoot":"","sources":["../src/createSimpleServer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import type { BasedServer } from '../server';
3
- import { BasedRoute, BasedSpec, FunctionConfig, BasedFullFunctionSpec } from './types';
3
+ import { BasedRoute, BasedSpec, FunctionConfig, BasedSpecs, BasedRoutes } from './types';
4
4
  export * from './types';
5
5
  export declare class BasedFunctions {
6
6
  server: BasedServer;
@@ -25,20 +25,48 @@ export declare class BasedFunctions {
25
25
  rateLimitTokens: number;
26
26
  };
27
27
  };
28
+ routes: {
29
+ [name: string]: BasedRoute & {
30
+ maxPayloadSize: number;
31
+ rateLimitTokens: number;
32
+ };
33
+ };
28
34
  beingUninstalled: {
29
35
  [name: string]: boolean;
30
36
  };
31
37
  constructor(server: BasedServer, config?: FunctionConfig);
32
- addSpecs(specs: BasedFullFunctionSpec): void;
38
+ updateConfig(fullConfig: FunctionConfig): void;
39
+ route(name?: string, path?: string): BasedRoute | null;
40
+ install(name: string): Promise<BasedSpec | null>;
41
+ addSpecs(specs: BasedSpecs): void;
42
+ addRoutes(routes: BasedRoutes): void;
43
+ completeSpec(spec: Partial<BasedSpec & {
44
+ maxPayloadSize?: number;
45
+ rateLimitTokens?: number;
46
+ }>, name?: string): null | (BasedSpec & {
47
+ maxPayloadSize: number;
48
+ rateLimitTokens: number;
49
+ });
50
+ completeRoute(route: Partial<BasedRoute & {
51
+ maxPayloadSize?: number;
52
+ rateLimitTokens?: number;
53
+ }>, name?: string): null | (BasedRoute & {
54
+ maxPayloadSize: number;
55
+ rateLimitTokens: number;
56
+ });
57
+ updateRoute(route: BasedRoute & {
58
+ maxPayloadSize?: number;
59
+ rateLimitTokens?: number;
60
+ }): null | (BasedRoute & {
61
+ maxPayloadSize: number;
62
+ rateLimitTokens: number;
63
+ });
64
+ updateInternal(spec: BasedSpec): boolean;
33
65
  uninstallLoop(): void;
34
- updateConfig(config: FunctionConfig): void;
35
66
  update(name: string, checksum: number): Promise<void>;
67
+ uninstall(name: string, spec?: BasedSpec | false): Promise<boolean>;
36
68
  private installGaurdedFromConfig;
37
- install(name: string): Promise<BasedSpec | null>;
38
69
  getNameFromPath(path: string): string;
39
- route(name?: string, path?: string): BasedRoute | null;
40
70
  getFromStore(name: string): BasedSpec | null;
41
- updateInternal(spec: BasedSpec): boolean;
42
71
  remove(name: string): boolean;
43
- uninstall(name: string, spec?: BasedSpec | false): Promise<boolean>;
44
72
  }
@@ -33,43 +33,15 @@ class BasedFunctions {
33
33
  };
34
34
  this.paths = {};
35
35
  this.specs = {};
36
+ this.routes = {};
36
37
  this.beingUninstalled = {};
37
38
  this.server = server;
38
39
  if (config) {
39
40
  this.updateConfig(config);
40
41
  }
41
42
  }
42
- addSpecs(specs) {
43
- for (const key in specs) {
44
- const s = specs[key];
45
- if (!s.uninstallAfterIdleTime) {
46
- // When this is used you prob dont want to uninstall anything...
47
- s.uninstallAfterIdleTime = -1;
48
- }
49
- this.updateInternal(s);
50
- }
51
- }
52
- uninstallLoop() {
53
- this.unregisterTimeout = setTimeout(async () => {
54
- const q = [];
55
- for (const name in this.specs) {
56
- const spec = this.specs[name];
57
- if ((0, types_1.isQueryFunctionSpec)(spec) && this.server.activeObservables[name]) {
58
- (0, timeout_1.updateTimeoutCounter)(spec);
59
- }
60
- else if ((0, types_1.isChannelFunctionSpec)(spec) &&
61
- this.server.activeChannels[name]) {
62
- (0, timeout_1.updateTimeoutCounter)(spec);
63
- }
64
- else if ((0, timeout_1.fnIsTimedOut)(spec)) {
65
- q.push(this.uninstall(name, spec));
66
- }
67
- }
68
- await Promise.all(q);
69
- this.uninstallLoop();
70
- }, 3e3);
71
- }
72
- updateConfig(config) {
43
+ updateConfig(fullConfig) {
44
+ const { routes, specs, ...config } = fullConfig;
73
45
  if (this.config) {
74
46
  (0, utils_1.deepMerge)(this.config, config);
75
47
  }
@@ -85,39 +57,46 @@ class BasedFunctions {
85
57
  channel: 60e3, // 3 1 Min
86
58
  };
87
59
  }
60
+ if (this.config.route === undefined) {
61
+ this.config.route = ({ name, path }) => {
62
+ if (path) {
63
+ const fromPath = this.getNameFromPath(path);
64
+ const r = this.routes[fromPath] || this.routes[name];
65
+ if (r) {
66
+ return r;
67
+ }
68
+ const rootPath = this.paths['/'];
69
+ if (rootPath) {
70
+ return this.routes[rootPath];
71
+ }
72
+ return null;
73
+ }
74
+ return this.routes[name];
75
+ };
76
+ }
77
+ if (this.config.install === undefined) {
78
+ this.config.install = async ({ name }) => {
79
+ return this.getFromStore(name);
80
+ };
81
+ }
82
+ if (this.config.uninstall === undefined) {
83
+ this.config.uninstall = async () => {
84
+ return true;
85
+ };
86
+ }
87
+ if (routes) {
88
+ this.addRoutes(routes);
89
+ }
90
+ if (specs) {
91
+ this.addSpecs(specs);
92
+ }
88
93
  if (this.unregisterTimeout) {
89
94
  clearTimeout(this.unregisterTimeout);
90
95
  }
91
96
  this.uninstallLoop();
92
97
  }
93
- async update(name, checksum) {
94
- const prevSpec = this.specs[name];
95
- if (prevSpec && prevSpec.checksum !== checksum) {
96
- if (this.beingUninstalled[name]) {
97
- delete this.beingUninstalled[name];
98
- }
99
- const spec = await this.installGaurdedFromConfig(name);
100
- await this.config.uninstall({
101
- server: this.server,
102
- function: prevSpec,
103
- name,
104
- });
105
- if (spec) {
106
- this.updateInternal(spec);
107
- }
108
- }
109
- }
110
- async installGaurdedFromConfig(name) {
111
- if (this.installsInProgress[name]) {
112
- return this.installsInProgress[name];
113
- }
114
- this.installsInProgress[name] = this.config.install({
115
- server: this.server,
116
- name,
117
- });
118
- const s = await this.installsInProgress[name];
119
- delete this.installsInProgress[name];
120
- return s;
98
+ route(name, path) {
99
+ return this.config.route({ server: this.server, name, path });
121
100
  }
122
101
  async install(name) {
123
102
  let spec = this.getFromStore(name);
@@ -131,31 +110,87 @@ class BasedFunctions {
131
110
  }
132
111
  return null;
133
112
  }
134
- getNameFromPath(path) {
135
- return this.paths[path];
113
+ addSpecs(specs) {
114
+ for (const key in specs) {
115
+ const s = this.completeSpec(specs[key], key);
116
+ if (s === null) {
117
+ continue;
118
+ }
119
+ if (!s.uninstallAfterIdleTime) {
120
+ s.uninstallAfterIdleTime = -1;
121
+ }
122
+ this.updateInternal(s);
123
+ }
136
124
  }
137
- route(name, path) {
138
- return this.config.route({ server: this.server, name, path });
125
+ addRoutes(routes) {
126
+ for (const key in routes) {
127
+ const nRoute = this.completeRoute(this.routes[key], key);
128
+ if (nRoute !== null) {
129
+ this.updateRoute(nRoute);
130
+ }
131
+ }
139
132
  }
140
- getFromStore(name) {
141
- const spec = this.specs[name];
142
- if (spec) {
143
- if (this.beingUninstalled[name]) {
144
- delete this.beingUninstalled[name];
133
+ completeSpec(spec, name) {
134
+ if (this.completeRoute(spec, name) === null) {
135
+ return null;
136
+ }
137
+ // if (!spec.function) {
138
+ // if channel
139
+ // channel publish
140
+ // }
141
+ // spec.function
142
+ const nSpec = spec;
143
+ return nSpec;
144
+ }
145
+ completeRoute(route, name) {
146
+ const nRoute = route;
147
+ if (!nRoute.name) {
148
+ if (!name) {
149
+ console.error('No route name!', route);
150
+ return null;
145
151
  }
146
- (0, timeout_1.updateTimeoutCounter)(spec);
147
- return spec;
152
+ nRoute.name = name;
148
153
  }
149
- return null;
154
+ if (!route.maxPayloadSize) {
155
+ if ((0, types_1.isChannelFunctionRoute)(nRoute)) {
156
+ route.maxPayloadSize = this.maxPayLoadSizeDefaults.channel;
157
+ }
158
+ else if ((0, types_1.isQueryFunctionRoute)(nRoute)) {
159
+ route.maxPayloadSize = this.maxPayLoadSizeDefaults.query;
160
+ }
161
+ else if ((0, types_1.isStreamFunctionRoute)(nRoute)) {
162
+ route.maxPayloadSize = this.maxPayLoadSizeDefaults.stream;
163
+ }
164
+ else {
165
+ route.maxPayloadSize = this.maxPayLoadSizeDefaults.function;
166
+ }
167
+ }
168
+ if (!nRoute.rateLimitTokens) {
169
+ nRoute.rateLimitTokens = 1;
170
+ }
171
+ return nRoute;
172
+ }
173
+ updateRoute(route) {
174
+ const realRoute = this.completeRoute(route);
175
+ if (realRoute === null) {
176
+ return null;
177
+ }
178
+ if (realRoute.path) {
179
+ this.paths[realRoute.path] = realRoute.name;
180
+ }
181
+ this.routes[route.name] = realRoute;
182
+ return realRoute;
150
183
  }
151
184
  updateInternal(spec) {
152
185
  if (!spec) {
153
186
  return false;
154
187
  }
155
- // Case when functions are installed exactly at the same time
156
188
  if ((0, utils_1.deepEqual)(spec, this.specs[spec.name])) {
157
189
  return false;
158
190
  }
191
+ if (this.updateRoute(spec) === null) {
192
+ return false;
193
+ }
159
194
  if (!spec.uninstallAfterIdleTime) {
160
195
  spec.uninstallAfterIdleTime = this.config.uninstallAfterIdleTime;
161
196
  }
@@ -168,25 +203,8 @@ class BasedFunctions {
168
203
  if (spec.path) {
169
204
  this.paths[spec.path] = spec.name;
170
205
  }
171
- if (!spec.maxPayloadSize) {
172
- if ((0, types_1.isChannelFunctionSpec)(spec)) {
173
- spec.maxPayloadSize = this.maxPayLoadSizeDefaults.channel;
174
- }
175
- else if ((0, types_1.isQueryFunctionSpec)(spec)) {
176
- spec.maxPayloadSize = this.maxPayLoadSizeDefaults.query;
177
- }
178
- else if ((0, types_1.isStreamFunctionSpec)(spec)) {
179
- spec.maxPayloadSize = this.maxPayLoadSizeDefaults.stream;
180
- }
181
- else {
182
- spec.maxPayloadSize = this.maxPayLoadSizeDefaults.function;
183
- }
184
- }
185
- if (!spec.rateLimitTokens) {
186
- spec.rateLimitTokens = 1;
187
- }
188
206
  const previousChecksum = this.specs[spec.name]?.checksum ?? -1;
189
- // @ts-ignore maxpayload and rlimit tokens added on line 184...
207
+ // @ts-ignore maxpayload and rlimit tokens added....
190
208
  this.specs[spec.name] = spec;
191
209
  if (this.specs[spec.name] && this.server.activeChannels[spec.name]) {
192
210
  if (!(0, types_1.isChannelFunctionSpec)(spec)) {
@@ -219,22 +237,42 @@ class BasedFunctions {
219
237
  }
220
238
  return true;
221
239
  }
222
- remove(name) {
223
- const spec = this.specs[name];
224
- if (!spec) {
225
- return false;
226
- }
227
- if ((0, types_1.isQueryFunctionRoute)(spec)) {
228
- const activeObs = this.server.activeObservables[name];
229
- if (activeObs) {
230
- for (const [id] of activeObs) {
231
- (0, observable_1.destroyObs)(this.server, id);
240
+ uninstallLoop() {
241
+ this.unregisterTimeout = setTimeout(async () => {
242
+ const q = [];
243
+ for (const name in this.specs) {
244
+ const spec = this.specs[name];
245
+ if ((0, types_1.isQueryFunctionSpec)(spec) && this.server.activeObservables[name]) {
246
+ (0, timeout_1.updateTimeoutCounter)(spec);
232
247
  }
233
- delete this.server.activeObservables[name];
248
+ else if ((0, types_1.isChannelFunctionSpec)(spec) &&
249
+ this.server.activeChannels[name]) {
250
+ (0, timeout_1.updateTimeoutCounter)(spec);
251
+ }
252
+ else if ((0, timeout_1.fnIsTimedOut)(spec)) {
253
+ q.push(this.uninstall(name, spec));
254
+ }
255
+ }
256
+ await Promise.all(q);
257
+ this.uninstallLoop();
258
+ }, 3e3);
259
+ }
260
+ async update(name, checksum) {
261
+ const prevSpec = this.specs[name];
262
+ if (prevSpec && prevSpec.checksum !== checksum) {
263
+ if (this.beingUninstalled[name]) {
264
+ delete this.beingUninstalled[name];
265
+ }
266
+ const spec = await this.installGaurdedFromConfig(name);
267
+ await this.config.uninstall({
268
+ server: this.server,
269
+ function: prevSpec,
270
+ name,
271
+ });
272
+ if (spec) {
273
+ this.updateInternal(spec);
234
274
  }
235
275
  }
236
- delete this.specs[name];
237
- return true;
238
276
  }
239
277
  async uninstall(name, spec) {
240
278
  if (this.beingUninstalled[name]) {
@@ -265,6 +303,58 @@ class BasedFunctions {
265
303
  }
266
304
  return false;
267
305
  }
306
+ async installGaurdedFromConfig(name) {
307
+ if (this.installsInProgress[name]) {
308
+ return this.installsInProgress[name];
309
+ }
310
+ this.installsInProgress[name] = this.config.install({
311
+ server: this.server,
312
+ name,
313
+ });
314
+ const s = await this.installsInProgress[name];
315
+ delete this.installsInProgress[name];
316
+ return s;
317
+ }
318
+ getNameFromPath(path) {
319
+ return this.paths[path];
320
+ }
321
+ getFromStore(name) {
322
+ const spec = this.specs[name];
323
+ if (spec) {
324
+ if (this.beingUninstalled[name]) {
325
+ delete this.beingUninstalled[name];
326
+ }
327
+ (0, timeout_1.updateTimeoutCounter)(spec);
328
+ return spec;
329
+ }
330
+ return null;
331
+ }
332
+ remove(name) {
333
+ const spec = this.specs[name];
334
+ if (!spec) {
335
+ return false;
336
+ }
337
+ if ((0, types_1.isQueryFunctionRoute)(spec)) {
338
+ const activeObs = this.server.activeObservables[name];
339
+ if (activeObs) {
340
+ for (const [id] of activeObs) {
341
+ (0, observable_1.destroyObs)(this.server, id);
342
+ }
343
+ delete this.server.activeObservables[name];
344
+ }
345
+ }
346
+ if ((0, types_1.isChannelFunctionSpec)(spec)) {
347
+ const activeChannel = this.server.activeChannels[name];
348
+ if (activeChannel) {
349
+ for (const [id] of activeChannel) {
350
+ (0, channel_1.destroyChannel)(this.server, id);
351
+ }
352
+ delete this.server.activeChannels[name];
353
+ }
354
+ }
355
+ delete this.specs[name];
356
+ return true;
357
+ }
268
358
  }
269
359
  exports.BasedFunctions = BasedFunctions;
270
360
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export type FunctionConfig = {
15
15
  function: number;
16
16
  channel: number;
17
17
  };
18
- route: (opts: {
18
+ route?: (opts: {
19
19
  server: BasedServer;
20
20
  name?: string;
21
21
  path?: string;
@@ -23,16 +23,18 @@ export type FunctionConfig = {
23
23
  maxPayloadSize: number;
24
24
  rateLimitTokens: number;
25
25
  });
26
- install: (opts: {
26
+ install?: (opts: {
27
27
  server: BasedServer;
28
28
  name: string;
29
29
  function?: BasedSpec;
30
30
  }) => Promise<null | BasedSpec>;
31
- uninstall: (opts: {
31
+ uninstall?: (opts: {
32
32
  server: BasedServer;
33
33
  name: string;
34
34
  function: BasedSpec;
35
35
  }) => Promise<boolean>;
36
+ specs?: BasedSpecs;
37
+ routes?: BasedRoutes;
36
38
  };
37
39
  type Route = {
38
40
  /** Function name */
@@ -146,10 +148,16 @@ export declare function isStreamFunctionRoute(fn: BasedRoute): fn is BasedStream
146
148
  export declare function isChannelFunctionRoute(fn: BasedRoute): fn is BasedChannelFunctionRoute;
147
149
  export declare function isFunctionRoute(fn: BasedRoute): fn is BasedFunctionRoute;
148
150
  export declare function isRoute(route: any): route is BasedRoute;
149
- export type BasedFullFunctionSpec = {
150
- [name: string]: BasedSpec & {
151
+ export type BasedRoutes = {
152
+ [name: string]: Partial<BasedRoute & {
151
153
  maxPayloadSize?: number;
152
154
  rateLimitTokens?: number;
153
- };
155
+ }>;
156
+ };
157
+ export type BasedSpecs = {
158
+ [name: string]: Partial<BasedSpec & {
159
+ maxPayloadSize?: number;
160
+ rateLimitTokens?: number;
161
+ }>;
154
162
  };
155
163
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/functions/types.ts"],"names":[],"mappings":";;;AA4LA,iCAAiC;AACjC,SAAgB,qBAAqB,CACnC,EAAa;IAEb,OAAQ,EAA+B,CAAC,OAAO,KAAK,IAAI,CAAA;AAC1D,CAAC;AAJD,sDAIC;AAED,SAAgB,mBAAmB,CACjC,EAAa;IAEb,OAAQ,EAA6B,CAAC,KAAK,KAAK,IAAI,CAAA;AACtD,CAAC;AAJD,kDAIC;AAED,SAAgB,oBAAoB,CAClC,EAAa;IAEb,OAAQ,EAA8B,CAAC,MAAM,KAAK,IAAI,CAAA;AACxD,CAAC;AAJD,oDAIC;AAED,SAAgB,cAAc,CAAC,EAAa;IAC1C,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC;AAFD,wCAEC;AAED,SAAgB,MAAM,CAAC,EAAO;IAC5B,OAAO,CACL,EAAE;QACF,OAAO,EAAE,KAAK,QAAQ;QACtB,CAAC,cAAc,CAAC,EAAE,CAAC;YACjB,oBAAoB,CAAC,EAAE,CAAC;YACxB,mBAAmB,CAAC,EAAE,CAAC;YACvB,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAC7B,CAAA;AACH,CAAC;AATD,wBASC;AAED,kCAAkC;AAClC,SAAgB,oBAAoB,CAClC,EAAc;IAEd,OAAQ,EAA8B,CAAC,KAAK,KAAK,IAAI,CAAA;AACvD,CAAC;AAJD,oDAIC;AAED,SAAgB,qBAAqB,CACnC,EAAc;IAEd,OAAQ,EAA+B,CAAC,MAAM,KAAK,IAAI,CAAA;AACzD,CAAC;AAJD,sDAIC;AAED,SAAgB,sBAAsB,CACpC,EAAc;IAEd,OAAQ,EAAgC,CAAC,OAAO,KAAK,IAAI,CAAA;AAC3D,CAAC;AAJD,wDAIC;AAED,SAAgB,eAAe,CAAC,EAAc;IAC5C,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC;AAFD,0CAEC;AAED,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE;QACzD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AALD,0BAKC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/functions/types.ts"],"names":[],"mappings":";;;AA8LA,iCAAiC;AACjC,SAAgB,qBAAqB,CACnC,EAAa;IAEb,OAAQ,EAA+B,CAAC,OAAO,KAAK,IAAI,CAAA;AAC1D,CAAC;AAJD,sDAIC;AAED,SAAgB,mBAAmB,CACjC,EAAa;IAEb,OAAQ,EAA6B,CAAC,KAAK,KAAK,IAAI,CAAA;AACtD,CAAC;AAJD,kDAIC;AAED,SAAgB,oBAAoB,CAClC,EAAa;IAEb,OAAQ,EAA8B,CAAC,MAAM,KAAK,IAAI,CAAA;AACxD,CAAC;AAJD,oDAIC;AAED,SAAgB,cAAc,CAAC,EAAa;IAC1C,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC;AAFD,wCAEC;AAED,SAAgB,MAAM,CAAC,EAAO;IAC5B,OAAO,CACL,EAAE;QACF,OAAO,EAAE,KAAK,QAAQ;QACtB,CAAC,cAAc,CAAC,EAAE,CAAC;YACjB,oBAAoB,CAAC,EAAE,CAAC;YACxB,mBAAmB,CAAC,EAAE,CAAC;YACvB,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAC7B,CAAA;AACH,CAAC;AATD,wBASC;AAED,kCAAkC;AAClC,SAAgB,oBAAoB,CAClC,EAAc;IAEd,OAAQ,EAA8B,CAAC,KAAK,KAAK,IAAI,CAAA;AACvD,CAAC;AAJD,oDAIC;AAED,SAAgB,qBAAqB,CACnC,EAAc;IAEd,OAAQ,EAA+B,CAAC,MAAM,KAAK,IAAI,CAAA;AACzD,CAAC;AAJD,sDAIC;AAED,SAAgB,sBAAsB,CACpC,EAAc;IAEd,OAAQ,EAAgC,CAAC,OAAO,KAAK,IAAI,CAAA;AAC3D,CAAC;AAJD,wDAIC;AAED,SAAgB,eAAe,CAAC,EAAc;IAC5C,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC;AAFD,0CAEC;AAED,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE;QACzD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AALD,0BAKC"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,6 @@
1
- import { BasedServer, ServerOptions } from './server';
2
- declare const createServer: (props: ServerOptions, sharedSocket?: boolean) => Promise<BasedServer>;
3
- export { BasedServer };
4
- export default createServer;
5
1
  export { compress } from './compress';
6
2
  export { sendHttpResponse } from './sendHttpResponse';
7
3
  export { sendError } from './sendError';
8
- export * from './createSimpleServer';
9
4
  export * from './server';
10
5
  export * from './functions/types';
11
6
  export * from './error';
package/dist/index.js CHANGED
@@ -14,22 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.sendError = exports.sendHttpResponse = exports.compress = exports.BasedServer = void 0;
18
- const server_1 = require("./server");
19
- Object.defineProperty(exports, "BasedServer", { enumerable: true, get: function () { return server_1.BasedServer; } });
20
- const createServer = async (props, sharedSocket) => {
21
- const basedServer = new server_1.BasedServer(props);
22
- return props.port ? basedServer.start(props.port, sharedSocket) : basedServer;
23
- };
24
- exports.default = createServer;
25
- // maybe send responsed
17
+ exports.sendError = exports.sendHttpResponse = exports.compress = void 0;
26
18
  var compress_1 = require("./compress");
27
19
  Object.defineProperty(exports, "compress", { enumerable: true, get: function () { return compress_1.compress; } });
28
20
  var sendHttpResponse_1 = require("./sendHttpResponse");
29
21
  Object.defineProperty(exports, "sendHttpResponse", { enumerable: true, get: function () { return sendHttpResponse_1.sendHttpResponse; } });
30
22
  var sendError_1 = require("./sendError");
31
23
  Object.defineProperty(exports, "sendError", { enumerable: true, get: function () { return sendError_1.sendError; } });
32
- __exportStar(require("./createSimpleServer"), exports);
33
24
  __exportStar(require("./server"), exports);
34
25
  __exportStar(require("./functions/types"), exports);
35
26
  __exportStar(require("./error"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAqD;AAU5C,4FAVA,oBAAW,OAUA;AARpB,MAAM,YAAY,GAAG,KAAK,EACxB,KAAoB,EACpB,YAAsB,EACA,EAAE;IACxB,MAAM,WAAW,GAAG,IAAI,oBAAW,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;AAC/E,CAAC,CAAA;AAID,kBAAe,YAAY,CAAA;AAE3B,uBAAuB;AACvB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,uDAAoC;AACpC,2CAAwB;AACxB,oDAAiC;AACjC,0CAAuB;AACvB,gDAA6B;AAC7B,qDAAkC;AAClC,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,2CAAwB;AACxB,oDAAiC;AACjC,0CAAuB;AACvB,gDAA6B;AAC7B,qDAAkC;AAClC,6CAA0B"}
package/dist/server.d.ts CHANGED
@@ -46,6 +46,36 @@ export type ServerOptions = {
46
46
  close?: (client: Context<HttpSession>) => void;
47
47
  };
48
48
  };
49
+ /**
50
+ Based server
51
+
52
+ ```js
53
+ const server = new BasedServer({
54
+ port: 9910,
55
+ functions: {
56
+ specs: {
57
+ hello: {
58
+ function: async () => 'hello'
59
+ },
60
+ counter: {
61
+ type: 'query',
62
+ function: () => () => {}
63
+ }
64
+ }
65
+ }
66
+ })
67
+
68
+ server.functions.addSpecs({
69
+ hello: { function: async () => 'hello' }
70
+ })
71
+
72
+ server.functions.addRoutes({
73
+ bla: { type: 'query }
74
+ })
75
+
76
+ await server.start()
77
+ ```
78
+ */
49
79
  export declare class BasedServer {
50
80
  clients: {
51
81
  [key: string]: any;
package/dist/server.js CHANGED
@@ -13,7 +13,36 @@ const utils_1 = require("@saulx/utils");
13
13
  const picocolors = require("picocolors");
14
14
  const functionApi_1 = require("./functionApi");
15
15
  const node_util_1 = __importDefault(require("node:util"));
16
- // extend emitter
16
+ /**
17
+ Based server
18
+
19
+ ```js
20
+ const server = new BasedServer({
21
+ port: 9910,
22
+ functions: {
23
+ specs: {
24
+ hello: {
25
+ function: async () => 'hello'
26
+ },
27
+ counter: {
28
+ type: 'query',
29
+ function: () => () => {}
30
+ }
31
+ }
32
+ }
33
+ })
34
+
35
+ server.functions.addSpecs({
36
+ hello: { function: async () => 'hello' }
37
+ })
38
+
39
+ server.functions.addRoutes({
40
+ bla: { type: 'query }
41
+ })
42
+
43
+ await server.start()
44
+ ```
45
+ */
17
46
  class BasedServer {
18
47
  [node_util_1.default.inspect.custom]() {
19
48
  return `BasedServer [${this.port}]`;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/server",
3
- "version": "4.5.2",
3
+ "version": "5.0.1",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "files": [