taon 21.0.89 → 21.0.91

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 (65) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +5 -0
  2. package/bin/taon +5 -5
  3. package/bin/taon-debug +5 -5
  4. package/bin/taon-debug-brk +4 -4
  5. package/browser/fesm2022/taon-browser.mjs +1097 -1190
  6. package/browser/fesm2022/taon-browser.mjs.map +1 -1
  7. package/browser/package.json +1 -1
  8. package/browser/types/taon-browser.d.ts +261 -256
  9. package/browser-prod/fesm2022/taon-browser-prod.mjs +1098 -1191
  10. package/browser-prod/fesm2022/taon-browser-prod.mjs.map +1 -1
  11. package/browser-prod/package.json +1 -1
  12. package/browser-prod/types/taon-browser-prod.d.ts +259 -254
  13. package/icon-menu-taon.svg +15 -15
  14. package/lib/base-classes/base-context.js +1 -2
  15. package/lib/base-classes/base-context.js.map +1 -1
  16. package/lib/build-info._auto-generated_.d.ts +1 -1
  17. package/lib/build-info._auto-generated_.js +1 -1
  18. package/lib/create-context.js +6 -0
  19. package/lib/create-context.js.map +1 -1
  20. package/lib/endpoint-context.d.ts +7 -1
  21. package/lib/endpoint-context.js +18 -1
  22. package/lib/endpoint-context.js.map +1 -1
  23. package/lib/package.json +1 -1
  24. package/lib/realtime/realtime-client.js +20 -9
  25. package/lib/realtime/realtime-client.js.map +1 -1
  26. package/lib/realtime/realtime-core.js +9 -4
  27. package/lib/realtime/realtime-core.js.map +1 -1
  28. package/lib/realtime/realtime-server.js +8 -2
  29. package/lib/realtime/realtime-server.js.map +1 -1
  30. package/lib/ui/index.js +2 -2
  31. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  32. package/lib-prod/base-classes/base-context.js +1 -2
  33. package/lib-prod/base-classes/base-context.js.map +1 -1
  34. package/lib-prod/base-classes/base-controller.js.map +1 -1
  35. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  36. package/lib-prod/build-info._auto-generated_.js +1 -1
  37. package/lib-prod/create-context.js +6 -0
  38. package/lib-prod/create-context.js.map +1 -1
  39. package/lib-prod/decorators/http/http-methods-decorators.js.map +1 -1
  40. package/lib-prod/endpoint-context-storage.js.map +1 -1
  41. package/lib-prod/endpoint-context.d.ts +7 -1
  42. package/lib-prod/endpoint-context.js +18 -1
  43. package/lib-prod/endpoint-context.js.map +1 -1
  44. package/lib-prod/helpers/class-helpers.js.map +1 -1
  45. package/lib-prod/index.js.map +1 -1
  46. package/lib-prod/package.json +1 -1
  47. package/lib-prod/realtime/realtime-client.js +20 -9
  48. package/lib-prod/realtime/realtime-client.js.map +1 -1
  49. package/lib-prod/realtime/realtime-core.js +9 -4
  50. package/lib-prod/realtime/realtime-core.js.map +1 -1
  51. package/lib-prod/realtime/realtime-server.js +8 -2
  52. package/lib-prod/realtime/realtime-server.js.map +1 -1
  53. package/lib-prod/ui/index.d.ts +1 -1
  54. package/lib-prod/ui/index.js +1 -1
  55. package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -1
  56. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -1
  57. package/package.json +1 -1
  58. package/websql/fesm2022/taon-websql.mjs +835 -1024
  59. package/websql/fesm2022/taon-websql.mjs.map +1 -1
  60. package/websql/package.json +1 -1
  61. package/websql/types/taon-websql.d.ts +261 -256
  62. package/websql-prod/fesm2022/taon-websql-prod.mjs +837 -1025
  63. package/websql-prod/fesm2022/taon-websql-prod.mjs.map +1 -1
  64. package/websql-prod/package.json +1 -1
  65. package/websql-prod/types/taon-websql-prod.d.ts +259 -254
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taon/browser-prod",
3
- "version": "21.0.89",
3
+ "version": "21.0.91",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -4,12 +4,14 @@ import * as expressType from 'express';
4
4
  import { Request, Response, Application, RequestHandler } from 'express';
5
5
  import { HttpResponse, Ng2RestAxiosRequestConfig, RestResponseWrapper, TaonServerMiddlewareInterceptOptions, TaonClientMiddlewareInterceptOptions, ResponseTypeAxios, HttpResponseError, RestErrorResponseWrapper, ModelValue, EncodeSchema } from 'ng2-rest/browser-prod';
