@dooboostore/simple-boot-http-server 1.0.24 → 1.0.25

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 (164) hide show
  1. package/README.md +113 -0
  2. package/dist/cjs/SimpleBootHttpServer.js +2 -2
  3. package/dist/cjs/SimpleBootHttpServer.js.map +1 -1
  4. package/dist/cjs/decorators/MethodMapping.js +33 -3
  5. package/dist/cjs/decorators/MethodMapping.js.map +2 -2
  6. package/dist/cjs/errors/BadRequestError.js +2 -1
  7. package/dist/cjs/errors/BadRequestError.js.map +2 -2
  8. package/dist/cjs/errors/ForbiddenError.js +2 -1
  9. package/dist/cjs/errors/ForbiddenError.js.map +2 -2
  10. package/dist/cjs/errors/InternalServerError.js +2 -1
  11. package/dist/cjs/errors/InternalServerError.js.map +2 -2
  12. package/dist/cjs/errors/NotFoundError.js +2 -1
  13. package/dist/cjs/errors/NotFoundError.js.map +2 -2
  14. package/dist/cjs/errors/UnauthorizedError.js +2 -1
  15. package/dist/cjs/errors/UnauthorizedError.js.map +2 -2
  16. package/dist/cjs/filters/IntentSchemeFilter.js +1 -2
  17. package/dist/cjs/filters/IntentSchemeFilter.js.map +2 -2
  18. package/dist/cjs/filters/ResourceFilter.js +3 -2
  19. package/dist/cjs/filters/ResourceFilter.js.map +2 -2
  20. package/dist/cjs/filters/index.js +3 -1
  21. package/dist/cjs/filters/index.js.map +2 -2
  22. package/dist/cjs/index.js +2 -0
  23. package/dist/cjs/index.js.map +2 -2
  24. package/dist/cjs/inject/InjectSituationType.js +1 -1
  25. package/dist/cjs/inject/InjectSituationType.js.map +2 -2
  26. package/dist/cjs/models/RequestResponse.js +19 -2
  27. package/dist/cjs/models/RequestResponse.js.map +2 -2
  28. package/dist/cjs/models/datas/body/index.js +28 -0
  29. package/dist/cjs/models/datas/body/index.js.map +7 -0
  30. package/dist/cjs/models/datas/index.js +32 -0
  31. package/dist/cjs/models/datas/index.js.map +7 -0
  32. package/dist/cjs/models/datas/{body → path}/ReqPathData.js.map +1 -1
  33. package/dist/cjs/models/datas/{search → path}/ReqSearchParamsObj.js.map +1 -1
  34. package/dist/cjs/models/datas/path/index.js +24 -0
  35. package/dist/cjs/models/datas/path/index.js.map +7 -0
  36. package/dist/cjs/models/index.js +4 -16
  37. package/dist/cjs/models/index.js.map +2 -2
  38. package/dist/cjs/models/method/index.js +22 -0
  39. package/dist/cjs/models/method/index.js.map +7 -0
  40. package/dist/cjs/models/method/patch/index.js +22 -0
  41. package/dist/cjs/models/method/patch/index.js.map +7 -0
  42. package/dist/cjs/proxy/SymbolIntentApiServiceProxy.js +98 -95
  43. package/dist/cjs/proxy/SymbolIntentApiServiceProxy.js.map +3 -3
  44. package/dist/cjs/proxy/SymbolIntentApiServiceProxyBase.js +1 -1
  45. package/dist/cjs/proxy/SymbolIntentApiServiceProxyBase.js.map +2 -2
  46. package/dist/esm/SimpleBootHttpServer.js +2 -2
  47. package/dist/esm/SimpleBootHttpServer.js.map +1 -1
  48. package/dist/esm/decorators/MethodMapping.js +22 -2
  49. package/dist/esm/decorators/MethodMapping.js.map +2 -2
  50. package/dist/esm/errors/BadRequestError.js +2 -1
  51. package/dist/esm/errors/BadRequestError.js.map +2 -2
  52. package/dist/esm/errors/ForbiddenError.js +2 -1
  53. package/dist/esm/errors/ForbiddenError.js.map +2 -2
  54. package/dist/esm/errors/InternalServerError.js +2 -1
  55. package/dist/esm/errors/InternalServerError.js.map +2 -2
  56. package/dist/esm/errors/NotFoundError.js +2 -1
  57. package/dist/esm/errors/NotFoundError.js.map +2 -2
  58. package/dist/esm/errors/UnauthorizedError.js +2 -1
  59. package/dist/esm/errors/UnauthorizedError.js.map +2 -2
  60. package/dist/esm/filters/IntentSchemeFilter.js +2 -3
  61. package/dist/esm/filters/IntentSchemeFilter.js.map +2 -2
  62. package/dist/esm/filters/ResourceFilter.js +3 -2
  63. package/dist/esm/filters/ResourceFilter.js.map +2 -2
  64. package/dist/esm/filters/index.js +1 -0
  65. package/dist/esm/filters/index.js.map +2 -2
  66. package/dist/esm/index.js +1 -0
  67. package/dist/esm/index.js.map +2 -2
  68. package/dist/esm/inject/InjectSituationType.js +1 -1
  69. package/dist/esm/inject/InjectSituationType.js.map +2 -2
  70. package/dist/esm/models/RequestResponse.js +19 -2
  71. package/dist/esm/models/RequestResponse.js.map +2 -2
  72. package/dist/esm/models/datas/body/index.js +5 -0
  73. package/dist/esm/models/datas/body/index.js.map +7 -0
  74. package/dist/esm/models/datas/index.js +7 -0
  75. package/dist/esm/models/datas/index.js.map +7 -0
  76. package/dist/esm/models/datas/{body → path}/ReqPathData.js.map +1 -1
  77. package/dist/esm/models/datas/{search → path}/ReqSearchParamsObj.js.map +1 -1
  78. package/dist/esm/models/datas/path/index.js +3 -0
  79. package/dist/esm/models/datas/path/index.js.map +7 -0
  80. package/dist/esm/models/index.js +2 -8
  81. package/dist/esm/models/index.js.map +2 -2
  82. package/dist/esm/models/method/index.js +2 -0
  83. package/dist/esm/models/method/index.js.map +7 -0
  84. package/dist/esm/models/method/patch/index.js +2 -0
  85. package/dist/esm/models/method/patch/index.js.map +7 -0
  86. package/dist/esm/proxy/SymbolIntentApiServiceProxy.js +98 -95
  87. package/dist/esm/proxy/SymbolIntentApiServiceProxy.js.map +3 -3
  88. package/dist/esm/proxy/SymbolIntentApiServiceProxyBase.js +2 -2
  89. package/dist/esm/proxy/SymbolIntentApiServiceProxyBase.js.map +2 -2
  90. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js +5580 -974
  91. package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js.map +4 -4
  92. package/dist/types/SimpleBootHttpServer.d.ts +1 -1
  93. package/dist/types/decorators/MethodMapping.d.ts +10 -0
  94. package/dist/types/decorators/MethodMapping.d.ts.map +1 -1
  95. package/dist/types/errors/BadRequestError.d.ts +2 -2
  96. package/dist/types/errors/BadRequestError.d.ts.map +1 -1
  97. package/dist/types/errors/ForbiddenError.d.ts +2 -2
  98. package/dist/types/errors/ForbiddenError.d.ts.map +1 -1
  99. package/dist/types/errors/InternalServerError.d.ts +2 -2
  100. package/dist/types/errors/InternalServerError.d.ts.map +1 -1
  101. package/dist/types/errors/NotFoundError.d.ts +2 -2
  102. package/dist/types/errors/NotFoundError.d.ts.map +1 -1
  103. package/dist/types/errors/UnauthorizedError.d.ts +2 -2
  104. package/dist/types/errors/UnauthorizedError.d.ts.map +1 -1
  105. package/dist/types/filters/ResourceFilter.d.ts.map +1 -1
  106. package/dist/types/filters/index.d.ts +1 -0
  107. package/dist/types/filters/index.d.ts.map +1 -1
  108. package/dist/types/index.d.ts +1 -0
  109. package/dist/types/index.d.ts.map +1 -1
  110. package/dist/types/inject/InjectSituationType.d.ts.map +1 -1
  111. package/dist/types/models/RequestResponse.d.ts +3 -1
  112. package/dist/types/models/RequestResponse.d.ts.map +1 -1
  113. package/dist/types/models/datas/body/index.d.ts +5 -0
  114. package/dist/types/models/datas/body/index.d.ts.map +1 -0
  115. package/dist/types/models/datas/index.d.ts +7 -0
  116. package/dist/types/models/datas/index.d.ts.map +1 -0
  117. package/dist/types/models/datas/{body → path}/ReqPathData.d.ts.map +1 -1
  118. package/dist/types/models/datas/path/ReqSearchParamsObj.d.ts.map +1 -0
  119. package/dist/types/models/datas/path/index.d.ts +3 -0
  120. package/dist/types/models/datas/path/index.d.ts.map +1 -0
  121. package/dist/types/models/index.d.ts +2 -8
  122. package/dist/types/models/index.d.ts.map +1 -1
  123. package/dist/types/models/method/index.d.ts +2 -0
  124. package/dist/types/models/method/index.d.ts.map +1 -0
  125. package/dist/types/models/method/patch/index.d.ts +2 -0
  126. package/dist/types/models/method/patch/index.d.ts.map +1 -0
  127. package/dist/types/proxy/SymbolIntentApiServiceProxy.d.ts +6 -8
  128. package/dist/types/proxy/SymbolIntentApiServiceProxy.d.ts.map +1 -1
  129. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js +5583 -977
  130. package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js.map +4 -4
  131. package/dist/umd-bundle/websocket-client.umd.js +182 -2
  132. package/dist/umd-bundle/websocket-client.umd.js.map +4 -4
  133. package/package.json +6 -6
  134. package/src/SimpleBootHttpServer.ts +4 -4
  135. package/src/decorators/MethodMapping.ts +13 -1
  136. package/src/errors/BadRequestError.ts +7 -3
  137. package/src/errors/ForbiddenError.ts +7 -3
  138. package/src/errors/InternalServerError.ts +7 -3
  139. package/src/errors/NotFoundError.ts +7 -3
  140. package/src/errors/UnauthorizedError.ts +7 -3
  141. package/src/filters/IntentSchemeFilter.ts +2 -2
  142. package/src/filters/ResourceFilter.ts +5 -2
  143. package/src/filters/index.ts +1 -0
  144. package/src/index.ts +1 -0
  145. package/src/inject/InjectSituationType.ts +1 -1
  146. package/src/models/RequestResponse.ts +28 -2
  147. package/src/models/datas/body/index.ts +4 -0
  148. package/src/models/datas/index.ts +6 -0
  149. package/src/models/datas/path/index.ts +2 -0
  150. package/src/models/index.ts +2 -8
  151. package/src/models/method/index.ts +1 -0
  152. package/src/models/method/patch/index.ts +1 -0
  153. package/src/proxy/SymbolIntentApiServiceProxy.ts +103 -97
  154. package/src/proxy/SymbolIntentApiServiceProxyBase.ts +2 -2
  155. package/README.MD +0 -62
  156. package/dist/types/models/datas/search/ReqSearchParamsObj.d.ts.map +0 -1
  157. /package/dist/cjs/models/datas/{body → path}/ReqPathData.js +0 -0
  158. /package/dist/cjs/models/datas/{search → path}/ReqSearchParamsObj.js +0 -0
  159. /package/dist/esm/models/datas/{body → path}/ReqPathData.js +0 -0
  160. /package/dist/esm/models/datas/{search → path}/ReqSearchParamsObj.js +0 -0
  161. /package/dist/types/models/datas/{body → path}/ReqPathData.d.ts +0 -0
  162. /package/dist/types/models/datas/{search → path}/ReqSearchParamsObj.d.ts +0 -0
  163. /package/src/models/datas/{body → path}/ReqPathData.ts +0 -0
  164. /package/src/models/datas/{search → path}/ReqSearchParamsObj.ts +0 -0
