@stemy/backend 3.5.16 → 4.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 (146) hide show
  1. package/commands/clear-command.d.ts +6 -0
  2. package/commands/fixtures-command.d.ts +9 -0
  3. package/commands/index.d.ts +2 -0
  4. package/common-types.d.ts +29 -7
  5. package/esm2020/commands/clear-command.mjs +17 -0
  6. package/esm2020/commands/fixtures-command.mjs +23 -0
  7. package/esm2020/commands/index.mjs +7 -0
  8. package/esm2020/common-types.mjs +21 -0
  9. package/esm2020/public_api.mjs +379 -0
  10. package/esm2020/requests/asset-image-params.mjs +53 -0
  11. package/esm2020/rest-controllers/assets.controller.mjs +126 -0
  12. package/esm2020/rest-controllers/auth.controller.mjs +46 -0
  13. package/esm2020/rest-controllers/gallery.controller.mjs +21 -0
  14. package/esm2020/rest-controllers/progresses.controller.mjs +29 -0
  15. package/esm2020/rest-controllers/terminal-styles.mjs +67 -0
  16. package/esm2020/rest-controllers/terminal.controller.mjs +125 -0
  17. package/esm2020/rest-middlewares/container.middleware.mjs +20 -0
  18. package/esm2020/rest-middlewares/error-handler.middleware.mjs +74 -0
  19. package/esm2020/rest-middlewares/language.middleware.mjs +18 -0
  20. package/esm2020/rest-middlewares/request-ended.middleware.mjs +23 -0
  21. package/esm2020/rest-middlewares/request-started.middleware.mjs +22 -0
  22. package/esm2020/services/asset-processor.mjs +90 -0
  23. package/esm2020/services/asset-resolver.mjs +31 -0
  24. package/esm2020/services/assets.mjs +140 -0
  25. package/esm2020/services/backend-provider.mjs +22 -0
  26. package/esm2020/services/cache-processor.mjs +16 -0
  27. package/esm2020/services/cache.mjs +62 -0
  28. package/esm2020/services/configuration.mjs +65 -0
  29. package/esm2020/services/endpoint-provider.mjs +13 -0
  30. package/esm2020/services/entities/asset.mjs +43 -0
  31. package/esm2020/services/entities/base-entity.mjs +26 -0
  32. package/esm2020/services/entities/lazy-asset.mjs +73 -0
  33. package/esm2020/services/entities/progress.mjs +176 -0
  34. package/esm2020/services/entities/temp-asset.mjs +45 -0
  35. package/esm2020/services/fixtures.mjs +26 -0
  36. package/esm2020/services/gallery-cache.mjs +27 -0
  37. package/esm2020/services/gallery-image.mjs +37 -0
  38. package/esm2020/services/gallery.mjs +116 -0
  39. package/esm2020/services/id-generator.mjs +42 -0
  40. package/esm2020/services/job-manager.mjs +187 -0
  41. package/esm2020/services/lazy-assets.mjs +48 -0
  42. package/esm2020/services/logger.mjs +21 -0
  43. package/esm2020/services/mail-sender.mjs +36 -0
  44. package/esm2020/services/memory-cache.mjs +57 -0
  45. package/esm2020/services/mongo-connector.mjs +37 -0
  46. package/esm2020/services/open-api.mjs +114 -0
  47. package/esm2020/services/progresses.mjs +86 -0
  48. package/esm2020/services/template-renderer.mjs +64 -0
  49. package/esm2020/services/terminal-manager.mjs +77 -0
  50. package/esm2020/services/token-generator.mjs +35 -0
  51. package/esm2020/services/translation-provider.mjs +34 -0
  52. package/esm2020/services/translator.mjs +63 -0
  53. package/esm2020/services/user-manager.mjs +27 -0
  54. package/esm2020/socket-controllers/progress.controller.mjs +52 -0
  55. package/esm2020/socket-controllers/terminal.controller.mjs +48 -0
  56. package/esm2020/socket-controllers/terminal.mjs +85 -0
  57. package/esm2020/socket-middlewares/compression.middleware.mjs +14 -0
  58. package/esm2020/static.mjs +23 -0
  59. package/esm2020/utilities/decorators.mjs +52 -0
  60. package/esm2020/utilities/di-container.mjs +83 -0
  61. package/esm2020/utilities/empty-job.mjs +13 -0
  62. package/esm2020/utilities/lazy-asset-generator.mjs +35 -0
  63. package/esm2020/utilities/mongoose.mjs +216 -0
  64. package/esm2020/utils.mjs +693 -0
  65. package/esm2020/validators.mjs +46 -0
  66. package/fesm2015/{stemy-backend.js → stemy-backend.mjs} +1923 -2220
  67. package/fesm2015/stemy-backend.mjs.map +1 -0
  68. package/fesm2020/stemy-backend.mjs +4202 -0
  69. package/fesm2020/stemy-backend.mjs.map +1 -0
  70. package/{stemy-backend.d.ts → index.d.ts} +1 -0
  71. package/package.json +36 -23
  72. package/public_api.d.ts +3 -2
  73. package/rest-controllers/terminal-styles.d.ts +2 -0
  74. package/rest-controllers/terminal.controller.d.ts +10 -0
  75. package/services/asset-processor.d.ts +0 -3
  76. package/services/assets.d.ts +1 -0
  77. package/services/configuration.d.ts +2 -1
  78. package/services/entities/asset.d.ts +1 -0
  79. package/services/entities/temp-asset.d.ts +1 -0
  80. package/services/fixtures.d.ts +2 -2
  81. package/services/terminal-manager.d.ts +15 -0
  82. package/socket-controllers/terminal.controller.d.ts +13 -0
  83. package/socket-controllers/terminal.d.ts +20 -0
  84. package/utils.d.ts +7 -1
  85. package/bundles/stemy-backend.umd.js +0 -7081
  86. package/bundles/stemy-backend.umd.js.map +0 -1
  87. package/esm2015/common-types.js +0 -19
  88. package/esm2015/public_api.js +0 -359
  89. package/esm2015/requests/asset-image-params.js +0 -70
  90. package/esm2015/rest-controllers/assets.controller.js +0 -180
  91. package/esm2015/rest-controllers/auth.controller.js +0 -76
  92. package/esm2015/rest-controllers/gallery.controller.js +0 -37
  93. package/esm2015/rest-controllers/progresses.controller.js +0 -57
  94. package/esm2015/rest-middlewares/container.middleware.js +0 -32
  95. package/esm2015/rest-middlewares/error-handler.middleware.js +0 -99
  96. package/esm2015/rest-middlewares/language.middleware.js +0 -28
  97. package/esm2015/rest-middlewares/request-ended.middleware.js +0 -33
  98. package/esm2015/rest-middlewares/request-started.middleware.js +0 -32
  99. package/esm2015/rest-openapi.js +0 -44
  100. package/esm2015/services/asset-processor.js +0 -129
  101. package/esm2015/services/asset-resolver.js +0 -53
  102. package/esm2015/services/assets.js +0 -181
  103. package/esm2015/services/backend-provider.js +0 -32
  104. package/esm2015/services/cache-processor.js +0 -34
  105. package/esm2015/services/cache.js +0 -93
  106. package/esm2015/services/configuration.js +0 -69
  107. package/esm2015/services/endpoint-provider.js +0 -29
  108. package/esm2015/services/entities/asset.js +0 -60
  109. package/esm2015/services/entities/base-entity.js +0 -37
  110. package/esm2015/services/entities/lazy-asset.js +0 -90
  111. package/esm2015/services/entities/progress.js +0 -213
  112. package/esm2015/services/entities/temp-asset.js +0 -64
  113. package/esm2015/services/fixtures.js +0 -45
  114. package/esm2015/services/gallery-cache.js +0 -36
  115. package/esm2015/services/gallery-image.js +0 -48
  116. package/esm2015/services/gallery.js +0 -138
  117. package/esm2015/services/id-generator.js +0 -63
  118. package/esm2015/services/job-manager.js +0 -221
  119. package/esm2015/services/lazy-assets.js +0 -83
  120. package/esm2015/services/logger.js +0 -31
  121. package/esm2015/services/mail-sender.js +0 -58
  122. package/esm2015/services/memory-cache.js +0 -84
  123. package/esm2015/services/mongo-connector.js +0 -58
  124. package/esm2015/services/open-api.js +0 -140
  125. package/esm2015/services/progresses.js +0 -118
  126. package/esm2015/services/template-renderer.js +0 -89
  127. package/esm2015/services/token-generator.js +0 -55
  128. package/esm2015/services/translation-provider.js +0 -54
  129. package/esm2015/services/translator.js +0 -84
  130. package/esm2015/services/user-manager.js +0 -47
  131. package/esm2015/socket-controllers/progress.controller.js +0 -82
  132. package/esm2015/socket-middlewares/compression.middleware.js +0 -19
  133. package/esm2015/static.js +0 -33
  134. package/esm2015/utilities/decorators.js +0 -54
  135. package/esm2015/utilities/di-container.js +0 -84
  136. package/esm2015/utilities/empty-job.js +0 -29
  137. package/esm2015/utilities/lazy-asset-generator.js +0 -46
  138. package/esm2015/utilities/mongoose.js +0 -225
  139. package/esm2015/utils.js +0 -672
  140. package/esm2015/validators.js +0 -51
  141. package/fesm2015/stemy-backend.js.map +0 -1
  142. package/rest-openapi.d.ts +0 -3
  143. package/stemy-backend.metadata.json +0 -1
  144. /package/{esm2015/stemy-backend.js → esm2020/stemy-backend.mjs} +0 -0
  145. /package/{esm2015/utilities/base-doc.js → esm2020/utilities/base-doc.mjs} +0 -0
  146. /package/{esm2015/utilities/tree.js → esm2020/utilities/tree.mjs} +0 -0
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@stemy/backend" />
4
5
  export * from './public_api';
