@nizza/core 0.8.3-beta.1 → 0.8.4

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.
@@ -187,11 +187,26 @@ export declare class ApiClient {
187
187
  */
188
188
  private getAccount;
189
189
  /**
190
- * Prepares request headers, primarily for authentication.
191
- * It merges existing headers with authentication headers if `secure` is true.
190
+ * Normalizes security option to internal representation
191
+ *
192
+ * Converts boolean and string security modes to a consistent internal format,
193
+ * maintaining backward compatibility with legacy boolean usage.
194
+ *
195
+ * @param secure - Security configuration from request
196
+ * @returns Normalized security mode
197
+ */
198
+ private normalizeSecureOption;
199
+ /**
200
+ * Prepares request headers, primarily for authentication
201
+ *
202
+ * Handles different security modes:
203
+ * - 'none': No authentication headers
204
+ * - 'token-only': Only JWT token, no account header
205
+ * - 'full': JWT token + account header
206
+ *
192
207
  * @private
193
- * @param options Configuration for header preparation, including security flags and existing headers.
194
- * @returns {Promise<Record<string, string>>} The prepared headers.
208
+ * @param options Configuration for header preparation, including security flags and existing headers
209
+ * @returns The prepared headers
195
210
  */
196
211
  private prepareAuthHeaders;
197
212
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,SAAS,IAAI,mBAAmB,EACtC,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EACV,SAAS,EAGT,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAY;IACzC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;OAKG;gBACS,MAAM,EAAE,SAAS;IAiD7B;;;;OAIG;IACI,eAAe,CAAC,OAAO,EAAE;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAeD;;;;;;;;OAQG;IACU,IAAI,CAAC,KAAK,GAAG,GAAG,EAC3B,MAAM,EAAE,oBAAoB,GAAG;QAAE,GAAG,EAAE,IAAI,CAAA;KAAE,GAC3C,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAEjC;;;;;;;;;;;OAWG;IACU,IAAI,CAAC,KAAK,GAAG,GAAG,EAC3B,MAAM,EAAE,oBAAoB,GAAG;QAAE,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE,GACzD,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IA+DtC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACU,OAAO,CAClB,OAAO,GAAG,GAAG,EACb,KAAK,SAAS,mBAAmB,GAAG,mBAAmB,EAEvD,QAAQ,EAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAC5C,SAAS,CAAC,EAAE,KAAK,EACjB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,CAAC;IAiCnB;;;OAGG;YACW,kBAAkB;IAMhC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAyBnC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAsDvB;;;OAGG;YACW,qBAAqB;IAOnC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2C1B;;;;OAIG;YACW,YAAY;IAa1B;;;;OAIG;YACW,UAAU;IAaxB;;;;;;OAMG;YACW,kBAAkB;IAmDhC;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;CAuC1B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,SAAS,IAAI,mBAAmB,EACtC,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EACV,SAAS,EAGT,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAY;IACzC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;OAKG;gBACS,MAAM,EAAE,SAAS;IAiD7B;;;;OAIG;IACI,eAAe,CAAC,OAAO,EAAE;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAeD;;;;;;;;OAQG;IACU,IAAI,CAAC,KAAK,GAAG,GAAG,EAC3B,MAAM,EAAE,oBAAoB,GAAG;QAAE,GAAG,EAAE,IAAI,CAAA;KAAE,GAC3C,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAEjC;;;;;;;;;;;OAWG;IACU,IAAI,CAAC,KAAK,GAAG,GAAG,EAC3B,MAAM,EAAE,oBAAoB,GAAG;QAAE,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE,GACzD,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IA+DtC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACU,OAAO,CAClB,OAAO,GAAG,GAAG,EACb,KAAK,SAAS,mBAAmB,GAAG,mBAAmB,EAEvD,QAAQ,EAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAC5C,SAAS,CAAC,EAAE,KAAK,EACjB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,CAAC;IAiCnB;;;OAGG;YACW,kBAAkB;IAMhC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAyBnC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAsDvB;;;OAGG;YACW,qBAAqB;IAOnC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA2C1B;;;;OAIG;YACW,YAAY;IAa1B;;;;OAIG;YACW,UAAU;IAaxB;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;;;;;;;;OAWG;YACW,kBAAkB;IA+DhC;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;CAuC1B"}
@@ -37,12 +37,42 @@ export interface ApiConfig {
37
37
  */
38
38
  getAccount?: AccountFn;
39
39
  }
40
+ /**
41
+ * Security mode for API requests
42
+ *
43
+ * Defines authentication and authorization requirements for API calls.
44
+ * Supports backward compatibility with boolean values while providing
45
+ * more granular control through string literals.
46
+ *
47
+ * @example
48
+ * // Legacy boolean usage (still supported)
49
+ * { secure: true } // Requires JWT token + account header
50
+ * { secure: false } // No authentication
51
+ *
52
+ * // New explicit string values
53
+ * { secure: 'full' } // JWT token + account header (same as true)
54
+ * { secure: 'token-only' } // JWT token only, no account required
55
+ */
56
+ export type SecureOption = boolean | 'token-only' | 'full';
40
57
  /**
41
58
  * Base options applicable to authenticated requests and timeout/cancellation.
42
59
  */
43
60
  interface ApiBaseRequestOptions {
44
- /** If true, the request will attempt to include an Authorization token. Defaults to false. */
45
- secure?: boolean;
61
+ /**
62
+ * Security mode for the request
63
+ *
64
+ * - `true` or `'full'`: Requires JWT token + account header (default behavior)
65
+ * - `'token-only'`: Only JWT token, no account header (for pre-account operations)
66
+ * - `false` or `undefined`: No authentication
67
+ *
68
+ * @example
69
+ * // Get user's available accounts (before account selection)
70
+ * { secure: 'token-only' }
71
+ *
72
+ * // Standard authenticated request (after account selection)
73
+ * { secure: true } // or { secure: 'full' }
74
+ */
75
+ secure?: SecureOption;
46
76
  /** Account identifier, often included in a custom header (e.g., 'ls-account') if 'secure' is true. */
47
77
  account?: string;
48
78
  /** Request-specific timeout in milliseconds. Overrides `defaultTimeout`. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nizza/core",
3
- "version": "0.8.3-beta.1",
3
+ "version": "0.8.4",
4
4
  "type": "module",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.cjs",