epos 1.28.0 → 1.29.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.
package/dist/epos.d.ts CHANGED
@@ -14,6 +14,7 @@ type Versioner = Record<number, (this: any, state: any) => void>;
14
14
  type ModelClass = new (...args: any[]) => any;
15
15
  type Model = InstanceType<ModelClass>;
16
16
  type Initial<T extends Obj | Model> = T | (() => T);
17
+ type Attrs = Record<string, string | number>;
17
18
  type FnArgsOrArr<T> = T extends Fn ? Parameters<T> : Arr;
18
19
  type FnResultOrValue<T> = T extends Fn ? ReturnType<T> : T;
19
20
  type StateConfig = {
@@ -134,11 +135,16 @@ interface Epos {
134
135
  };
135
136
  frame: {
136
137
  /** Open background frame. */
137
- open(name: string, url: string, attributes?: Record<string, unknown>): Promise<void>;
138
- /** Close background frame by its name. */
139
- close(name: string): Promise<void>;
138
+ open: {
139
+ open(url: string): Promise<void>;
140
+ open(url: string, attrs: Attrs): Promise<void>;
141
+ open(name: string, url: string): Promise<void>;
142
+ open(name: string, url: string, attrs: Attrs): Promise<void>;
143
+ };
144
+ /** Close background frame. */
145
+ close(name?: string): Promise<void>;
140
146
  /** Check if background frame with the given name exists. */
141
- exists(name: string): Promise<boolean>;
147
+ exists(name?: string): Promise<boolean>;
142
148
  /** Get list of all open background frames. */
143
149
  list(): Promise<{
144
150
  name: string | null;
@@ -201,4 +207,4 @@ declare global {
201
207
  }
202
208
  declare const _epos: Epos;
203
209
 
204
- export { type Arr, type Epos, type Fn, type FnArgsOrArr, type FnResultOrValue, type Initial, type Model, type ModelClass, type Obj, type ReqInit, type Res, type StateConfig, type Storage, type Versioner, _epos as default, _epos as epos };
210
+ export { type Arr, type Attrs, type Epos, type Fn, type FnArgsOrArr, type FnResultOrValue, type Initial, type Model, type ModelClass, type Obj, type ReqInit, type Res, type StateConfig, type Storage, type Versioner, _epos as default, _epos as epos };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "epos",
3
- "version": "1.28.0",
3
+ "version": "1.29.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "imkost",
package/src/epos.ts CHANGED
@@ -14,6 +14,7 @@ export type Versioner = Record<number, (this: any, state: any) => void>
14
14
  export type ModelClass = new (...args: any[]) => any
15
15
  export type Model = InstanceType<ModelClass>
16
16
  export type Initial<T extends Obj | Model> = T | (() => T)
17
+ export type Attrs = Record<string, string | number>
17
18
  export type FnArgsOrArr<T> = T extends Fn ? Parameters<T> : Arr
18
19
  export type FnResultOrValue<T> = T extends Fn ? ReturnType<T> : T
19
20
 
@@ -142,11 +143,16 @@ export interface Epos {
142
143
  // Frame
143
144
  frame: {
144
145
  /** Open background frame. */
145
- open(name: string, url: string, attributes?: Record<string, unknown>): Promise<void>
146
- /** Close background frame by its name. */
147
- close(name: string): Promise<void>
146
+ open: {
147
+ open(url: string): Promise<void>
148
+ open(url: string, attrs: Attrs): Promise<void>
149
+ open(name: string, url: string): Promise<void>
150
+ open(name: string, url: string, attrs: Attrs): Promise<void>
151
+ }
152
+ /** Close background frame. */
153
+ close(name?: string): Promise<void>
148
154
  /** Check if background frame with the given name exists. */
149
- exists(name: string): Promise<boolean>
155
+ exists(name?: string): Promise<boolean>
150
156
  /** Get list of all open background frames. */
151
157
  list(): Promise<{ name: string | null; url: string }[]>
152
158
  }