package/package.json CHANGED
@@ -1,51 +1,64 @@
1
1
  {
2
2
  "name": "@stemy/backend",
3
- "version": "3.5.16",
3
+ "version": "4.0.0",
4
4
  "license": "MIT",
5
5
  "repository": "git@github.com:stemyke/node-backend.git",
6
6
  "builders": "builders.json",
7
7
  "peerDependencies": {
8
8
  "axios": "^0.27.2",
9
- "body-parser": "^1.19.0",
10
- "class-transformer": "^0.3.1",
11
- "class-validator": "^0.12.2",
12
- "class-validator-jsonschema": "^2.2.0",
9
+ "body-parser": "^1.20.2",
10
+ "class-transformer": "^0.5.1",
11
+ "class-validator": "^0.14.0",
12
+ "class-validator-jsonschema": "^5.0.0",
13
13
  "cors": "^2.8.5",
14
14
  "express": "^4.17.1",
15
15
  "handlebars": "^4.7.6",
16
16
  "tsyringe": "^4.5.0",
17
17
  "nodemailer": "^6.4.11",
18
18
  "reflect-metadata": "^0.1.13",
19
- "socket.io": "^2.3.0",
20
- "socket.io-client": "^2.3.1",
21
- "socket-controllers": "^0.0.5",
22
- "routing-controllers": "^0.9.0",
23
- "routing-controllers-openapi": "^3.0.0",
19
+ "socket.io": "^4.5.4",
20
+ "socket.io-client": "^4.5.4",
21
+ "socket-controllers": "^0.1.2",
22
+ "routing-controllers": "^0.10.1",
23
+ "routing-controllers-openapi": "^4.0.0",
24
24
  "rxjs": "^6.6.2",
25
25
  "sharp": "^0.30.7",
26
26
  "uuid": "^8.3.0",
27
27
  "bcrypt": "^5.0.0",
28
- "jsonwebtoken": "^8.5.1",
28
+ "jsonwebtoken": "^9.0.0",
29
29
  "mongodb": "^4.7.0",
30
- "mongoose": "^6.4.2",
31
- "@typegoose/typegoose": "^9.9.0",
30
+ "mongoose": "^6.9.0",
31
+ "@typegoose/typegoose": "^10.1.1",
32
32
  "multer": "^1.4.5-lts.1",
33
33
  "dotenv": "^8.2.0",
34
- "file-type": "^15.0.1",
34
+ "file-type": "^18.2.1",
35
35
  "zeromq": "^5.2.8",
36
36
  "node-cron": "^2.0.3",
37
37
  "fontkit": "^1.8.1",
38
- "moment": "^2.29.1"
38
+ "moment": "^2.29.4",
39
+ "@stemy/terminal-commands-addon": "^1.0.0"
40
+ },
41
+ "module": "fesm2015/stemy-backend.mjs",
42
+ "es2020": "fesm2020/stemy-backend.mjs",
43
+ "esm2020": "esm2020/stemy-backend.mjs",
44
+ "fesm2020": "fesm2020/stemy-backend.mjs",
45
+ "fesm2015": "fesm2015/stemy-backend.mjs",
46
+ "typings": "index.d.ts",
47
+ "exports": {
48
+ "./package.json": {
49
+ "default": "./package.json"
50
+ },
51
+ ".": {
52
+ "types": "./index.d.ts",
53
+ "esm2020": "./esm2020/stemy-backend.mjs",
54
+ "es2020": "./fesm2020/stemy-backend.mjs",
55
+ "es2015": "./fesm2015/stemy-backend.mjs",
56
+ "node": "./fesm2015/stemy-backend.mjs",
57
+ "default": "./fesm2020/stemy-backend.mjs"
58
+ }
39
59
  },
40
- "main": "bundles/stemy-backend.umd.js",
41
- "module": "fesm2015/stemy-backend.js",
42
- "es2015": "fesm2015/stemy-backend.js",
43
- "esm2015": "esm2015/stemy-backend.js",
44
- "fesm2015": "fesm2015/stemy-backend.js",
45
- "typings": "stemy-backend.d.ts",
46
- "metadata": "stemy-backend.metadata.json",
47
60
  "sideEffects": false,
48
61
  "dependencies": {
49
- "tslib": "^2.2.0"
62
+ "tslib": "^2.3.0"
50
63
  }
51
64
  }