@@ -20,6 +20,7 @@ var dooboostoreSimpleBootHttpServerWebSocketClient = (() => {
20
20
  // src/websocket/WebSocketClient.ts
21
21
  var WebSocketClient_exports = {};
22
22
  __export(WebSocketClient_exports, {
23
+ ActionExpression: () => ActionExpression,
23
24
  Advice: () => Advice,
24
25
  AllCheckedValidatorArray: () => AllCheckedValidatorArray,
25
26
  AllUnCheckedValidatorArray: () => AllUnCheckedValidatorArray,
@@ -44,6 +45,7 @@ var dooboostoreSimpleBootHttpServerWebSocketClient = (() => {
44
45
  CountUnCheckedValidatorArray: () => CountUnCheckedValidatorArray,
45
46
  CssNode: () => CssNode,
46
47
  CssParser: () => CssParser,
48
+ DEFAULT_EXPRESSION_CONFIG: () => DEFAULT_EXPRESSION_CONFIG,
47
49
  DateUtils: () => DateUtils,
48
50
  Ellipse: () => Ellipse,
49
51
  EmptyValidator: () => EmptyValidator,
@@ -120,6 +122,8 @@ var dooboostoreSimpleBootHttpServerWebSocketClient = (() => {
120
122
  WrapPolygons: () => WrapPolygons,
121
123
  WrapRects: () => WrapRects,
122
124
  debounce: () => debounce,
125
+ debounceTimeIntervalLock: () => debounceTimeIntervalLock,
126
+ getExpression: () => getExpression,
123
127
  isAtRule: () => isAtRule,
124
128
  isCssCommentItem: () => isCssCommentItem,
125
129
  isCssDeclarationItem: () => isCssDeclarationItem,
@@ -471,7 +475,7 @@ var dooboostoreSimpleBootHttpServerWebSocketClient = (() => {
471
475
  })(ArrayUtils || (ArrayUtils = {}));
472
476
 
473
477
  // ../core/dist/esm/types.js
474
- var isDefined = (value) => value !== void 0 && value !== null;
478
+ var isDefined = ValidUtils.isDefined;
475
479
 
476
480
  // ../core/dist/esm/parser/path/ObjectPathParser.js
477
481
  var Token = class {
@@ -5698,6 +5702,17 @@ var dooboostoreSimpleBootHttpServerWebSocketClient = (() => {
5698
5702
  }
5699
5703
 
5700
5704
  // ../core/dist/esm/message/index.js
5705
+ var debounceTimeIntervalLock = (unlockChecker, unlocked, intervalTime, config) => {
5706
+ const clearIntervalFn = config?.clearInterval || clearInterval;
5707
+ const setIntervalFn = config?.setInterval || setInterval;
5708
+ const nextIntervalId = setIntervalFn(() => {
5709
+ if (unlockChecker()) {
5710
+ clearIntervalFn(nextIntervalId);
5711
+ unlocked();
5712
+ }
5713
+ }, intervalTime);
5714
+ return nextIntervalId;
5715
+ };
5701
5716
  var debounce = (fn, delay2, config) => {
5702
5717
  const setTimeoutFn = config?.setTimeout || setTimeout;
5703
5718
  const clearTimeoutFn = config?.clearTimeout || clearTimeout;
@@ -8321,7 +8336,7 @@ var dooboostoreSimpleBootHttpServerWebSocketClient = (() => {
8321
8336
  // ../core/dist/esm/schedule/Schedule.js
8322
8337
  var Schedule;
8323
8338
  ((Schedule2) => {
8324
- Schedule2.SYMBOL = Symbol("Schedule");
8339
+ Schedule2.SYMBOL = Symbol.for("core:schedule-token");
8325
8340
  })(Schedule || (Schedule = {}));
8326
8341
  var ScheduleBase = class {
8327
8342
  constructor() {
@@ -8755,6 +8770,17 @@ var dooboostoreSimpleBootHttpServerWebSocketClient = (() => {
8755
8770
  Reflect.defineMetadata(metadataKey, value, target);
8756
8771
  }
8757
8772
  };
8773
+ ReflectUtils2.copyMetadata = (from2, to, propertyKey) => {
8774
+ const keys = propertyKey ? Reflect.getOwnMetadataKeys(from2, propertyKey) : Reflect.getOwnMetadataKeys(from2);
8775
+ for (const key of keys) {
8776
+ const data = propertyKey ? Reflect.getOwnMetadata(key, from2, propertyKey) : Reflect.getOwnMetadata(key, from2);
8777
+ if (propertyKey) {
8778
+ Reflect.defineMetadata(key, data, to, propertyKey);
8779
+ } else {
8780
+ Reflect.defineMetadata(key, data, to);
8781
+ }
8782
+ }
8783
+ };
8758
8784
  })(ReflectUtils || (ReflectUtils = {}));
8759
8785
 
8760
8786
  // ../core/dist/esm/function/FunctionUtils.js
@@ -10666,6 +10692,160 @@ ${indentStr}}`;
10666
10692
  })(Path = Expression2.Path || (Expression2.Path = {}));
10667
10693
  })(Expression || (Expression = {}));
10668
10694
 
10695
+ // ../core/dist/esm/expression/ActionExpression.js
10696
+ var DEFAULT_EXPRESSION_CONFIG = {
10697
+ "callReturn": { start: "{{=", end: "}}" },
10698
+ "call": { start: "{{@", end: "}}" },
10699
+ "replace": { start: "{{", end: "}}" }
10700
+ };
10701
+ var ActionExpression = class {
10702
+ constructor(value, config) {
10703
+ this.originalTemplate = value || "";
10704
+ this.idToMarker = /* @__PURE__ */ new Map();
10705
+ this.processedIds = /* @__PURE__ */ new Set();
10706
+ this.expressions = [];
10707
+ if (!value || typeof value !== "string") {
10708
+ this.maskingTemplate = this.originalTemplate;
10709
+ this.currentTemplate = this.originalTemplate;
10710
+ return;
10711
+ }
10712
+ this.maskingTemplate = value;
10713
+ this.currentTemplate = value;
10714
+ const exprConfig = {
10715
+ "callReturn": config?.expression?.["callReturn"] || DEFAULT_EXPRESSION_CONFIG["callReturn"],
10716
+ "call": config?.expression?.call || DEFAULT_EXPRESSION_CONFIG.call,
10717
+ "replace": config?.expression?.replace || DEFAULT_EXPRESSION_CONFIG.replace
10718
+ };
10719
+ const types = ["callReturn", "call", "replace"];
10720
+ types.sort((a, b) => {
10721
+ const startFirst = exprConfig[b].start;
10722
+ const startLast = exprConfig[a].start;
10723
+ const fLength = typeof startFirst === "string" ? startFirst.length : startFirst.source.length;
10724
+ const lLength = typeof startLast === "string" ? startLast.length : startLast.source.length;
10725
+ return fLength - lLength;
10726
+ });
10727
+ for (const type of types) {
10728
+ const marker = exprConfig[type];
10729
+ if (marker) {
10730
+ this.processExpressionType(type, marker.start, marker.end);
10731
+ }
10732
+ }
10733
+ this.sortExpressionsByPosition();
10734
+ this.maskingTemplate = this.currentTemplate;
10735
+ }
10736
+ sortExpressionsByPosition() {
10737
+ this.expressions.forEach((expr) => {
10738
+ const index = this.originalTemplate.indexOf(expr.original);
10739
+ expr.index = index >= 0 ? index : 0;
10740
+ });
10741
+ this.expressions.sort((a, b) => (a.index ?? 0) - (b.index ?? 0));
10742
+ }
10743
+ processExpressionType(type, start, end) {
10744
+ const getPattern = (v) => {
10745
+ if (v instanceof RegExp) {
10746
+ return v.source;
10747
+ }
10748
+ return v.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
10749
+ };
10750
+ const escapedStart = getPattern(start);
10751
+ const escapedEnd = getPattern(end);
10752
+ const regex = new RegExp(`${escapedStart}\\s*([\\s\\S]+?)\\s*${escapedEnd}`, "g");
10753
+ let match;
10754
+ const valueToMatch = this.currentTemplate;
10755
+ while ((match = regex.exec(valueToMatch)) !== null) {
10756
+ this.addExpression(match, type);
10757
+ }
10758
+ }
10759
+ addExpression(match, type) {
10760
+ const id = Math.random().toString(36).substr(2, 9);
10761
+ const original = match[0];
10762
+ const rawScript = match[1];
10763
+ const marker = `__EXPR_${id}__`;
10764
+ const expressionStart = original.substring(0, original.indexOf(rawScript));
10765
+ const expressionEnd = original.substring(original.indexOf(rawScript) + rawScript.length);
10766
+ this.idToMarker.set(id, marker);
10767
+ this.currentTemplate = this.currentTemplate.replace(original, marker);
10768
+ this.expressions.push({
10769
+ id,
10770
+ type,
10771
+ original,
10772
+ script: rawScript.trim(),
10773
+ expressionStart,
10774
+ expressionEnd
10775
+ });
10776
+ }
10777
+ replace(idOrExpr, valueOrCallback) {
10778
+ const id = typeof idOrExpr === "string" ? idOrExpr : idOrExpr.id;
10779
+ let expr;
10780
+ if (typeof valueOrCallback === "function") {
10781
+ expr = this.expressions.find((e) => e.id === id);
10782
+ if (!expr) return this.getUnprocessedTemplate();
10783
+ }
10784
+ const value = typeof valueOrCallback === "function" ? valueOrCallback(expr) : valueOrCallback;
10785
+ const marker = this.idToMarker.get(id);
10786
+ if (marker) {
10787
+ this.processedIds.add(id);
10788
+ this.currentTemplate = this.currentTemplate.replace(marker, value);
10789
+ }
10790
+ return this.getUnprocessedTemplate();
10791
+ }
10792
+ getExpressions(typeOrOptions) {
10793
+ if (!typeOrOptions) {
10794
+ return this.expressions;
10795
+ }
10796
+ if (typeof typeOrOptions === "string") {
10797
+ return this.expressions.filter((expr) => expr.type === typeOrOptions);
10798
+ }
10799
+ const options = typeOrOptions;
10800
+ return this.expressions.filter((expr) => {
10801
+ if (options.type && expr.type !== options.type) return false;
10802
+ return true;
10803
+ });
10804
+ }
10805
+ getFirstExpression(typeOrOptions) {
10806
+ if (!typeOrOptions) {
10807
+ return this.getExpressions()[0];
10808
+ }
10809
+ if (typeof typeOrOptions === "string") {
10810
+ return this.getExpressions(typeOrOptions)[0];
10811
+ }
10812
+ return this.getExpressions(typeOrOptions)[0];
10813
+ }
10814
+ getOriginalTemplate() {
10815
+ return this.originalTemplate;
10816
+ }
10817
+ getMaskingTemplate() {
10818
+ return this.maskingTemplate;
10819
+ }
10820
+ getCurrentTemplate() {
10821
+ return this.currentTemplate;
10822
+ }
10823
+ toResult() {
10824
+ return this.getUnprocessedTemplate();
10825
+ }
10826
+ getUnprocessedTemplate() {
10827
+ let result = this.currentTemplate;
10828
+ for (const expr of this.expressions) {
10829
+ if (!this.processedIds.has(expr.id)) {
10830
+ const m = this.idToMarker.get(expr.id);
10831
+ if (m) {
10832
+ result = result.replace(m, expr.original);
10833
+ }
10834
+ }
10835
+ }
10836
+ return result;
10837
+ }
10838
+ };
10839
+ function getExpression(value, config) {
10840
+ const ae = new ActionExpression(value, config);
10841
+ return {
10842
+ originalTemplate: ae.getOriginalTemplate(),
10843
+ maskingTemplate: ae.getMaskingTemplate(),
10844
+ expressions: ae.getExpressions(),
10845
+ replace: (id, value2) => ae.replace(id, value2)
10846
+ };
10847
+ }
10848
+
10669
10849
  // src/websocket/WebSocketClient.ts
10670
10850
  var WebSocketClient = class {
10671
10851
  constructor(connection, config) {