6
6
  export { TaonClientMiddlewareInterceptOptions, TaonServerMiddlewareInterceptOptions } from 'ng2-rest/browser-prod';
7
- import { Server } from 'http';
7
+ import { Server as Server$1 } from 'http';
8
8
  import { DataSource, Repository, SaveOptions, DeepPartial, QueryDeepPartialEntity, InsertResult, UpsertOptions, FindOptionsWhere, UpdateResult, FindManyOptions, FindOneOptions, QueryRunner, SelectQueryBuilder, Table, RelationPath, MigrationInterface, EntitySubscriberInterface, InsertEvent, UpdateEvent, RemoveEvent, SoftRemoveEvent, RecoverEvent, TransactionStartEvent, TransactionCommitEvent, TransactionRollbackEvent } from 'taon-typeorm/browser-prod';
9
9
  export { AfterInsert, AfterLoad, AfterRecover, AfterRemove, AfterSoftRemove, AfterUpdate, BeforeInsert, BeforeRecover, BeforeRemove, BeforeSoftRemove, BeforeUpdate, Column, Connection, CreateDateColumn, Column as CustomColumn, DeleteDateColumn, Generated, Generated as GeneratedColumn, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, OneToMany, OneToOne, PrimaryColumn, PrimaryGeneratedColumn, Repository, TreeChildren, TreeParent, UpdateDateColumn, VersionColumn, VirtualColumn } from 'taon-typeorm/browser-prod';
10
10
  import { CoreModels__NS__DatabaseType, CoreModels__NS__HttpMethod, CoreModels__NS__ContentType, CoreModels__NS__ParamType, CoreModels__NS__UIFramework } from 'tnp-core/browser-prod';
11
11
  import { MySqlQuerySource } from 'taon-type-sql/browser-prod';
12
12
  import { Observable, Subscriber } from 'rxjs';
13
+ import { ServerOptions, Server, DefaultEventsMap } from 'socket.io';
14
+ import { io, Socket } from 'socket.io-client';
13
15
  import * as i0 from '@angular/core';
14
16
  import { InjectionToken, ViewContainerRef, WritableSignal, TemplateRef } from '@angular/core';
15
17
  import { AxiosResponse } from 'axios';
@@ -17,8 +19,6 @@ import * as _ngx_formly_core from '@ngx-formly/core';
17
19
  import { FieldWrapper, FieldArrayType, FormlyFormBuilder, FormlyFieldConfig } from '@ngx-formly/core';
18
20
  import * as Electron from 'electron';
19
21
  import { ipcRenderer } from 'electron';
20
- import { ServerOptions, Server as Server$1, DefaultEventsMap } from 'socket.io';
21
- import { io, Socket } from 'socket.io-client';
22
22
  import { StorSignal } from 'taon-storage/browser-prod';
23
23
  import * as multer from 'multer';
24
24
 
@@ -630,6 +630,255 @@ interface Models__NS__TaonCtxCloneParams {
630
630
  sourceContext?: EndpointContext;
631
631
  }
632
632
 