package/public_api.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { IBackendConfig, IDependencyContainer, IRequest, IUser, Provider } from "./common-types";
2
- export { FilterPredicate, isNullOrUndefined, isDefined, getType, isObject, isArray, isBoolean, isDate, isPrimitive, isString, isFunction, isConstructor, isType, isInterface, ucFirst, lcFirst, isObjectId, firstItem, lastItem, regroup, uniqueItems, getValue, groupBy, convertValue, toImage, bufferToStream, streamToBuffer, copyStream, mkdirRecursive, deleteFile, readFile, readAndDeleteFile, writeFile, valueToPromise, promiseTimeout, getConstructorName, getFunctionParams, getFileName, getExtension, createIdString, idToString, createTransformer, broadcast, rand, random, multiSubscription, observableFromFunction, padLeft, padRight, deleteFromBucket, filter, copy, assign, md5, runCommand, ConsoleColor, IJsonColors, colorize, jsonHighlight, replaceSpecialChars, flatten, wrapError, prepareUrl, prepareUrlSlash, prepareUrlEmpty } from "./utils";
2
+ export { FilterPredicate, isNullOrUndefined, isDefined, getType, isObject, isArray, isBuffer, isBoolean, isDate, isPrimitive, isString, isFunction, isConstructor, isType, isInterface, ucFirst, lcFirst, isObjectId, firstItem, lastItem, regroup, uniqueItems, getValue, groupBy, convertValue, toImage, bufferToStream, streamToBuffer, copyStream, mkdirRecursive, deleteFile, readFile, readAndDeleteFile, writeFile, valueToPromise, promiseTimeout, getConstructorName, getFunctionParams, getFileName, getExtension, createIdString, idToString, createTransformer, broadcast, rand, random, multiSubscription, observableFromFunction, padLeft, padRight, camelCaseToDash, deleteFromBucket, filter, copy, assign, md5, runCommand, ConsoleColor, IJsonColors, colorize, jsonHighlight, replaceSpecialChars, regexEscape, flatten, wrapError, getDirName, prepareUrl, prepareUrlSlash, prepareUrlEmpty, fileTypeFromBuffer } from "./utils";
3
3
  export { IsFile, IsObjectId } from "./validators";
