@doreamonjs/plugin-shared 0.3.8 → 0.3.13

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.3.13](https://github.com/zcorky/zodash/compare/v0.3.12...v0.3.13) (2022-08-31)
7
+
8
+ **Note:** Version bump only for package @doreamonjs/plugin-shared
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.3.12](https://github.com/zcorky/zodash/compare/v0.3.11...v0.3.12) (2022-08-31)
15
+
16
+ **Note:** Version bump only for package @doreamonjs/plugin-shared
17
+
18
+
19
+
20
+
21
+
22
+ ## [0.3.9](https://github.com/zcorky/zodash/compare/v0.3.8...v0.3.9) (2022-08-31)
23
+
24
+ **Note:** Version bump only for package @doreamonjs/plugin-shared
25
+
26
+
27
+
28
+
29
+
6
30
  ## [0.3.8](https://github.com/zcorky/zodash/compare/v0.3.7...v0.3.8) (2022-08-31)
7
31
 
8
32
  **Note:** Version bump only for package @doreamonjs/plugin-shared
@@ -0,0 +1,5 @@
1
+ export declare const LOGGER = "logger";
2
+ export declare const ROUTER = "router";
3
+ export declare const STORE = "store";
4
+ export declare const MESSAGE = "message";
5
+ export declare const NOTIFICATION = "notification";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NOTIFICATION = exports.MESSAGE = exports.STORE = exports.ROUTER = exports.LOGGER = void 0;
4
+ exports.LOGGER = 'logger';
5
+ exports.ROUTER = 'router';
6
+ exports.STORE = 'store';
7
+ exports.MESSAGE = 'message';
8
+ exports.NOTIFICATION = 'notification';
package/lib/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './type';
2
2
  export * from './shared';
3
+ export * from './logger';
4
+ export * from './router';
5
+ export * from './store';
3
6
  export * from './message';
4
7
  export * from './notification';
5
- export * from './router';
package/lib/index.js CHANGED
@@ -13,7 +13,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  const shared_1 = require("./shared");
14
14
  __exportStar(require("./type"), exports);
15
15
  __exportStar(require("./shared"), exports);
16
+ __exportStar(require("./logger"), exports);
17
+ __exportStar(require("./router"), exports);
18
+ __exportStar(require("./store"), exports);
16
19
  __exportStar(require("./message"), exports);
17
20
  __exportStar(require("./notification"), exports);
18
- __exportStar(require("./router"), exports);
19
21
  window.__doreamonjs = shared_1.shared;
@@ -0,0 +1,20 @@
1
+ import { ILogger as ILoggerBase } from '@zodash/logger';
2
+ export interface ILogger extends ILoggerBase {
3
+ getLogger?: (namespace: string) => ILogger;
4
+ }
5
+ export interface LoggerOptions {
6
+ logger?: ILogger;
7
+ }
8
+ export declare class Logger implements ILogger {
9
+ private readonly options?;
10
+ private _logger;
11
+ constructor(options?: LoggerOptions);
12
+ private get logger();
13
+ log(message: string, ...args: any[]): void;
14
+ info(message: string, ...args: any[]): void;
15
+ error(message: string, ...args: any[]): void;
16
+ warn(message: string, ...args: any[]): void;
17
+ debug(message: string, ...args: any[]): void;
18
+ getLogger(namespace: string): ILogger;
19
+ }
20
+ export declare const logger: Logger;
package/lib/logger.js ADDED
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = exports.Logger = void 0;
4
+ const constants_1 = require("./constants");
5
+ const doreamon_1 = require("@zodash/doreamon");
6
+ const shared_1 = require("./shared");
7
+ const DEFAULT_LOGGER = doreamon_1.default.logger.getLogger('doreamonjs');
8
+ class Logger {
9
+ constructor(options) {
10
+ this.options = options;
11
+ }
12
+ get logger() {
13
+ var _a, _b;
14
+ if (this._logger)
15
+ return this._logger;
16
+ if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.logger) {
17
+ this._logger = (_b = this.options) === null || _b === void 0 ? void 0 : _b.logger;
18
+ }
19
+ else if (shared_1.shared.has(constants_1.LOGGER)) {
20
+ this._logger = shared_1.shared.get(constants_1.LOGGER);
21
+ }
22
+ else {
23
+ const logger = (this._logger = DEFAULT_LOGGER);
24
+ shared_1.shared.register(constants_1.LOGGER, () => {
25
+ return logger;
26
+ });
27
+ }
28
+ return this._logger;
29
+ }
30
+ log(message, ...args) {
31
+ this.logger.log(message, ...args);
32
+ }
33
+ info(message, ...args) {
34
+ this.logger.info(message, ...args);
35
+ }
36
+ error(message, ...args) {
37
+ this.logger.error(message, ...args);
38
+ }
39
+ warn(message, ...args) {
40
+ this.logger.warn(message, ...args);
41
+ }
42
+ debug(message, ...args) {
43
+ this.logger.debug(message, ...args);
44
+ }
45
+ getLogger(namespace) {
46
+ return doreamon_1.default.logger.getLogger(namespace);
47
+ }
48
+ }
49
+ exports.Logger = Logger;
50
+ exports.logger = new Logger();
package/lib/message.d.ts CHANGED
@@ -33,13 +33,12 @@ export interface OpenConfig {
33
33
  }