633
+ type RealtimeModels__NS__SubsManagerOpt = {
634
+ core: RealtimeCore;
635
+ customEvent: string;
636
+ roomName: string;
637
+ property: string;
638
+ };
639
+ interface RealtimeModels__NS__ChangeOption {
640
+ /**
641
+ * Specify property name to listen changes on that property only;
642
+ */
643
+ property?: string;
644
+ /**
645
+ * Override custom event name to listen
646
+ */
647
+ customEvent?: string;
648
+ /**
649
+ * Value from entity object.
650
+ * Key for this value is usually id or unique key
651
+ * property defined in entity decorator.
652
+ * TODO @LAST IMPLEMENT unique key support
653
+ */
654
+ idOrUniqValue?: any;
655
+ }
656
+ type RealtimeModels__NS__EventHandler = (...args: any[]) => void;
657
+
658
+ /**
659
+ * Client for realtime communication
660
+ * you can listen to:
661
+ * - entity changes (any property in table changed)
662
+ * - entity custom property changes (specific property changed)
663
+ * - entity table changes (new instance added, instance removed)
664
+ * - custom events
665
+ */
666
+ declare class RealtimeClient {
667
+ private core;
668
+ private subsManagers;
669
+ constructor(core: RealtimeCore);
670
+ private init;
671
+ /**
672
+ * Usage:
673
+ * myContext.realtimeClient.listenChangesEntity(myEntityInstance);
674
+ *
675
+ *
676
+ * Changes trigger on backend needs to be done manually.. example code:
677
+ *
678
+ * myContext.realtimeServer.triggerEntityChanges(myEntityInstance);
679
+ * ...
680
+ */
681
+ listenChangesEntity<RESULT = any>(entityClassFnOrObj: Function | object, options?: RealtimeModels__NS__ChangeOption): Observable<RESULT>;
682
+ /**
683
+ * Listen changes entity table
684
+ * Example: for pagination, lists update ...
685
+ */
686
+ listenChangesEntityTable<RESULT = any>(entityClassFn: Function): Observable<RESULT>;
687
+ listenChangesCustomEvent<RESULT = any>(customEvent: string): Observable<RESULT>;
688
+ /**
689
+ * Trigger custom event on backend
690
+ * @param customEvent global event name
691
+ * @param dataToPush
692
+ */
693
+ triggerCustomEvent(customEvent: string, dataToPush?: any): void;
694
+ private getUniqueIdentifierForConnection;
695
+ }
696
+
697
+ /**
698
+ * Server for realtime communication
699
+ * you can trigger:
700
+ * - entity changes (any property in table changed)
701
+ * - entity custom property changes (specific property changed)
702
+ * - entity table changes (new instance added, instance removed)
703
+ * - custom events
704
+ *
705
+ * and also listen to:
706
+ * - custom events from yourself
707
+ */
708
+ declare class RealtimeServer {
709
+ private core;
710
+ constructor(core: RealtimeCore);
711
+ private init;
712
+ private triggerChanges;
713
+ triggerEntityChanges(entityObjOrClass: Function | object,
714
+ /**
715
+ * value of unique key property of entity instance
716
+ * (this value is not needed if entityObjOrClass is instance of entity)
717
+ */
718
+ idToTrigger?: number | string): void;
719
+ triggerEntityPropertyChanges(entityObjOrClass: Function | object,
720
+ /**
721
+ * property name or array of property names that changed
722
+ * for entity instance
723
+ */
724
+ property: string | string[],
725
+ /**
726
+ * value of unique key property of entity instance
727
+ * (this value is not needed if entityObjOrClass is instance of entity)
728
+ */
729
+ idToTrigger?: number | string): void;
730
+ triggerEntityTableChanges(entityClassOrInstance: Function | object): void;
731
+ triggerCustomEvent(customEvent: string, dataToPush: any): void;
732
+ /**
733
+ * Listen to custom events from users
734
+ * @param customEvent global event name
735
+ */
736
+ listenChangesCustomEvent(customEvent: string): Observable<any>;
737
+ }
738
+
739
+ declare abstract class RealtimeStrategy {
740
+ protected ctx: EndpointContext;
741
+ constructor(ctx: EndpointContext);
742
+ get ioClient(): typeof io;
743
+ ioServer(url: string, opt: ServerOptions): Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
744
+ abstract toString(): string;
745
+ }
746
+
747
+ declare class MockServerIpc {
748
+ contextName: string;
749
+ static serverByContextName: Map<string, MockServerIpc>;
750
+ static from(contextName: string): MockServerIpc;
751
+ namespacesByName: Map<string, MockNamespaceIpc>;
752
+ constructor(contextName: string);
753
+ of(namespace: string): MockNamespaceIpc;
754
+ }
755
+ declare class MockNamespaceIpc {
756
+ /**
757
+ * Namespace name
758
+ */
759
+ name: string;
760
+ server: MockServerIpc;
761
+ electronClients: Set<Electron.WebContents>;
762
+ roomsByRoomName: {
763
+ [roomName: string]: Set<Electron.WebContents>;
764
+ };
765
+ private namespaceEventHandlers;
766
+ constructor(
767
+ /**
768
+ * Namespace name
769
+ */
770
+ name: string, server: MockServerIpc);
771
+ on(eventName: string, callback: RealtimeModels__NS__EventHandler): any;
772
+ off(event: string, callback?: RealtimeModels__NS__EventHandler): any;
773
+ emit(eventName: string, ...args: any[]): any;
774
+ to(roomName: string): RoomEmitterIpc;
775
+ in(roomName: string): RoomEmitterIpc;
776
+ join(webContents: Electron.WebContents, roomName: string): void;
777
+ leave(webContents: Electron.WebContents, roomName: string): void;
778
+ path(): string;
779
+ get nsp(): {
780
+ readonly name: string;
781
+ };
782
+ }
783
+ declare class RoomEmitterIpc {
784
+ private electronClients;
785
+ /**
786
+ * namespace name
787
+ */
788
+ private name;
789
+ private includeSender;
790
+ private sender;
791
+ constructor(electronClients: Set<Electron.WebContents>,
792
+ /**
793
+ * namespace name
794
+ */
795
+ name: string, includeSender?: boolean, sender?: MockSocketIpc);
796
+ emit(eventName: string, ...args: any[]): void;
797
+ }
798
+ declare class MockSocketIpc {
799
+ namespaceName: string;
800
+ ipcRenderer: typeof ipcRenderer;
801
+ private socketEventHandlers;
802
+ get name(): string;
803
+ /**
804
+ * @param namespaceName instead url for ipc
805
+ */
806
+ constructor(namespaceName: string);
807
+ on(eventName: string, callback: (event: any, ...args: any[]) => void): void;
808
+ off(event: string, callback?: (event: any, ...args: any[]) => void): void;
809
+ emit(event: string, ...args: any[]): void;
810
+ }
811
+ /**
812
+ * Purpose:
813
+ * - backend-browser communication between 2 processes in electron mode
814
+ */
815
+ declare class RealtimeStrategyIpc extends RealtimeStrategy {
816
+ protected ctx: EndpointContext;
817
+ toString(): string;
818
+ constructor(ctx: EndpointContext);
819
+ ioServer(__: string, opt: ServerOptions): any;
820
+ get ioClient(): any;
821
+ }
822
+
823
+ /**
824
+ * Purpose:
825
+ * - browser-browser communication mock (in websql mode)
826
+ */
827
+ declare class RealtimeStrategyMock extends RealtimeStrategy {
828
+ protected ctx: EndpointContext;
829
+ toString(): string;
830
+ constructor(ctx: EndpointContext);
831
+ ioServer(url: string, opt: ServerOptions): any;
832
+ get ioClient(): any;
833
+ }
834
+
835
+ /**
836
+ * Purpose:
837
+ * - backend-browser communication
838
+ * - backend-backend communication
839
+ */
840
+ declare class RealtimeStrategySocketIO extends RealtimeStrategy {
841
+ protected ctx: EndpointContext;
842
+ toString(): string;
843
+ constructor(ctx: EndpointContext);
844
+ ioServer(...args: any[]): any;
845
+ get ioClient(): typeof io;
846
+ }
847
+
848
+ /**
849
+ * Realtime class
850
+ * - mock (when browser-browser)
851
+ * - sockets (from socket io when backend-browser)
852
+ * - ipc (when electron is used or between processes)
853
+ * - webworker (when webworker is used in browser or nodejs)
854
+ */
855
+ declare class RealtimeCore {
856
+ ctx: EndpointContext;
857
+ readonly allHttpMethods: string[];
858
+ readonly client: RealtimeClient;
859
+ readonly server: RealtimeServer;
860
+ readonly strategy: RealtimeStrategy;
861
+ /**
862
+ * global FE socket - only for established connection
863
+ */
864
+ conectSocketFE: Socket<DefaultEventsMap, DefaultEventsMap>;
865
+ /**
866
+ * socket for namespaces and rooms
867
+ */
868
+ socketFE: Socket<DefaultEventsMap, DefaultEventsMap>;
869
+ /**
870
+ * global BE socket - only for established connection
871
+ */
872
+ connectSocketBE: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
873
+ /**
874
+ * socket for namespaces and rooms
875
+ */
876
+ socketBE: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
877
+ constructor(ctx: EndpointContext);
878
+ private resolveStrategy;
879
+ pathFor(namespace?: string): URL;
880
+ }
881
+
633
882
  declare class EndpointContext {
634
883
  private originalConfig;
635
884
  private configFn;
@@ -668,7 +917,7 @@ declare class EndpointContext {
668
917
  private injectableTypesfromContexts;
669
918
  private allTypesfromContexts;
670
919
  expressApp: Application;
671
- serverTcpUdp: Server;
920
+ serverTcpUdp: Server$1;
672
921
  databaseConfig?: Models__NS__DatabaseConfigTypeOrm;
673
922
  mode: Models__NS__FrameworkMode;
674
923
  readonly onlyMigrationRun?: boolean;
@@ -677,7 +926,9 @@ declare class EndpointContext {
677
926
  session?: Models__NS__ISession;
678
927
  connection: DataSource;
679
928
  private entitiesTriggers;
680
- private realtime;
929
+ private _realtime;
930
+ get realtime(): RealtimeCore;
931
+ set realtime(v: RealtimeCore);
681
932
  get realtimeClient(): taon_browser_prod.RealtimeClient;
682
933
  get realtimeServer(): taon_browser_prod.RealtimeServer;
683
934
  /**
@@ -795,6 +1046,9 @@ declare class EndpointContext {
795
1046
  get isProductionMode(): boolean;
796
1047
  get host(): string | undefined;
797
1048
  get origin(): string | undefined;
1049
+ /**
1050
+ * init typeorm subscribers
1051
+ */
798
1052
  initSubscribers(): Promise<any>;
799
1053
  initEntities(): Promise<void>;
800
1054
  destroy(): Promise<void>;
@@ -1634,255 +1888,6 @@ declare const SimpleJsonColumn: () => PropertyDecorator;
1634
1888
  declare const BooleanColumn: (defaultValue: boolean | null) => PropertyDecorator;
1635
1889
  declare const DateTimeColumn: (defaultValue?: boolean | null) => PropertyDecorator;
1636
1890
 
1637
- /**
1638
- * Server for realtime communication
1639
- * you can trigger:
1640
- * - entity changes (any property in table changed)
1641
- * - entity custom property changes (specific property changed)
1642
- * - entity table changes (new instance added, instance removed)
1643
- * - custom events
1644
- *
1645
- * and also listen to:
1646
- * - custom events from yourself
1647
- */
1648
- declare class RealtimeServer {
1649
- private core;
1650
- constructor(core: RealtimeCore);
1651
- private init;
1652
- private triggerChanges;
1653
- triggerEntityChanges(entityObjOrClass: Function | object,
1654
- /**
1655
- * value of unique key property of entity instance
1656
- * (this value is not needed if entityObjOrClass is instance of entity)
1657
- */
1658
- idToTrigger?: number | string): void;
1659
- triggerEntityPropertyChanges(entityObjOrClass: Function | object,
1660
- /**
1661
- * property name or array of property names that changed
1662
- * for entity instance
1663
- */
1664
- property: string | string[],
1665
- /**
1666
- * value of unique key property of entity instance
1667
- * (this value is not needed if entityObjOrClass is instance of entity)
1668
- */
1669
- idToTrigger?: number | string): void;
1670
- triggerEntityTableChanges(entityClassOrInstance: Function | object): void;
1671
- triggerCustomEvent(customEvent: string, dataToPush: any): void;
1672
- /**
1673
- * Listen to custom events from users
1674
- * @param customEvent global event name
1675
- */
1676
- listenChangesCustomEvent(customEvent: string): Observable<any>;
1677
- }
1678
-
1679
- declare abstract class RealtimeStrategy {
1680
- protected ctx: EndpointContext;
1681
- constructor(ctx: EndpointContext);
1682
- get ioClient(): typeof io;
1683
- ioServer(url: string, opt: ServerOptions): Server$1<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
1684
- abstract toString(): string;
1685
- }
1686
-
1687
- type RealtimeModels__NS__SubsManagerOpt = {
1688
- core: RealtimeCore;
1689
- customEvent: string;
1690
- roomName: string;
1691
- property: string;
1692
- };
1693
- interface RealtimeModels__NS__ChangeOption {
1694
- /**
1695
- * Specify property name to listen changes on that property only;
1696
- */
1697
- property?: string;
1698
- /**
1699
- * Override custom event name to listen
1700
- */
1701
- customEvent?: string;
1702
- /**
1703
- * Value from entity object.
1704
- * Key for this value is usually id or unique key
1705
- * property defined in entity decorator.
1706
- * TODO @LAST IMPLEMENT unique key support
1707
- */
1708
- idOrUniqValue?: any;
1709
- }
1710
- type RealtimeModels__NS__EventHandler = (...args: any[]) => void;
1711
-
1712
- declare class MockServerIpc {
1713
- contextName: string;
1714
- static serverByContextName: Map<string, MockServerIpc>;
1715
- static from(contextName: string): MockServerIpc;
1716
- namespacesByName: Map<string, MockNamespaceIpc>;
1717
- constructor(contextName: string);
1718
- of(namespace: string): MockNamespaceIpc;
1719
- }
1720
- declare class MockNamespaceIpc {
1721
- /**
1722
- * Namespace name
1723
- */
1724
- name: string;
1725
- server: MockServerIpc;
1726
- electronClients: Set<Electron.WebContents>;
1727
- roomsByRoomName: {
1728
- [roomName: string]: Set<Electron.WebContents>;
1729
- };
1730
- private namespaceEventHandlers;
1731
- constructor(
1732
- /**
1733
- * Namespace name
1734
- */
1735
- name: string, server: MockServerIpc);
1736
- on(eventName: string, callback: RealtimeModels__NS__EventHandler): any;
1737
- off(event: string, callback?: RealtimeModels__NS__EventHandler): any;
1738
- emit(eventName: string, ...args: any[]): any;
1739
- to(roomName: string): RoomEmitterIpc;
1740
- in(roomName: string): RoomEmitterIpc;
1741
- join(webContents: Electron.WebContents, roomName: string): void;
1742
- leave(webContents: Electron.WebContents, roomName: string): void;
1743
- path(): string;
1744
- get nsp(): {
1745
- readonly name: string;
1746
- };
1747
- }
1748
- declare class RoomEmitterIpc {
1749
- private electronClients;
1750
- /**
1751
- * namespace name
1752
- */
1753
- private name;
1754
- private includeSender;
1755
- private sender;
1756
- constructor(electronClients: Set<Electron.WebContents>,
1757
- /**
1758
- * namespace name
1759
- */
1760
- name: string, includeSender?: boolean, sender?: MockSocketIpc);
1761
- emit(eventName: string, ...args: any[]): void;
1762
- }
1763
- declare class MockSocketIpc {
1764
- namespaceName: string;
1765
- ipcRenderer: typeof ipcRenderer;
1766
- private socketEventHandlers;
1767
- get name(): string;
1768
- /**
1769
- * @param namespaceName instead url for ipc
1770
- */
1771
- constructor(namespaceName: string);
1772
- on(eventName: string, callback: (event: any, ...args: any[]) => void): void;
1773
- off(event: string, callback?: (event: any, ...args: any[]) => void): void;
1774
- emit(event: string, ...args: any[]): void;
1775
- }
1776
- /**
1777
- * Purpose:
1778
- * - backend-browser communication between 2 processes in electron mode
1779
- */
1780
- declare class RealtimeStrategyIpc extends RealtimeStrategy {
1781
- protected ctx: EndpointContext;
1782
- toString(): string;
1783
- constructor(ctx: EndpointContext);
1784
- ioServer(__: string, opt: ServerOptions): any;
1785
- get ioClient(): any;
1786
- }
1787
-
1788
- /**
1789
- * Purpose:
1790
- * - browser-browser communication mock (in websql mode)
1791
- */
1792
- declare class RealtimeStrategyMock extends RealtimeStrategy {
1793
- protected ctx: EndpointContext;
1794
- toString(): string;
1795
- constructor(ctx: EndpointContext);
1796
- ioServer(url: string, opt: ServerOptions): any;
1797
- get ioClient(): any;
1798
- }
1799
-
1800
- /**
1801
- * Purpose:
1802
- * - backend-browser communication
1803
- * - backend-backend communication
1804
- */
1805
- declare class RealtimeStrategySocketIO extends RealtimeStrategy {
1806
- protected ctx: EndpointContext;
1807
- toString(): string;
1808
- constructor(ctx: EndpointContext);
1809
- ioServer(...args: any[]): any;
1810
- get ioClient(): typeof io;
1811
- }
1812
-
1813
- /**
1814
- * Realtime class
1815
- * - mock (when browser-browser)
1816
- * - sockets (from socket io when backend-browser)
1817
- * - ipc (when electron is used or between processes)
1818
- * - webworker (when webworker is used in browser or nodejs)
1819
- */
1820
- declare class RealtimeCore {
1821
- ctx: EndpointContext;
1822
- readonly allHttpMethods: string[];
1823
- readonly client: RealtimeClient;
1824
- readonly server: RealtimeServer;
1825
- readonly strategy: RealtimeStrategy;
1826
- /**
1827
- * global FE socket - only for established connection
1828
- */
1829
- conectSocketFE: Socket<DefaultEventsMap, DefaultEventsMap>;
1830
- /**
1831
- * socket for namespaces and rooms
1832
- */
1833
- socketFE: Socket<DefaultEventsMap, DefaultEventsMap>;
1834
- /**
1835
- * global BE socket - only for established connection
1836
- */
1837
- connectSocketBE: Server$1<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
1838
- /**
1839
- * socket for namespaces and rooms
1840
- */
1841
- socketBE: Server$1<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
1842
- constructor(ctx: EndpointContext);
1843
- private resolveStrategy;
1844
- pathFor(namespace?: string): URL;
1845
- }
1846
-
1847
- /**
1848
- * Client for realtime communication
1849
- * you can listen to:
1850
- * - entity changes (any property in table changed)
1851
- * - entity custom property changes (specific property changed)
1852
- * - entity table changes (new instance added, instance removed)
1853
- * - custom events
1854
- */
1855
- declare class RealtimeClient {
1856
- private core;
1857
- private subsManagers;
1858
- constructor(core: RealtimeCore);
1859
- private init;
1860
- /**
1861
- * Usage:
1862
- * myContext.realtimeClient.listenChangesEntity(myEntityInstance);
1863
- *
1864
- *
1865
- * Changes trigger on backend needs to be done manually.. example code:
1866
- *
1867
- * myContext.realtimeServer.triggerEntityChanges(myEntityInstance);
1868
- * ...
1869
- */
1870
- listenChangesEntity<RESULT = any>(entityClassFnOrObj: Function | object, options?: RealtimeModels__NS__ChangeOption): Observable<RESULT>;
1871
- /**
1872
- * Listen changes entity table
1873
- * Example: for pagination, lists update ...
1874
- */
1875
- listenChangesEntityTable<RESULT = any>(entityClassFn: Function): Observable<RESULT>;
1876
- listenChangesCustomEvent<RESULT = any>(customEvent: string): Observable<RESULT>;
1877
- /**
1878
- * Trigger custom event on backend
1879
- * @param customEvent global event name
1880
- * @param dataToPush
1881
- */
1882
- triggerCustomEvent(customEvent: string, dataToPush?: any): void;
1883
- private getUniqueIdentifierForConnection;
1884
- }
1885
-
1886
1891
  declare class RealtimeSubsManager {
1887
1892
  private options;
1888
1893
  private isListening;
@@ -1,15 +1,15 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- viewBox="0 0 23.432 23.432004"
4
- version="1.1"
5
- id="svg1"
6
- width="23.431999"
7
- height="23.432003"
8
- xmlns="http://www.w3.org/2000/svg"
9
- xmlns:svg="http://www.w3.org/2000/svg">
10
- <defs
11
- id="defs1" />
12
- <path
13
- id="path1"
14
- d="m 11.521484,1.265625 c -0.953032,1.5597622 -1.9887223,3.0593334 -3.1074215,4.5 C 6.9495642,4.7476223 5.485983,3.7308932 4.0214844,2.7128906 3.8829075,2.6603831 3.738968,2.6414114 3.5917969,2.6582031 2.7651252,6.7213623 1.8733597,10.758159 0.9140625,14.767578 v 0.75 c 1.6097872,1.096932 3.2239518,2.188127 4.8417969,3.273438 v 0.08008 h 0.1171875 c 1.806633,1.211497 3.6188659,2.414261 5.4355471,3.611328 0.07144,0.07147 0.14145,0.143364 0.21289,0.214844 h 0.429688 c 3.432812,-2.431526 6.897745,-4.824781 10.394531,-7.179688 V 14.552734 C 21.353633,10.612741 20.406845,6.6479161 19.505859,2.6582031 19.42892,2.5563391 19.339974,2.5393307 19.238281,2.6054688 17.782054,3.6890192 16.286176,4.7048374 14.75,5.6523438 a 3.4715793,3.1345327 0 0 0 -0.01758,-0.00195 C 13.814421,4.161603 12.851221,2.7003542 11.84375,1.265625 Z M 4.1855469,8.9433594 H 10.810547 V 10.048828 H 8.34375 V 15.46875 H 6.6601562 V 10.048828 H 4.1855469 Z m 7.7285151,0 h 1.638672 l 3.41211,4.3574216 V 8.9433594 h 1.564453 V 15.46875 h -1.689453 l -3.361328,-4.253906 v 4.253906 h -1.564454 z" />
15
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ viewBox="0 0 23.432 23.432004"
4
+ version="1.1"
5
+ id="svg1"
6
+ width="23.431999"
7
+ height="23.432003"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlns:svg="http://www.w3.org/2000/svg">
10
+ <defs
11
+ id="defs1" />
12
+ <path
13
+ id="path1"
14
+ d="m 11.521484,1.265625 c -0.953032,1.5597622 -1.9887223,3.0593334 -3.1074215,4.5 C 6.9495642,4.7476223 5.485983,3.7308932 4.0214844,2.7128906 3.8829075,2.6603831 3.738968,2.6414114 3.5917969,2.6582031 2.7651252,6.7213623 1.8733597,10.758159 0.9140625,14.767578 v 0.75 c 1.6097872,1.096932 3.2239518,2.188127 4.8417969,3.273438 v 0.08008 h 0.1171875 c 1.806633,1.211497 3.6188659,2.414261 5.4355471,3.611328 0.07144,0.07147 0.14145,0.143364 0.21289,0.214844 h 0.429688 c 3.432812,-2.431526 6.897745,-4.824781 10.394531,-7.179688 V 14.552734 C 21.353633,10.612741 20.406845,6.6479161 19.505859,2.6582031 19.42892,2.5563391 19.339974,2.5393307 19.238281,2.6054688 17.782054,3.6890192 16.286176,4.7048374 14.75,5.6523438 a 3.4715793,3.1345327 0 0 0 -0.01758,-0.00195 C 13.814421,4.161603 12.851221,2.7003542 11.84375,1.265625 Z M 4.1855469,8.9433594 H 10.810547 V 10.048828 H 8.34375 V 15.46875 H 6.6601562 V 10.048828 H 4.1855469 Z m 7.7285151,0 h 1.638672 l 3.41211,4.3574216 V 8.9433594 h 1.564453 V 15.46875 h -1.689453 l -3.361328,-4.253906 v 4.253906 h -1.564454 z" />
15
+ </svg>
@@ -2,14 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaonBaseContext = void 0;
4
4
  const create_context_1 = require("../create-context");
5
- const taon_global_state_abstract_context_1 = require("../global-state/taon-global-state/taon-global-state.abstract.context");
6
5
  const base_file_upload_middleware_1 = require("./base-file-upload.middleware");
7
6
  const base_repository_1 = require("./base-repository");
8
7
  const TaonBaseContext = (0, create_context_1.createContext)(() => ({
9
8
  contextName: 'TaonBaseContext',
10
9
  abstract: true,
11
10
  contexts: {
12
- TaonGlobalStateContext: taon_global_state_abstract_context_1.TaonGlobalStateContext,
11
+ // TaonGlobalStateContext,
13
12
  },
14
13
  middlewares: {
15
14
  TaonBaseFileUploadMiddleware: base_file_upload_middleware_1.TaonBaseFileUploadMiddleware,
@@ -1 +1 @@
1
- {"version":3,"file":"base-context.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,6HAA8G;AAC9G,+EAA6E;AAC7E,uDAAuD;AAEvD,MAAM,eAAe,GAAG,IAAA,8BAAa,EAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;QACR,sBAAsB,EAAtB,2DAAsB;KACvB;IACD,WAAW,EAAE;QACX,4BAA4B,EAA5B,0DAA4B;KAC7B;IACD,YAAY,EAAE;QACZ,aAAa;QACb,kBAAkB,EAAlB,oCAAkB;KACnB;CACF,CAAC,CAAC,CAAC;AAEK,0CAAe"}
1
+ {"version":3,"file":"base-context.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,sDAAkD;AAElD,+EAA6E;AAC7E,uDAAuD;AAEvD,MAAM,eAAe,GAAG,IAAA,8BAAa,EAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;IACR,0BAA0B;KAC3B;IACD,WAAW,EAAE;QACX,4BAA4B,EAA5B,0DAA4B;KAC7B;IACD,YAAY,EAAE;QACZ,aAAa;QACb,kBAAkB,EAAlB,oCAAkB;KACnB;CACF,CAAC,CAAC,CAAC;AAEK,0CAAe"}
@@ -21,4 +21,4 @@ export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
21
21
  /**
22
22
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
23
  */
24
- export declare const CURRENT_PACKAGE_VERSION = "21.0.89";
24
+ export declare const CURRENT_PACKAGE_VERSION = "21.0.91";
@@ -25,6 +25,6 @@ exports.CURRENT_PACKAGE_TAON_VERSION = 'v21';
25
25
  /**
26
26
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
27
27
  */
28
- exports.CURRENT_PACKAGE_VERSION = '21.0.89';
28
+ exports.CURRENT_PACKAGE_VERSION = '21.0.91';
29
29
  // THIS FILE IS GENERATED - DO NOT MODIFY
30
30
  //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -206,9 +206,15 @@ const createContextFn = (configFn, cloneOptions) => {
206
206
  get realtime() {
207
207
  return {
208
208
  get client() {
209
+ if (!endpointContextRef) {
210
+ throw new Error(`Please .initialize() context before using <context>.realtime.client.<anything> `);
211
+ }
209
212
  return endpointContextRef.realtimeClient;
210
213
  },
211
214
  get server() {
215
+ if (!endpointContextRef) {
216
+ throw new Error(`Please .initialize() context before using <context>.realtime.server.<anything> `);
217
+ }
212
218
  return endpointContextRef.realtimeServer;
213
219
  },
214
220
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create-context.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-context.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}