4
- export { FIXTURE, JOB, EXPRESS, HTTP_SERVER, SOCKET_SERVER, PARAMETER, DI_CONTAINER, OPENAPI_VALIDATION, Type, FactoryProvider, IDependencyContainer, ClassBasedProvider, ValueBasedProvider, FactoryBasedProvider, TokenBasedProvider, SyringeProvider, Provider, Constructor, InferGeneric, PickMatching, OmitFirstArg, IMatchField, IProjectOptions, IUnwindOptions, IFixture, SchemaConverter, OpenApiValidation, ParamResolver, Parameter, SocketParam, SocketParams, ISocketMessage, IMessageBridge, IJob, IJobTask, JobParams, JobScheduleRange, JobScheduleTime, IProgress, IAssetCropInfo, IAssetMeta, IAssetImageParams, IAsset, ILazyAsset, IUser, IClientSocket, IRequestBase, IRequest, IGalleryImage, IGallerySize, IGalleryImageHandler, ITranslations, IPaginationMeta, IPaginationBase, IPagination, IPaginationParams, FontFormat, IFileType, IBackendConfig } from "./common-types";
4
+ export { FIXTURE, JOB, TERMINAL_COMMAND, EXPRESS, HTTP_SERVER, SOCKET_SERVER, SOCKET_CONTROLLERS, PARAMETER, DI_CONTAINER, OPENAPI_VALIDATION, Type, FactoryProvider, IDependencyContainer, ClassBasedProvider, ValueBasedProvider, FactoryBasedProvider, TokenBasedProvider, SyringeProvider, Provider, Constructor, InferGeneric, PickMatching, OmitFirstArg, IMatchField, IProjectOptions, IUnwindOptions, IFixture, IFixtureOutput, SchemaConverter, OpenApiValidation, ParamResolver, Parameter, SocketParam, SocketParams, ISocketMessage, IMessageBridge, IJob, IJobTask, JobParams, JobScheduleRange, JobScheduleTime, ITerminalFile, ITerminal, ITerminalCommand, IProgress, IAssetCropInfo, IAssetMeta, IAssetImageParams, IAsset, ILazyAsset, IUser, IClientSocket, IRequestBase, IRequest, IGalleryImage, IGallerySize, IGalleryImageHandler, ITranslations, IPaginationMeta, IPaginationBase, IPagination, IPaginationParams, FontFormat, IFileType, IBackendConfig } from "./common-types";
5
5
  export { AssetProcessor } from "./services/asset-processor";