34
34
  export declare type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading';
35
35
  export interface MessageConfig {
36
- messager?: IMessage;
36
+ message?: IMessage;
37
37
  }
38
38
  export declare class Message implements IMessage {
39
39
  private readonly options?;
40
- private _messager;
41
40
  constructor(options?: MessageConfig);
42
- private get messager();
41
+ private get message();
43
42
  info(content: string, duration?: number, onClose?: () => void): void | Promise<void>;
44
43
  success(content: string, duration?: number, onClose?: () => void): void | Promise<void>;
45
44
  error(content: string, duration?: number, onClose?: () => void): void | Promise<void>;
package/lib/message.js CHANGED
@@ -1,48 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.message = exports.Message = void 0;
4
+ const constants_1 = require("./constants");
4
5
  const shared_1 = require("./shared");
5
6
  class Message {
6
7
  constructor(options) {
7
8
  this.options = options;
8
9
  }
9
- get messager() {
10
+ get message() {
10
11
  var _a, _b;
11
- if (this._messager)
12
- return this._messager;
13
- if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.messager) {
14
- this._messager = (_b = this.options) === null || _b === void 0 ? void 0 : _b.messager;
12
+ if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.message) {
13
+ return (_b = this.options) === null || _b === void 0 ? void 0 : _b.message;
15
14
  }
16
- else if (shared_1.shared.has('message')) {
17
- this._messager = shared_1.shared.get('message');
18
- }
19
- else {
20
- throw new Error('[doreamonjs] message is not registered');
21
- }
22
- return this._messager;
15
+ return shared_1.shared.get(constants_1.MESSAGE);
23
16
  }
24
17
  info(content, duration, onClose) {
25
- return this.messager.info(content, duration, onClose);
18
+ return this.message.info(content, duration, onClose);
26
19
  }
27
20
  success(content, duration, onClose) {
28
- return this.messager.success(content, duration, onClose);
21
+ return this.message.success(content, duration, onClose);
29
22
  }
30
23
  error(content, duration, onClose) {
31
- return this.messager.error(content, duration, onClose);
24
+ return this.message.error(content, duration, onClose);
32
25
  }
33
26
  warning(content, duration, onClose) {
34
- return this.messager.warning(content, duration, onClose);
27
+ return this.message.warning(content, duration, onClose);
35
28
  }
36
29
  loading(content, duration, onClose) {
37
- return this.messager.loading(content, duration, onClose);
30
+ return this.message.loading(content, duration, onClose);
38
31
  }
39
32
  //
40
33
  open(config) {
41
- return this.messager.open(config);
34
+ return this.message.open(config);
42
35
  }
43
36
  config(options) {
44
37
  var _a, _b;
45
- return (_b = (_a = this.messager) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.call(_a, options);
38
+ return (_b = (_a = this.message) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.call(_a, options);
46
39
  }
47
40
  }
48
41
  exports.Message = Message;
@@ -40,7 +40,7 @@ export interface ConfigNotificationOptions {
40
40
  export declare type NotificationPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
41
41
  export declare type IconType = 'success' | 'info' | 'error' | 'warning';
42
42
  export interface NotificationConfig {
43
- notifier?: INotification;
43
+ notification?: INotification;
44
44
  }
45
45
  export declare class Notification implements INotification {
46
46
  private readonly options?;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.notification = exports.Notification = void 0;
4
+ const constants_1 = require("./constants");
4
5
  const shared_1 = require("./shared");
5
6
  class Notification {
6
7
  constructor(options) {
@@ -8,18 +9,10 @@ class Notification {
8
9
  }
9
10
  get notifier() {
10
11
  var _a, _b;
11
- if (this._notifier)
12
- return this._notifier;
13
- if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.notifier) {
14
- this._notifier = (_b = this.options) === null || _b === void 0 ? void 0 : _b.notifier;
12
+ if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.notification) {
13
+ return (_b = this.options) === null || _b === void 0 ? void 0 : _b.notification;
15
14
  }
16
- else if (shared_1.shared.has('notification')) {
17
- this._notifier = shared_1.shared.get('notification');
18
- }
19
- else {
20
- throw new Error('[doreamonjs] nitification is not registered');
21
- }
22
- return this._notifier;
15
+ return shared_1.shared.get(constants_1.NOTIFICATION);
23
16
  }
24
17
  success(cfg) {
25
18
  return this.notifier.success(cfg);
package/lib/router.d.ts CHANGED
@@ -15,7 +15,6 @@ export interface RouterOptions {
15
15
  }
16
16
  export declare class Router implements IRouter {
17
17
  private readonly options?;
18
- private _router;
19
18
  constructor(options?: RouterOptions);
20
19
  private get router();
21
20
  push(path: string | RouteData, state?: any): void;
package/lib/router.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.router = exports.Router = void 0;
4
+ const constants_1 = require("./constants");
4
5
  const shared_1 = require("./shared");
5
6
  class Router {
6
7
  constructor(options) {
@@ -8,19 +9,10 @@ class Router {
8
9
  }
9
10
  get router() {
10
11
  var _a, _b;
11
- if (this._router)
12
- return this._router;
13
12
  if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.router) {
14
- this._router = (_b = this.options) === null || _b === void 0 ? void 0 : _b.router;
13
+ return (_b = this.options) === null || _b === void 0 ? void 0 : _b.router;
15
14
  }
16
- else if (shared_1.shared.has('router')) {
17
- // doreamonjs
18
- this._router = shared_1.shared.get('router');
19
- }
20
- else {
21
- throw new Error('[doreamonjs] router is not registered');
22
- }
23
- return this._router;
15
+ return shared_1.shared.get(constants_1.ROUTER);
24
16
  }
25
17
  push(path, state) {
26
18
  this.router.push(path, state);
package/lib/shared.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export declare type SharedServiceKey = 'message' | 'notification' | 'router';
1
+ import { LOGGER, MESSAGE, NOTIFICATION, ROUTER, STORE } from './constants';
2
+ export declare type SharedServiceKey = typeof LOGGER | typeof ROUTER | typeof STORE | typeof MESSAGE | typeof NOTIFICATION;
2
3
  export declare class Shared {
3
4
  private store;
4
- register(key: SharedServiceKey, value: any): void;
5
+ register(key: SharedServiceKey, getter: () => any): void;
5
6
  get(key: SharedServiceKey): any;
6
7
  has(key: SharedServiceKey): boolean;
7
8
  }
package/lib/shared.js CHANGED
@@ -5,15 +5,16 @@ class Shared {
5
5
  constructor() {
6
6
  this.store = {};
7
7
  }
8
- register(key, value) {
9
- this.store[key] = value;
8
+ register(key, getter) {
9
+ this.store[key] = getter;
10
10
  }
11
11
  get(key) {
12
- const service = this.store[key];
13
- if (!service) {
14
- throw new Error(`Shared service ${key} not registered`);
12
+ const serviceGetter = this.store[key];
13
+ if (!serviceGetter) {
14
+ // throw new Error('[doreamonjs] router is not registered');
15
+ throw new Error(`[doreamonjs] shared service ${key} is not registered`);
15
16
  }
16
- return service;
17
+ return serviceGetter.apply(null);
17
18
  }
18
19
  has(key) {
19
20
  return !!this.store[key];
package/lib/store.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ export interface IStore {
2
+ dispatch(action: Action): void;
3
+ getState(): any;
4
+ subscribe(cb: () => void): void;
5
+ }
6
+ export interface Action {
7
+ type: string;
8
+ payload?: any;
9
+ [key: string]: any;
10
+ }
11
+ export interface StoreOptions {
12
+ store?: IStore;
13
+ }
14
+ export declare class Store implements IStore {
15
+ private readonly options?;
16
+ constructor(options?: StoreOptions);
17
+ private get store();
18
+ dispatch(action: Action): void;
19
+ getState(): any;
20
+ subscribe(cb: () => void): void;
21
+ }
22
+ export declare const store: Store;
package/lib/store.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.store = exports.Store = void 0;
4
+ const constants_1 = require("./constants");
5
+ const shared_1 = require("./shared");
6
+ class Store {
7
+ constructor(options) {
8
+ this.options = options;
9
+ }
10
+ get store() {
11
+ var _a, _b;
12
+ if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.store) {
13
+ return (_b = this.options) === null || _b === void 0 ? void 0 : _b.store;
14
+ }
15
+ return shared_1.shared.get(constants_1.STORE);
16
+ }
17
+ dispatch(action) {
18
+ this.store.dispatch(action);
19
+ }
20
+ getState() {
21
+ return this.store.getState();
22
+ }
23
+ subscribe(cb) {
24
+ this.store.subscribe(cb);
25
+ }
26
+ }
27
+ exports.Store = Store;
28
+ exports.store = new Store();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doreamonjs/plugin-shared",
3
- "version": "0.3.8",
3
+ "version": "0.3.13",
4
4
  "description": "shared plugin for doreamonjs",
5
5
  "keywords": [
6
6
  "doreamonjs",
@@ -71,5 +71,5 @@
71
71
  "@zodash/doreamon": "^1.0.17",
72
72
  "history": "^5.3.0"
73
73
  },
74
- "gitHead": "38b601ea285643d97ae0f5adaab938b5dd7b5b4b"
74
+ "gitHead": "1b28761e66cad9a1e9e3f35b39258a0e3c3caf6c"
75
75
  }