6
6
  export { AssetResolver } from "./services/asset-resolver";
7
7
  export { Assets } from "./services/assets";
@@ -23,6 +23,7 @@ export { MongoConnector } from "./services/mongo-connector";
23
23
  export { OpenApi } from "./services/open-api";
24
24
  export { Progresses } from "./services/progresses";
25
25
  export { TemplateRenderer } from "./services/template-renderer";
26
+ export { TerminalManager } from "./services/terminal-manager";
26
27
  export { TokenGenerator } from "./services/token-generator";
27
28
  export { TranslationProvider } from "./services/translation-provider";
28
29
  export { Translator } from "./services/translator";
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n\nbody {\n margin: 0;\n padding: 0;\n background: #1e1e1e;\n}\nbody * {\n box-sizing: border-box;\n}\n\n#terminal {\n margin: 40px;\n background: black;\n border: 1px solid #dedede;\n border-radius: 5px;\n overflow: hidden;\n}\n\n#terminal .xterm {\n margin: 10px;\n height: calc(100vh - 120px);\n border-radius: 5px;\n}\n\n#terminal .xterm-viewport::-webkit-scrollbar {\n width: 0.4em;\n background-color: #222;\n}\n\n#terminal .xterm-viewport::-webkit-scrollbar-thumb {\n background-color: #555;\n}\n\n#terminal .window-header {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n background-color: #f1f1f1;\n padding: 10px;\n}\n\n#terminal .window-header button {\n background-color: transparent;\n border: none;\n font-size: 14px;\n font-weight: bold;\n color: #444;\n cursor: pointer;\n margin-left: 10px;\n}\n\n.minimize-button {\n content: \"-\";\n}\n\n.maximize-button {\n content: \"+\";\n}\n\n.close-button {\n content: \"x\";\n}\n\n";
2
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { Configuration } from "../services/configuration";
2
+ export declare class TerminalController {
3
+ readonly config: Configuration;
4
+ protected serviceName: string;
5
+ protected serviceUrl: string;
6
+ constructor(config: Configuration);
7
+ terminal(): string;
8
+ console(): string;
9
+ protected generateClient(alias: string): string;
10
+ }
@@ -2,9 +2,6 @@
2
2
  import { Font } from "fontkit";
3
3
  import { FontFormat, IAssetMeta, IFileType } from "../common-types";
4
4
  export declare class AssetProcessor {
5
- private static checkTextFileType;
6
- private static fixTextFileType;
7
- static fileTypeFromBuffer(buffer: Buffer): Promise<IFileType>;
8
5
  static extractFontFormat(font: Font): FontFormat;
9
6
  static isImage(contentType: string): boolean;
10
7
  static copyImageMeta(buffer: Buffer, metadata: IAssetMeta, fileType: IFileType): Promise<Buffer>;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { Readable } from "stream";
3
4
  import { Collection, GridFSBucket } from "mongodb";
4
5
  import { FilterQuery } from "mongoose";
@@ -8,7 +8,8 @@ export declare class Configuration {
8
8
  };
9
9
  constructor(params: Parameter[]);
10
10
  protected add(param: Parameter): void;
11
- protected resolveValue(param: Parameter): any;
11
+ protected resolveValue(param: Parameter, alreadyResolved: string[]): any;
12
12
  hasParam(name: string): boolean;
13
13
  resolve(name: string): any;
14
+ protected resolveInternal(name: string, alreadyResolved: string[]): any;
14
15
  }
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { Readable } from "stream";
3
4
  import { Collection, GridFSBucket } from "mongodb";
4
5
  import { ObjectId } from "bson";
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { Readable } from "stream";
3
4
  import { IAsset, IAssetImageParams, IAssetMeta } from "../../common-types";
4
5
  export declare class TempAsset implements IAsset {
@@ -1,6 +1,6 @@
1
- import { IFixture } from "../common-types";
1
+ import { IFixture, IFixtureOutput } from "../common-types";
2
2
  export declare class Fixtures {
3
3
  protected fixtures: IFixture[];
4
4
  constructor(fixtures: IFixture[]);
5
- load(): Promise<void>;
5
+ load(output: IFixtureOutput): Promise<any>;
6
6
  }
@@ -0,0 +1,15 @@
1
+ import { ICommandMap, ISuggestionMap } from "@stemy/terminal-commands-addon";
2
+ import { ITerminal, ITerminalCommand } from "../common-types";
3
+ import { Logger } from "./logger";
4
+ import { Configuration } from "./configuration";
5
+ export declare class TerminalManager {
6
+ protected logger: Logger;
7
+ protected config: Configuration;
8
+ protected servicePassword: string;
9
+ protected suggestions: ISuggestionMap;
10
+ protected commands: ICommandMap;
11
+ protected loggedOutCommands: string[];
12
+ protected loggedInCommands: string[];
13
+ constructor(logger: Logger, config: Configuration, commands: ITerminalCommand[]);
14
+ loadAddons(terminal: ITerminal): void;
15
+ }
@@ -0,0 +1,13 @@
1
+ import { IClientSocket, ITerminalFile } from "../common-types";
2
+ import { TerminalManager } from "../services/terminal-manager";
3
+ import { Terminal } from "./terminal";
4
+ export declare class TerminalController {
5
+ protected manager: TerminalManager;
6
+ protected terminals: {
7
+ [id: string]: Terminal;
8
+ };
9
+ constructor(manager: TerminalManager);
10
+ terminalInit(client: IClientSocket): Promise<void>;
11
+ terminalData(client: IClientSocket, data: string): Promise<void>;
12
+ terminalUpload(client: IClientSocket, upload: ITerminalFile): Promise<void>;
13
+ }
@@ -0,0 +1,20 @@
1
+ /// <reference types="node" />
2
+ import { BehaviorSubject, Subject } from "rxjs";
3
+ import { IDisposable, ITerminalAddon } from "@stemy/terminal-commands-addon";
4
+ import { IClientSocket, ITerminal, ITerminalFile } from "../common-types";
5
+ export declare class Terminal implements ITerminal {
6
+ protected client: IClientSocket;
7
+ protected addons: ITerminalAddon[];
8
+ protected files$: BehaviorSubject<ITerminalFile[]>;
9
+ protected input$: Subject<string>;
10
+ constructor(client: IClientSocket);
11
+ onData(cb: (data: string) => any): IDisposable;
12
+ write(data: string): void;
13
+ writeln(data: string): void;
14
+ loadAddon(addon: ITerminalAddon): void;
15
+ dispose(): void;
16
+ suggestFiles(accept: string): Promise<ITerminalFile[]>;
17
+ downloadFile(filename: string, buffer: Buffer): Promise<void>;
18
+ addFile(upload: ITerminalFile): void;
19
+ input(data: string): void;
20
+ }
package/utils.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { DependencyContainer } from "tsyringe";
3
4
  import { Observable, Subscription } from "rxjs";
4
5
  import { Server } from "socket.io";
5
6
  import { GridFSBucket, ObjectId } from "mongodb";
6
7
  import { Document } from "mongoose";
7
8
  import { Readable, ReadableOptions } from "stream";
8
- import { IAssetImageParams, IAssetMeta, IClientSocket, ParamResolver, Type } from "./common-types";
9
+ import { IAssetImageParams, IAssetMeta, IClientSocket, IFileType, ParamResolver, Type } from "./common-types";
9
10
  export interface IDIContainers {
10
11
  appContainer: DependencyContainer;
11
12
  }
@@ -16,6 +17,7 @@ export declare function isDefined(value: any): boolean;
16
17
  export declare function getType(obj: any): string;
17
18
  export declare function isObject(value: any): boolean;
18
19
  export declare function isArray(value: any): value is Array<any>;
20
+ export declare function isBuffer(value: any): value is Buffer;
19
21
  export declare function isBoolean(value: any): value is boolean;
20
22
  export declare function isDate(value: any): value is Date;
21
23
  export declare function isPrimitive(value: any): boolean;
@@ -61,6 +63,7 @@ export declare function multiSubscription(...subscriptions: Subscription[]): Sub
61
63
  export declare function observableFromFunction(callbackFunc: () => any): Observable<any>;
62
64
  export declare function padLeft(value: any, count?: number, padWith?: string): string;
63
65
  export declare function padRight(value: any, count?: number, padWith?: string): string;
66
+ export declare function camelCaseToDash(str: string): string;
64
67
  export declare function deleteFromBucket(bucket: GridFSBucket, fileId: ObjectId): Promise<string>;
65
68
  export declare function filter<T>(obj: T, predicate: FilterPredicate): Partial<T>;
66
69
  export declare function copy<T>(obj: T): T;
@@ -105,8 +108,11 @@ export interface IJsonColors {
105
108
  export declare function colorize(input: any, color: ConsoleColor): string;
106
109
  export declare function jsonHighlight(input: string | object, colorOptions?: IJsonColors): string;
107
110
  export declare function replaceSpecialChars(str: string, to?: string): string;
111
+ export declare function regexEscape(str: string): string;
108
112
  export declare function flatten(arr: any[]): any[];
109
113
  export declare function wrapError(e: any, message: string, httpCode?: number): Error;
114
+ export declare function getDirName(): string;
110
115
  export declare function prepareUrl(ending?: string): ParamResolver;
111
116
  export declare const prepareUrlSlash: ParamResolver;
112
117
  export declare const prepareUrlEmpty: ParamResolver;
118
+ export declare function fileTypeFromBuffer(buffer: Buffer): Promise<IFileType>;