@unchainedshop/utils 2.14.2 → 3.0.0-alpha3

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 (76) hide show
  1. package/lib/build-obfuscated-fields-filter.d.ts.map +1 -1
  2. package/lib/build-obfuscated-fields-filter.js +2 -3
  3. package/lib/build-obfuscated-fields-filter.js.map +1 -1
  4. package/lib/calculation.d.ts +1 -1
  5. package/lib/calculation.d.ts.map +1 -1
  6. package/lib/director/BaseAdapter.d.ts +10 -1
  7. package/lib/director/BaseAdapter.d.ts.map +1 -1
  8. package/lib/director/BaseAdapter.js.map +1 -1
  9. package/lib/director/BaseDirector.d.ts +9 -1
  10. package/lib/director/BaseDirector.d.ts.map +1 -1
  11. package/lib/director/BaseDirector.js.map +1 -1
  12. package/lib/director/BaseDiscountAdapter.d.ts +36 -1
  13. package/lib/director/BaseDiscountAdapter.d.ts.map +1 -1
  14. package/lib/director/BaseDiscountAdapter.js.map +1 -1
  15. package/lib/director/BaseDiscountDirector.d.ts +11 -1
  16. package/lib/director/BaseDiscountDirector.d.ts.map +1 -1
  17. package/lib/director/BaseDiscountDirector.js.map +1 -1
  18. package/lib/director/BasePricingAdapter.d.ts +45 -2
  19. package/lib/director/BasePricingAdapter.d.ts.map +1 -1
  20. package/lib/director/BasePricingAdapter.js.map +1 -1
  21. package/lib/director/BasePricingDirector.d.ts +14 -1
  22. package/lib/director/BasePricingDirector.d.ts.map +1 -1
  23. package/lib/director/BasePricingDirector.js.map +1 -1
  24. package/lib/director/BasePricingSheet.d.ts +45 -1
  25. package/lib/director/BasePricingSheet.d.ts.map +1 -1
  26. package/lib/director/BasePricingSheet.js.map +1 -1
  27. package/lib/locale-helpers.d.ts +6 -10
  28. package/lib/locale-helpers.d.ts.map +1 -1
  29. package/lib/locale-helpers.js +8 -19
  30. package/lib/locale-helpers.js.map +1 -1
  31. package/lib/object-invert.d.ts +1 -1
  32. package/lib/object-invert.d.ts.map +1 -1
  33. package/lib/object-invert.js.map +1 -1
  34. package/lib/utils-index.d.ts +17 -8
  35. package/lib/utils-index.d.ts.map +1 -1
  36. package/lib/utils-index.js +12 -69
  37. package/lib/utils-index.js.map +1 -1
  38. package/package.json +5 -8
  39. package/src/build-obfuscated-fields-filter.ts +2 -3
  40. package/src/calculation.ts +1 -1
  41. package/src/director/BaseAdapter.ts +13 -1
  42. package/src/director/BaseDirector.ts +8 -1
  43. package/src/director/BaseDiscountAdapter.ts +32 -1
  44. package/src/director/BaseDiscountDirector.ts +15 -2
  45. package/src/director/BasePricingAdapter.ts +59 -11
  46. package/src/director/BasePricingDirector.ts +36 -9
  47. package/src/director/BasePricingSheet.ts +45 -5
  48. package/src/locale-helpers.ts +19 -30
  49. package/src/object-invert.ts +1 -1
  50. package/src/utils-index.test.ts +0 -2
  51. package/src/utils-index.ts +18 -68
  52. package/lib/schemas/AddressSchema.d.ts +0 -3
  53. package/lib/schemas/AddressSchema.d.ts.map +0 -1
  54. package/lib/schemas/AddressSchema.js +0 -13
  55. package/lib/schemas/AddressSchema.js.map +0 -1
  56. package/lib/schemas/ContactSchema.d.ts +0 -3
  57. package/lib/schemas/ContactSchema.d.ts.map +0 -1
  58. package/lib/schemas/ContactSchema.js +0 -6
  59. package/lib/schemas/ContactSchema.js.map +0 -1
  60. package/lib/schemas/UsersSchema.d.ts +0 -5
  61. package/lib/schemas/UsersSchema.d.ts.map +0 -1
  62. package/lib/schemas/UsersSchema.js +0 -52
  63. package/lib/schemas/UsersSchema.js.map +0 -1
  64. package/lib/schemas/commonSchemaFields.d.ts +0 -35
  65. package/lib/schemas/commonSchemaFields.d.ts.map +0 -1
  66. package/lib/schemas/commonSchemaFields.js +0 -28
  67. package/lib/schemas/commonSchemaFields.js.map +0 -1
  68. package/lib/schemas/index.d.ts +0 -43
  69. package/lib/schemas/index.d.ts.map +0 -1
  70. package/lib/schemas/index.js +0 -14
  71. package/lib/schemas/index.js.map +0 -1
  72. package/src/schemas/AddressSchema.ts +0 -16
  73. package/src/schemas/ContactSchema.ts +0 -9
  74. package/src/schemas/UsersSchema.ts +0 -67
  75. package/src/schemas/commonSchemaFields.ts +0 -29
  76. package/src/schemas/index.ts +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"build-obfuscated-fields-filter.d.ts","sourceRoot":"","sources":["../src/build-obfuscated-fields-filter.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,2BAA2B,0BAA0B,MAAM,EAAE,uBA2BlE,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"build-obfuscated-fields-filter.d.ts","sourceRoot":"","sources":["../src/build-obfuscated-fields-filter.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,2BAA2B,0BAA0B,MAAM,EAAE,uBA2BlE,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -1,8 +1,7 @@
1
1
  const defaultObfuscatedFields = [
2
2
  'password',
3
- 'plainPassword',
4
- 'newPlainPassword',
5
- 'oldPlainPassword',
3
+ 'newPassword',
4
+ 'oldPassword',
6
5
  'authorization',
7
6
  'secret',
8
7
  'accesskey',
@@ -1 +1 @@
1
- {"version":3,"file":"build-obfuscated-fields-filter.js","sourceRoot":"","sources":["../src/build-obfuscated-fields-filter.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG;IAC9B,UAAU;IACV,eAAe;IACf,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,QAAQ;IACR,WAAW;IACX,aAAa;IACb,OAAO;CACR,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,uBAAiC,EAAE,EAAE,EAAE;IAC1E,MAAM,eAAe,GAAG,oBAAoB,IAAI,uBAAuB,CAAC;IAExE,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,EAAE;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,CAAC,2BAA2B;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACvD,CAAC,CAAC;IAEF,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"build-obfuscated-fields-filter.js","sourceRoot":"","sources":["../src/build-obfuscated-fields-filter.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG;IAC9B,UAAU;IACV,aAAa;IACb,aAAa;IACb,eAAe;IACf,QAAQ;IACR,WAAW;IACX,aAAa;IACb,OAAO;CACR,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,uBAAiC,EAAE,EAAE,EAAE;IAC1E,MAAM,eAAe,GAAG,oBAAoB,IAAI,uBAAuB,CAAC;IAExE,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,EAAE;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,CAAC,2BAA2B;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACvD,CAAC,CAAC;IAEF,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IBasePricingSheet, PricingCalculation } from '@unchainedshop/types/pricing.js';
1
+ import { IBasePricingSheet, PricingCalculation } from './director/BasePricingSheet.js';
2
2
  export declare const roundToNext: (value: number, precision: number) => number;
3
3
  export declare const resolveRatioAndTaxDivisorForPricingSheet: (pricing: IBasePricingSheet<PricingCalculation>, total: number) => {
4
4
  ratio: number;
@@ -1 +1 @@
1
- {"version":3,"file":"calculation.d.ts","sourceRoot":"","sources":["../src/calculation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAExF,eAAO,MAAM,WAAW,UAAW,MAAM,aAAa,MAAM,WAClB,CAAC;AAE3C,eAAO,MAAM,wCAAwC,YAC1C,iBAAiB,CAAC,kBAAkB,CAAC,SACvC,MAAM;;;CAoBd,CAAC;AAEF,eAAO,MAAM,sBAAsB,kBAClB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,UAC5C,MAAM,WAQf,CAAC;AAEF,eAAO,MAAM,SAAS,kBAAmB;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,wBAG7E,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,QAAQ,MAAM,cAAc,OAAO,WAE5E,CAAC;AAEF,eAAO,MAAM,mBAAmB,0BACP;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,UACtD,MAAM,aAMf,CAAC;AAEF,eAAO,MAAM,6BAA6B,mCAQzC,CAAC"}
1
+ {"version":3,"file":"calculation.d.ts","sourceRoot":"","sources":["../src/calculation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEvF,eAAO,MAAM,WAAW,UAAW,MAAM,aAAa,MAAM,WAClB,CAAC;AAE3C,eAAO,MAAM,wCAAwC,YAC1C,iBAAiB,CAAC,kBAAkB,CAAC,SACvC,MAAM;;;CAoBd,CAAC;AAEF,eAAO,MAAM,sBAAsB,kBAClB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,UAC5C,MAAM,WAQf,CAAC;AAEF,eAAO,MAAM,SAAS,kBAAmB;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,wBAG7E,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,QAAQ,MAAM,cAAc,OAAO,WAE5E,CAAC;AAEF,eAAO,MAAM,mBAAmB,0BACP;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,UACtD,MAAM,aAMf,CAAC;AAEF,eAAO,MAAM,6BAA6B,mCAQzC,CAAC"}
@@ -1,3 +1,12 @@
1
- import { IBaseAdapter } from '@unchainedshop/types/common.js';
1
+ import { LogLevel } from '@unchainedshop/logger';
2
+ export interface IBaseAdapter {
3
+ key: string;
4
+ label: string;
5
+ version: string;
6
+ log: (message: string, options?: {
7
+ level?: LogLevel;
8
+ [x: string]: any;
9
+ }) => void;
10
+ }
2
11
  export declare const BaseAdapter: Omit<IBaseAdapter, 'key' | 'label' | 'version'>;
3
12
  //# sourceMappingURL=BaseAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAdapter.d.ts","sourceRoot":"","sources":["../../src/director/BaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,eAAO,MAAM,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAIvE,CAAC"}
1
+ {"version":3,"file":"BaseAdapter.d.ts","sourceRoot":"","sources":["../../src/director/BaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,CACH,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KAClB,KACE,IAAI,CAAC;CACX;AAED,eAAO,MAAM,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAIvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAdapter.js","sourceRoot":"","sources":["../../src/director/BaseAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAoD;IAC1E,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"BaseAdapter.js","sourceRoot":"","sources":["../../src/director/BaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAetD,MAAM,CAAC,MAAM,WAAW,GAAoD;IAC1E,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
@@ -1,4 +1,12 @@
1
- import { IBaseAdapter, IBaseDirector } from '@unchainedshop/types/common.js';
1
+ import { IBaseAdapter } from './BaseAdapter.js';
2
+ export interface IBaseDirector<Adapter extends IBaseAdapter> {
3
+ getAdapters: (options?: {
4
+ adapterFilter?: (adapter: Adapter) => boolean;
5
+ }) => Array<Adapter>;
6
+ getAdapter: (key: string) => Adapter;
7
+ registerAdapter: (A: Adapter) => void;
8
+ unregisterAdapter: (key: string) => boolean;
9
+ }
2
10
  export declare const BaseDirector: <AdapterType extends IBaseAdapter>(directorName: string, options?: {
3
11
  adapterSortKey?: string;
4
12
  adapterKeyField?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDirector.d.ts","sourceRoot":"","sources":["../../src/director/BaseDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG7E,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,YAAY,gBAC7C,MAAM,YACV;IACR,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,KACA,aAAa,CAAC,WAAW,CA8B3B,CAAC"}
1
+ {"version":3,"file":"BaseDirector.d.ts","sourceRoot":"","sources":["../../src/director/BaseDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,YAAY;IACzD,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7F,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,eAAO,MAAM,YAAY,GAAI,WAAW,SAAS,YAAY,gBAC7C,MAAM,YACV;IACR,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,KACA,aAAa,CAAC,WAAW,CA8B3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDirector.js","sourceRoot":"","sources":["../../src/director/BaseDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,YAAoB,EACpB,OAGC,EAC2B,EAAE;IAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;IAEnD,OAAO;QACL,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;YAClB,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC;YACpD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACjC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;iBACrD,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3B,GAAG,CACD,GAAG,YAAY,kBAAkB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAC/E,OAAO,CAAC,GACV,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,GAAG,CACzC,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,GAAG,CAAC,GAAG,YAAY,oBAAoB,GAAG,EAAE,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"BaseDirector.js","sourceRoot":"","sources":["../../src/director/BaseDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAU5C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,YAAoB,EACpB,OAGC,EAC2B,EAAE;IAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;IAEnD,OAAO;QACL,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;YAClB,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC;YACpD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACjC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;iBACrD,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3B,GAAG,CACD,GAAG,YAAY,kBAAkB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAC/E,OAAO,CAAC,GACV,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,GAAG,CACzC,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,GAAG,CAAC,GAAG,YAAY,oBAAoB,GAAG,EAAE,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,38 @@
1
- import { IDiscountAdapter } from '@unchainedshop/types/discount.js';
1
+ import { UnchainedCore } from '@unchainedshop/core';
2
+ import { IBaseAdapter } from './BaseAdapter.js';
3
+ import { IPricingSheet, PricingCalculation } from './BasePricingSheet.js';
4
+ export interface DiscountContext {
5
+ code?: string;
6
+ orderDiscount?: {
7
+ _id?: string;
8
+ orderId: string;
9
+ };
10
+ order?: {
11
+ _id?: string;
12
+ userId: string;
13
+ };
14
+ }
15
+ export type IDiscountAdapter<DiscountConfiguration> = IBaseAdapter & {
16
+ orderIndex: number;
17
+ isManualAdditionAllowed: (code: string) => Promise<boolean>;
18
+ isManualRemovalAllowed: () => Promise<boolean>;
19
+ actions: (params: {
20
+ context: DiscountContext & UnchainedCore;
21
+ }) => Promise<DiscountAdapterActions<DiscountConfiguration>>;
22
+ };
23
+ export interface DiscountAdapterActions<DiscountConfiguration> {
24
+ isValidForSystemTriggering: () => Promise<boolean>;
25
+ isValidForCodeTriggering: (params: {
26
+ code: string;
27
+ }) => Promise<boolean>;
28
+ discountForPricingAdapterKey: (params: {
29
+ pricingAdapterKey: string;
30
+ calculationSheet: IPricingSheet<PricingCalculation>;
31
+ }) => DiscountConfiguration;
32
+ reserve: (params: {
33
+ code: string;
34
+ }) => Promise<any>;
35
+ release: () => Promise<void>;
36
+ }
2
37
  export declare const BaseDiscountAdapter: Omit<IDiscountAdapter<unknown>, 'key' | 'label' | 'version'>;
3
38
  //# sourceMappingURL=BaseDiscountAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/director/BaseDiscountAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,eAAO,MAAM,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAqD5F,CAAC"}
1
+ {"version":3,"file":"BaseDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/director/BaseDiscountAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,MAAM,gBAAgB,CAAC,qBAAqB,IAAI,YAAY,GAAG;IACnE,UAAU,EAAE,MAAM,CAAC;IAEnB,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,sBAAsB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC;KAC1C,KAAK,OAAO,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,WAAW,sBAAsB,CAAC,qBAAqB;IAC3D,0BAA0B,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,wBAAwB,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,4BAA4B,EAAE,CAAC,MAAM,EAAE;QACrC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;KACrD,KAAK,qBAAqB,CAAC;IAE5B,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,CAqD5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDiscountAdapter.js","sourceRoot":"","sources":["../../src/director/BaseDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,MAAM,CAAC,MAAM,mBAAmB,GAAiE;IAC/F,UAAU,EAAE,CAAC;IAEb,uBAAuB,EAAE,KAAK,IAAI,EAAE;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpB,6DAA6D;QAC7D,sEAAsE;QACtE,0BAA0B;QAC1B,0CAA0C;QAC1C,0DAA0D;QAC1D,eAAe;QACf,2BAA2B;QAC3B,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,iFAAiF;QACjF,qFAAqF;QACrF,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,yEAAyE;QACzE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,0CAA0C;QAC1C,0DAA0D;QAC1D,eAAe;QACf,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,4BAA4B;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"BaseDiscountAdapter.js","sourceRoot":"","sources":["../../src/director/BaseDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAmCtD,MAAM,CAAC,MAAM,mBAAmB,GAAiE;IAC/F,UAAU,EAAE,CAAC;IAEb,uBAAuB,EAAE,KAAK,IAAI,EAAE;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACpB,6DAA6D;QAC7D,sEAAsE;QACtE,0BAA0B;QAC1B,0CAA0C;QAC1C,0DAA0D;QAC1D,eAAe;QACf,2BAA2B;QAC3B,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,iFAAiF;QACjF,qFAAqF;QACrF,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,yEAAyE;QACzE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,0CAA0C;QAC1C,0DAA0D;QAC1D,eAAe;QACf,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,4BAA4B;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
@@ -1,3 +1,13 @@
1
- import { IDiscountDirector } from '@unchainedshop/types/discount.js';
1
+ import { IBaseDirector } from './BaseDirector.js';
2
+ import { DiscountContext, IDiscountAdapter } from './BaseDiscountAdapter.js';
3
+ import { UnchainedCore } from '@unchainedshop/core';
4
+ export type IDiscountDirector<DiscountConfiguration> = IBaseDirector<IDiscountAdapter<DiscountConfiguration>> & {
5
+ actions: (discountContext: DiscountContext, unchainedAPI: UnchainedCore) => Promise<{
6
+ resolveDiscountKeyFromStaticCode: (params: {
7
+ code: string;
8
+ }) => Promise<string | null>;
9
+ findSystemDiscounts: () => Promise<Array<string>>;
10
+ }>;
11
+ };
2
12
  export declare const BaseDiscountDirector: <DiscountConfigurationType>(directorName: string) => IDiscountDirector<DiscountConfigurationType>;
3
13
  //# sourceMappingURL=BaseDiscountDirector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/director/BaseDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAIvF,eAAO,MAAM,oBAAoB,GAAI,yBAAyB,gBAC9C,MAAM,KACnB,iBAAiB,CAAC,yBAAyB,CAyD7C,CAAC"}
1
+ {"version":3,"file":"BaseDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/director/BaseDiscountDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,CAAC,qBAAqB,IAAI,aAAa,CAClE,gBAAgB,CAAC,qBAAqB,CAAC,CACxC,GAAG;IACF,OAAO,EAAE,CACP,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,aAAa,KACxB,OAAO,CAAC;QACX,gCAAgC,EAAE,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACvF,mBAAmB,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,yBAAyB,gBAC9C,MAAM,KACnB,iBAAiB,CAAC,yBAAyB,CAyD7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDiscountDirector.js","sourceRoot":"","sources":["../../src/director/BaseDiscountDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAoB,EAC0B,EAAE;IAChD,MAAM,YAAY,GAAG,YAAY,CAA8C,YAAY,EAAE;QAC3F,cAAc,EAAE,YAAY;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,YAAY;QAEf,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC;YAExD,OAAO;gBACL,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAClD,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBAEhC,GAAG,CAAC,0DAA0D,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE/E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,YAAY;yBACT,WAAW,EAAE;yBACb,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;yBACnE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;wBACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;wBACnD,OAAO;4BACL,GAAG,EAAE,OAAO,CAAC,GAAG;4BAChB,OAAO,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC;yBACzD,CAAC;oBACJ,CAAC,CAAC,CACL,CAAC;oBAEF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;gBAChE,CAAC;gBAED,KAAK,CAAC,mBAAmB;oBACvB,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,OAAO,EAAE,CAAC;oBAC9B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;wBAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;wBACnD,OAAO;4BACL,GAAG,EAAE,OAAO,CAAC,GAAG;4BAChB,OAAO,EAAE,MAAM,OAAO,CAAC,0BAA0B,EAAE;yBACpD,CAAC;oBACJ,CAAC,CAAC,CACH,CAAC;oBAEF,MAAM,cAAc,GAAG,SAAS;yBAC7B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;yBACzC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBAEzB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,GAAG,CAAC,6BAA6B,cAAc,CAAC,MAAM,mBAAmB,CAAC,CAAC;oBAC7E,CAAC;oBACD,OAAO,cAAc,CAAC;gBACxB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"BaseDiscountDirector.js","sourceRoot":"","sources":["../../src/director/BaseDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAgBhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAoB,EAC0B,EAAE;IAChD,MAAM,YAAY,GAAG,YAAY,CAA8C,YAAY,EAAE;QAC3F,cAAc,EAAE,YAAY;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,YAAY;QAEf,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC;YAExD,OAAO;gBACL,gCAAgC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAClD,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBAEhC,GAAG,CAAC,0DAA0D,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAE/E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,YAAY;yBACT,WAAW,EAAE;yBACb,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;yBACnE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;wBACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;wBACnD,OAAO;4BACL,GAAG,EAAE,OAAO,CAAC,GAAG;4BAChB,OAAO,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC;yBACzD,CAAC;oBACJ,CAAC,CAAC,CACL,CAAC;oBAEF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;gBAChE,CAAC;gBAED,KAAK,CAAC,mBAAmB;oBACvB,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,OAAO,EAAE,CAAC;oBAC9B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;wBAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;wBACnD,OAAO;4BACL,GAAG,EAAE,OAAO,CAAC,GAAG;4BAChB,OAAO,EAAE,MAAM,OAAO,CAAC,0BAA0B,EAAE;yBACpD,CAAC;oBACJ,CAAC,CAAC,CACH,CAAC;oBAEF,MAAM,cAAc,GAAG,SAAS;yBAC7B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;yBACzC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBAEzB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,GAAG,CAAC,6BAA6B,cAAc,CAAC,MAAM,mBAAmB,CAAC,CAAC;oBAC7E,CAAC;oBACD,OAAO,cAAc,CAAC;gBACxB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,46 @@
1
- import { BasePricingAdapterContext, IPricingSheet, IPricingAdapter, PricingCalculation } from '@unchainedshop/types/pricing.js';
2
- export declare const BasePricingAdapter: <Context extends BasePricingAdapterContext, Calculation extends PricingCalculation>() => IPricingAdapter<Context, Calculation, IPricingSheet<Calculation>>;
1
+ import { UnchainedCore } from '@unchainedshop/core';
2
+ import { User } from '@unchainedshop/core-users';
3
+ import { IPricingSheet, PricingCalculation } from './BasePricingSheet.js';
4
+ import { IBaseAdapter } from './BaseAdapter.js';
5
+ import { Discount } from './BasePricingDirector.js';
6
+ type Order = {
7
+ _id?: string;
8
+ };
9
+ type OrderDiscount = {
10
+ _id?: string;
11
+ };
12
+ interface IDiscountableItem {
13
+ _id?: string;
14
+ orderId?: string;
15
+ }
16
+ export interface BasePricingAdapterContext extends UnchainedCore {
17
+ order?: Order;
18
+ user: User;
19
+ discounts: Array<OrderDiscount>;
20
+ }
21
+ export type BasePricingContext = {
22
+ order?: Order;
23
+ user?: User;
24
+ discounts?: Array<OrderDiscount>;
25
+ } | {
26
+ item: IDiscountableItem;
27
+ };
28
+ export interface IPricingAdapterActions<Calculation extends PricingCalculation, PricingAdapterContext extends BasePricingAdapterContext> {
29
+ calculate: () => Promise<Array<Calculation>>;
30
+ getCalculation: () => Array<Calculation>;
31
+ getContext: () => PricingAdapterContext;
32
+ }
33
+ export type IPricingAdapter<PricingAdapterContext extends BasePricingAdapterContext, Calculation extends PricingCalculation, Sheet extends IPricingSheet<Calculation>, DiscountConfiguration = unknown> = IBaseAdapter & {
34
+ orderIndex: number;
35
+ isActivatedFor: (context: PricingAdapterContext) => boolean;
36
+ actions: (params: {
37
+ context: PricingAdapterContext;
38
+ calculationSheet: Sheet;
39
+ discounts: Array<Discount<DiscountConfiguration>>;
40
+ }) => IPricingAdapterActions<Calculation, PricingAdapterContext> & {
41
+ resultSheet: () => Sheet;
42
+ };
43
+ };
44
+ export declare const BasePricingAdapter: <PricingAdapterContext extends BasePricingAdapterContext, Calculation extends PricingCalculation>() => IPricingAdapter<PricingAdapterContext, Calculation, IPricingSheet<Calculation>>;
45
+ export {};
3
46
  //# sourceMappingURL=BasePricingAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePricingAdapter.d.ts","sourceRoot":"","sources":["../../src/director/BasePricingAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,eAAe,EACf,kBAAkB,EAEnB,MAAM,iCAAiC,CAAC;AAGzC,eAAO,MAAM,kBAAkB,GAC7B,OAAO,SAAS,yBAAyB,EACzC,WAAW,SAAS,kBAAkB,OACnC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CA4BnE,CAAC"}
1
+ {"version":3,"file":"BasePricingAdapter.d.ts","sourceRoot":"","sources":["../../src/director/BasePricingAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,KAAK,KAAK,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9B,KAAK,aAAa,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CAClC,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEN,MAAM,WAAW,sBAAsB,CACrC,WAAW,SAAS,kBAAkB,EACtC,qBAAqB,SAAS,yBAAyB;IAEvD,SAAS,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,cAAc,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,qBAAqB,CAAC;CACzC;AAED,MAAM,MAAM,eAAe,CACzB,qBAAqB,SAAS,yBAAyB,EACvD,WAAW,SAAS,kBAAkB,EACtC,KAAK,SAAS,aAAa,CAAC,WAAW,CAAC,EACxC,qBAAqB,GAAG,OAAO,IAC7B,YAAY,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC;IAE5D,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,qBAAqB,CAAC;QAC/B,gBAAgB,EAAE,KAAK,CAAC;QACxB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;KACnD,KAAK,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,KAAK,CAAA;KAAE,CAAC;CACjG,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,qBAAqB,SAAS,yBAAyB,EACvD,WAAW,SAAS,kBAAkB,OACnC,eAAe,CAAC,qBAAqB,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CA4BjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasePricingAdapter.js","sourceRoot":"","sources":["../../src/director/BasePricingAdapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAGqC,EAAE,CAAC,CAAC;IACzE,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAiD;YAC5D,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;YACjC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO;SACjC,CAAC;QAEF,OAAO,OAEN,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"BasePricingAdapter.js","sourceRoot":"","sources":["../../src/director/BasePricingAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAuDtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAGmD,EAAE,CAAC,CAAC;IACvF,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAA+D;YAC1E,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;YACjC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO;SACjC,CAAC;QAEF,OAAO,OAEN,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC"}
@@ -1,3 +1,16 @@
1
- import { BasePricingAdapterContext, BasePricingContext, IPricingDirector, IPricingAdapter, IPricingSheet, PricingCalculation } from '@unchainedshop/types/pricing.js';
1
+ import { IBaseDirector } from './BaseDirector.js';
2
+ import { UnchainedCore } from '@unchainedshop/core';
3
+ import { BasePricingAdapterContext, BasePricingContext, IPricingAdapter, IPricingAdapterActions } from './BasePricingAdapter.js';
4
+ import { IPricingSheet, PricingCalculation } from './BasePricingSheet.js';
5
+ export interface Discount<DiscountConfiguration> {
6
+ discountId: string;
7
+ configuration: DiscountConfiguration;
8
+ }
9
+ export type IPricingDirector<PricingContext extends BasePricingContext, Calculation extends PricingCalculation, PricingAdapterContext extends BasePricingAdapterContext, PricingAdapterSheet extends IPricingSheet<Calculation>, Adapter extends IPricingAdapter<PricingAdapterContext, Calculation, PricingAdapterSheet>> = IBaseDirector<Adapter> & {
10
+ buildPricingContext: (context: PricingContext, unchainedAPI: UnchainedCore) => Promise<PricingAdapterContext>;
11
+ actions: (pricingContext: PricingContext, unchainedAPI: UnchainedCore, buildPricingContext?: (pricingCtx: PricingContext, _unchainedAPI: UnchainedCore) => Promise<PricingAdapterContext>) => Promise<IPricingAdapterActions<Calculation, PricingAdapterContext> & {
12
+ calculationSheet: () => PricingAdapterSheet;
13
+ }>;
14
+ };
2
15
  export declare const BasePricingDirector: <DirectorContext extends BasePricingContext, AdapterContext extends BasePricingAdapterContext, Calculation extends PricingCalculation, PricingAdapter extends IPricingAdapter<AdapterContext, Calculation, IPricingSheet<Calculation>>>(directorName: string) => IPricingDirector<DirectorContext, Calculation, AdapterContext, IPricingSheet<Calculation>, PricingAdapter>;
3
16
  //# sourceMappingURL=BasePricingDirector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePricingDirector.d.ts","sourceRoot":"","sources":["../../src/director/BasePricingDirector.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAEnB,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,mBAAmB,GAC9B,eAAe,SAAS,kBAAkB,EAC1C,cAAc,SAAS,yBAAyB,EAChD,WAAW,SAAS,kBAAkB,EACtC,cAAc,SAAS,eAAe,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,gBAEjF,MAAM,KACnB,gBAAgB,CACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,CAAC,WAAW,CAAC,EAC1B,cAAc,CAgFf,CAAC"}
1
+ {"version":3,"file":"BasePricingDirector.d.ts","sourceRoot":"","sources":["../../src/director/BasePricingDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,MAAM,WAAW,QAAQ,CAAC,qBAAqB;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,qBAAqB,CAAC;CACtC;AAED,MAAM,MAAM,gBAAgB,CAC1B,cAAc,SAAS,kBAAkB,EACzC,WAAW,SAAS,kBAAkB,EACtC,qBAAqB,SAAS,yBAAyB,EACvD,mBAAmB,SAAS,aAAa,CAAC,WAAW,CAAC,EACtD,OAAO,SAAS,eAAe,CAAC,qBAAqB,EAAE,WAAW,EAAE,mBAAmB,CAAC,IACtF,aAAa,CAAC,OAAO,CAAC,GAAG;IAC3B,mBAAmB,EAAE,CACnB,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,aAAa,KACxB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC,OAAO,EAAE,CACP,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,aAAa,EAC3B,mBAAmB,CAAC,EAAE,CACpB,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,aAAa,KACzB,OAAO,CAAC,qBAAqB,CAAC,KAChC,OAAO,CACV,sBAAsB,CAAC,WAAW,EAAE,qBAAqB,CAAC,GAAG;QAC3D,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;KAC7C,CACF,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,eAAe,SAAS,kBAAkB,EAC1C,cAAc,SAAS,yBAAyB,EAChD,WAAW,SAAS,kBAAkB,EACtC,cAAc,SAAS,eAAe,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,gBAEjF,MAAM,KACnB,gBAAgB,CACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,CAAC,WAAW,CAAC,EAC1B,cAAc,CAgFf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasePricingDirector.js","sourceRoot":"","sources":["../../src/director/BasePricingDirector.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAMjC,YAAoB,EAOpB,EAAE;IACF,MAAM,YAAY,GAAG,YAAY,CAAiB,YAAY,EAAE;QAC9D,cAAc,EAAE,YAAY;KAC7B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAMV;QACF,GAAG,YAAY;QACf,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC9B,OAAO,EAAoB,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE;YACnE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAExE,IAAI,WAAW,GAAuB,EAAE,CAAC;YAEzC,MAAM,OAAO,GAAwD;gBACnE,KAAK,CAAC,SAAS;oBACb,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC;wBACxC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;4BACzB,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBACzC,CAAC;qBACF,CAAC,CAAC;oBAEH,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;wBACrE,MAAM,mBAAmB,GAAG,MAAM,eAAe,CAAC;wBAClD,IAAI,CAAC,mBAAmB;4BAAE,OAAO,IAAI,CAAC;wBAEtC,MAAM,SAAS,GAAyB,MAAM,OAAO,CAAC,GAAG,CACvD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;4BACzC,UAAU,EAAE,QAAQ,CAAC,GAAG;4BACxB,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,iCAAiC,CACrF,QAAQ,EACR,OAAO,CAAC,GAAG,EACX,IAAI,CAAC,gBAAgB,EAAE,EACvB,OAAO,CACR;yBACF,CAAC,CAAC,CACJ,CAAC;wBAEF,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gCAC9B,OAAO;gCACP,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;gCACzC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,KAAK,IAAI,CAAC;6BAC3E,CAAC,CAAC;4BAEH,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;4BACxD,IAAI,CAAC,qBAAqB;gCAAE,OAAO,IAAI,CAAC;4BACxC,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;4BAChE,OAAO,WAAW,CAAC;wBACrB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBACxC,CAAC;wBACD,OAAO,mBAAmB,CAAC;oBAC7B,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;oBAExB,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,cAAc;oBACZ,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,UAAU;oBACR,OAAO,OAAO,CAAC;gBACjB,CAAC;aACF,CAAC;YAEF,OAAO,OAEN,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"BasePricingDirector.js","sourceRoot":"","sources":["../../src/director/BasePricingDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAuChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAMjC,YAAoB,EAOpB,EAAE;IACF,MAAM,YAAY,GAAG,YAAY,CAAiB,YAAY,EAAE;QAC9D,cAAc,EAAE,YAAY;KAC7B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAMV;QACF,GAAG,YAAY;QACf,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC9B,OAAO,EAAoB,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE;YACnE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAExE,IAAI,WAAW,GAAuB,EAAE,CAAC;YAEzC,MAAM,OAAO,GAAwD;gBACnE,KAAK,CAAC,SAAS;oBACb,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC;wBACxC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;4BACzB,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBACzC,CAAC;qBACF,CAAC,CAAC;oBAEH,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;wBACrE,MAAM,mBAAmB,GAAG,MAAM,eAAe,CAAC;wBAClD,IAAI,CAAC,mBAAmB;4BAAE,OAAO,IAAI,CAAC;wBAEtC,MAAM,SAAS,GAAyB,MAAM,OAAO,CAAC,GAAG,CACvD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;4BACzC,UAAU,EAAE,QAAQ,CAAC,GAAG;4BACxB,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,iCAAiC,CACrF,QAAe,EACf,OAAO,CAAC,GAAG,EACX,IAAI,CAAC,gBAAgB,EAAE,EACvB,OAAc,CACf;yBACF,CAAC,CAAC,CACJ,CAAC;wBAEF,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gCAC9B,OAAO;gCACP,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;gCACzC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,KAAK,IAAI,CAAC;6BAC3E,CAAC,CAAC;4BAEH,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;4BACxD,IAAI,CAAC,qBAAqB;gCAAE,OAAO,IAAI,CAAC;4BACxC,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;4BAChE,OAAO,WAAW,CAAC;wBACrB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBACxC,CAAC;wBACD,OAAO,mBAAmB,CAAC;oBAC7B,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;oBAExB,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,cAAc;oBACZ,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,UAAU;oBACR,OAAO,OAAO,CAAC;gBACjB,CAAC;aACF,CAAC;YAEF,OAAO,OAEN,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -1,3 +1,47 @@
1
- import { PricingCalculation, IBasePricingSheet, PricingSheetParams } from '@unchainedshop/types/pricing.js';
1
+ export interface PricingCalculation {
2
+ category: string;
3
+ amount: number;
4
+ baseCategory?: string;
5
+ meta?: any;
6
+ }
7
+ export interface PricingDiscount {
8
+ discountId: string;
9
+ amount: number;
10
+ currency: string;
11
+ }
12
+ export interface IPricingSheet<Calculation extends PricingCalculation> extends IBasePricingSheet<Calculation> {
13
+ discountPrices: (discountId?: string) => Array<PricingDiscount>;
14
+ addDiscount: (params: {
15
+ amount: number;
16
+ discountId: string;
17
+ meta?: any;
18
+ }) => void;
19
+ }
20
+ export interface IBasePricingSheet<Calculation extends PricingCalculation> {
21
+ calculation: Array<Calculation>;
22
+ currency?: string;
23
+ quantity?: number;
24
+ getRawPricingSheet: () => Array<Calculation>;
25
+ filterBy: (filter?: Partial<Calculation>) => Array<Calculation>;
26
+ isValid: () => boolean;
27
+ gross: () => number;
28
+ net: () => number;
29
+ sum: (filter?: Partial<Calculation>) => number;
30
+ total: (params?: {
31
+ category?: string;
32
+ discountId?: string;
33
+ useNetPrice?: boolean;
34
+ }) => {
35
+ amount: number;
36
+ currency: string;
37
+ };
38
+ taxSum: (filter?: Partial<Calculation>) => number;
39
+ resetCalculation: (sheetToInvert: IBasePricingSheet<Calculation>) => Array<Calculation>;
40
+ }
41
+ export interface PricingSheetParams<Calculation extends PricingCalculation> {
42
+ calculation?: Array<Calculation>;
43
+ currency?: string;
44
+ quantity?: number;
45
+ }
2
46
  export declare const BasePricingSheet: <Calculation extends PricingCalculation>(params: PricingSheetParams<Calculation>) => IBasePricingSheet<Calculation>;
3
47
  //# sourceMappingURL=BasePricingSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePricingSheet.d.ts","sourceRoot":"","sources":["../../src/director/BasePricingSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,kBAAkB,UAC7D,kBAAkB,CAAC,WAAW,CAAC,KACtC,iBAAiB,CAAC,WAAW,CAwE/B,CAAC"}
1
+ {"version":3,"file":"BasePricingSheet.d.ts","sourceRoot":"","sources":["../../src/director/BasePricingSheet.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AACD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa,CAAC,WAAW,SAAS,kBAAkB,CACnE,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IACtC,cAAc,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC;IAChE,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,iBAAiB,CAAC,WAAW,SAAS,kBAAkB;IACvE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kBAAkB,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,EAAE,MAAM,OAAO,CAAC;IAEvB,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK;QACrF,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;IAElD,gBAAgB,EAAE,CAAC,aAAa,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,kBAAkB,CAAC,WAAW,SAAS,kBAAkB;IACxE,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,GAAI,WAAW,SAAS,kBAAkB,UAC7D,kBAAkB,CAAC,WAAW,CAAC,KACtC,iBAAiB,CAAC,WAAW,CAwE/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasePricingSheet.js","sourceRoot":"","sources":["../../src/director/BasePricingSheet.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAuC,EACP,EAAE;IAClC,MAAM,YAAY,GAAmC;QACnD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QAEzB,kBAAkB;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,CAAC,MAAM;YACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;iBACzB,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,CAAC,GAAW,EAAE,cAA2B,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM;YACJ,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK;YACH,kEAAkE;YAClE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,GAAG;YACD,yCAAyC;YACzC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAClD,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjF,iHAAiH;YACjH,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC;YAErE,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,oBAAoB,CAAC;gBAC9E,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,MAAM;YACb,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,CAC5B,cAAc,CAAC,MAAM,CACnB,CAAC,GAAgB,EAAE,EAAE,CACnB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CACrF,EACH,IAAI,CAAC,WAAW,CACjB,CAAC;YAEF,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,gBAAgB,CAAC,gBAAgB;YAC/B,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,EAAe,EAAE,EAAE;gBACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,GAAG,GAAG;oBACN,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;iBACL,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;KACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"BasePricingSheet.js","sourceRoot":"","sources":["../../src/director/BasePricingSheet.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAuC,EACP,EAAE;IAClC,MAAM,YAAY,GAAmC;QACnD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QAEzB,kBAAkB;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,CAAC,MAAM;YACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;iBACzB,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,CAAC,GAAW,EAAE,cAA2B,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM;YACJ,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK;YACH,kEAAkE;YAClE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,GAAG;YACD,yCAAyC;YACzC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAClD,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjF,iHAAiH;YACjH,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC;YAErE,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,oBAAoB,CAAC;gBAC9E,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,MAAM;YACb,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,CAC5B,cAAc,CAAC,MAAM,CACnB,CAAC,GAAgB,EAAE,EAAE,CACnB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CACrF,EACH,IAAI,CAAC,WAAW,CACjB,CAAC;YAEF,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,gBAAgB,CAAC,gBAAgB;YAC/B,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,EAAe,EAAE,EAAE;gBACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,GAAG,GAAG;oBACN,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;iBACL,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;KACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
@@ -1,11 +1,7 @@
1
- import { Currency } from '@unchainedshop/types/currencies.js';
2
- import type { Locale as LocaleType, Locales as LocalesType } from 'locale';
3
- export declare const systemLocale: LocaleType;
4
- export declare const resolveBestSupported: (acceptLanguage: string, supportedLocales: LocalesType) => LocaleType;
5
- export declare const resolveBestCountry: (localeCountry: any, shopCountry: any, countries: any) => any;
6
- export declare const resolveBestCurrency: (localeCurrency: any, currencies: Array<Currency>) => string;
7
- export declare const resolveUserRemoteAddress: (req: any) => {
8
- remoteAddress: any;
9
- remotePort: any;
10
- };
1
+ import { Country } from '@unchainedshop/core-countries';
2
+ import { Currency } from '@unchainedshop/core-currencies';
3
+ export declare const systemLocale: Intl.Locale;
4
+ export declare const resolveBestSupported: (acceptLanguage: string, supportedLocales: Array<string>, fallbackLocale: string) => Intl.Locale;
5
+ export declare const resolveBestCountry: (localeCountry: string, shopCountry: string, countries: Array<Country>) => string;
6
+ export declare const resolveBestCurrency: (localeCurrency: string, currencies: Array<Currency>) => string;
11
7
  //# sourceMappingURL=locale-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale-helpers.d.ts","sourceRoot":"","sources":["../src/locale-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAO3E,eAAO,MAAM,YAAY,YAAuD,CAAC;AAEjF,eAAO,MAAM,oBAAoB,mBACf,MAAM,oBACJ,WAAW,KAC5B,UAKF,CAAC;AAEF,eAAO,MAAM,kBAAkB,+DAa9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,oCAAgC,KAAK,CAAC,QAAQ,CAAC,WAc9E,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;CAYpC,CAAC"}
1
+ {"version":3,"file":"locale-helpers.d.ts","sourceRoot":"","sources":["../src/locale-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAK1D,eAAO,MAAM,YAAY,aAA4D,CAAC;AAEtF,eAAO,MAAM,oBAAoB,mBACf,MAAM,oBACJ,KAAK,CAAC,MAAM,CAAC,kBACf,MAAM,KACrB,IAAI,CAAC,MAKP,CAAC;AAEF,eAAO,MAAM,kBAAkB,kBACd,MAAM,eACR,MAAM,aACR,KAAK,CAAC,OAAO,CAAC,WAc1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,MAAM,cAAc,KAAK,CAAC,QAAQ,CAAC,WActF,CAAC"}
@@ -1,13 +1,11 @@
1
- import localePkg from 'locale';
2
- const { Locales, Locale } = localePkg;
1
+ import { resolveAcceptLanguage } from 'resolve-accept-language';
3
2
  const { UNCHAINED_LANG = 'de', UNCHAINED_COUNTRY = 'CH', UNCHAINED_CURRENCY = 'CHF' } = process.env;
4
- export const systemLocale = new Locale(`${UNCHAINED_LANG}-${UNCHAINED_COUNTRY}`);
5
- export const resolveBestSupported = (acceptLanguage, supportedLocales) => {
6
- const acceptLocale = new Locales(acceptLanguage);
7
- const bestLocale = acceptLocale.best(supportedLocales);
8
- if (!bestLocale)
9
- return systemLocale;
10
- return bestLocale;
3
+ export const systemLocale = new Intl.Locale(`${UNCHAINED_LANG}-${UNCHAINED_COUNTRY}`);
4
+ export const resolveBestSupported = (acceptLanguage, supportedLocales, fallbackLocale) => {
5
+ const { match } = resolveAcceptLanguage(acceptLanguage || '', supportedLocales, fallbackLocale, {
6
+ returnMatchType: true,
7
+ });
8
+ return new Intl.Locale(match);
11
9
  };
12
10
  export const resolveBestCountry = (localeCountry, shopCountry, countries) => {
13
11
  if (shopCountry) {
@@ -21,7 +19,7 @@ export const resolveBestCountry = (localeCountry, shopCountry, countries) => {
21
19
  return resolvedCountry;
22
20
  }
23
21
  }
24
- return localeCountry || systemLocale.country;
22
+ return localeCountry || systemLocale.region;
25
23
  };
26
24
  export const resolveBestCurrency = (localeCurrency, currencies) => {
27
25
  if (localeCurrency) {
@@ -36,13 +34,4 @@ export const resolveBestCurrency = (localeCurrency, currencies) => {
36
34
  }
37
35
  return currencies?.[0]?.isoCode || UNCHAINED_CURRENCY;
38
36
  };
39
- export const resolveUserRemoteAddress = (req) => {
40
- const remoteAddress = req.headers['x-real-ip'] ||
41
- req.headers['x-forwarded-for'] ||
42
- req.connection?.remoteAddress ||
43
- req.socket?.remoteAddress ||
44
- req.connection?.socket?.remoteAddress;
45
- const remotePort = req.connection?.remotePort || req.socket?.remotePort || req.connection?.socket?.remotePort;
46
- return { remoteAddress, remotePort };
47
- };
48
37
  //# sourceMappingURL=locale-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale-helpers.js","sourceRoot":"","sources":["../src/locale-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,QAAQ,CAAC;AAE/B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AAEtC,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAAE,kBAAkB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEpG,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,IAAI,iBAAiB,EAAE,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,cAAsB,EACtB,gBAA6B,EACjB,EAAE;IACd,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,YAAY,CAAC;IACrC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;IAC1E,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE;YACjE,IAAI,WAAW,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,OAAO,OAAO,CAAC,OAAO,CAAC;YACzB,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,aAAa,IAAI,YAAY,CAAC,OAAO,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,UAA2B,EAAE,EAAE;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC;QAC5F,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC,OAAO,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;IAChG,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,kBAAkB,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,EAAE;IAC9C,MAAM,aAAa,GACjB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;QACxB,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC9B,GAAG,CAAC,UAAU,EAAE,aAAa;QAC7B,GAAG,CAAC,MAAM,EAAE,aAAa;QACzB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC;IAExC,MAAM,UAAU,GACd,GAAG,CAAC,UAAU,EAAE,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;IAE7F,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"locale-helpers.js","sourceRoot":"","sources":["../src/locale-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAAE,kBAAkB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEpG,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,IAAI,iBAAiB,EAAE,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,cAAsB,EACtB,gBAA+B,EAC/B,cAAsB,EACT,EAAE;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,cAAc,IAAI,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE;QAC9F,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,aAAqB,EACrB,WAAmB,EACnB,SAAyB,EACzB,EAAE;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAS,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE;YACzE,IAAI,WAAW,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,OAAO,OAAO,CAAC,OAAO,CAAC;YACzB,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,aAAa,IAAI,YAAY,CAAC,MAAM,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAsB,EAAE,UAA2B,EAAE,EAAE;IACzF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC;QAC5F,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC,OAAO,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;IAChG,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,kBAAkB,CAAC;AACxD,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- declare const invertMapObject: (theMapObject: any) => {};
1
+ declare const invertMapObject: (theMapObject: Record<string, string>) => Record<string, string>;
2
2
  export default invertMapObject;
3
3
  //# sourceMappingURL=object-invert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-invert.d.ts","sourceRoot":"","sources":["../src/object-invert.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,2BAKb,CAAC;AAET,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"object-invert.d.ts","sourceRoot":"","sources":["../src/object-invert.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,iBAAkB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7E,CAAC;AAET,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"object-invert.js","sourceRoot":"","sources":["../src/object-invert.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,EAAE,CACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"object-invert.js","sourceRoot":"","sources":["../src/object-invert.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAC,YAAoC,EAA0B,EAAE,CACvF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,eAAe,eAAe,CAAC"}
@@ -7,12 +7,21 @@ export { default as pipePromises } from './pipe-promises.js';
7
7
  export { default as generateRandomHash } from './generate-random-hash.js';
8
8
  export { default as randomValueHex } from './random-value-hex.js';
9
9
  export { default as buildObfuscatedFieldsFilter } from './build-obfuscated-fields-filter.js';
10
- export { Schemas } from './schemas/index.js';
11
- export { BaseAdapter } from './director/BaseAdapter.js';
12
- export { BaseDirector } from './director/BaseDirector.js';
13
- export { BasePricingAdapter } from './director/BasePricingAdapter.js';
14
- export { BasePricingDirector } from './director/BasePricingDirector.js';
15
- export { BasePricingSheet } from './director/BasePricingSheet.js';
16
- export { BaseDiscountAdapter } from './director/BaseDiscountAdapter.js';
17
- export { BaseDiscountDirector } from './director/BaseDiscountDirector.js';
10
+ export declare enum SortDirection {
11
+ ASC = "ASC",
12
+ DESC = "DESC"
13
+ }
14
+ export type SortOption = {
15
+ key: string;
16
+ value: SortDirection;
17
+ };
18
+ export type NodeOrTree<T> = string | Tree<T>;
19
+ export type Tree<T> = Array<NodeOrTree<T>>;
20
+ export * from './director/BaseAdapter.js';
21
+ export * from './director/BaseDirector.js';
22
+ export * from './director/BasePricingAdapter.js';
23
+ export * from './director/BasePricingDirector.js';
24
+ export * from './director/BasePricingSheet.js';
25
+ export * from './director/BaseDiscountAdapter.js';
26
+ export * from './director/BaseDiscountDirector.js';
18
27
  //# sourceMappingURL=utils-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-index.d.ts","sourceRoot":"","sources":["../src/utils-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAM7F,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAM7C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"utils-index.d.ts","sourceRoot":"","sources":["../src/utils-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAM7F,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAK3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAE/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC"}
@@ -10,76 +10,19 @@ export { default as buildObfuscatedFieldsFilter } from './build-obfuscated-field
10
10
  /*
11
11
  * Schemas
12
12
  */
13
- export { Schemas } from './schemas/index.js';
13
+ export var SortDirection;
14
+ (function (SortDirection) {
15
+ SortDirection["ASC"] = "ASC";
16
+ SortDirection["DESC"] = "DESC";
17
+ })(SortDirection || (SortDirection = {}));
14
18
  /*
15
19
  * Director
16
20
  */
17
- export { BaseAdapter } from './director/BaseAdapter.js';
18
- export { BaseDirector } from './director/BaseDirector.js';
19
- export { BasePricingAdapter } from './director/BasePricingAdapter.js';
20
- export { BasePricingDirector } from './director/BasePricingDirector.js';
21
- export { BasePricingSheet } from './director/BasePricingSheet.js';
22
- export { BaseDiscountAdapter } from './director/BaseDiscountAdapter.js';
23
- export { BaseDiscountDirector } from './director/BaseDiscountDirector.js';
24
- /*
25
-
26
- function resolveBestCountry(
27
- contextCountry: string,
28
- headerCountry: string | string[],
29
- countries: Array<Country>,
30
- ): string;
31
- function resolveUserRemoteAddress(req: IncomingMessage): {
32
- remoteAddress: string;
33
- remotePort: string;
34
- };
35
-
36
- function objectInvert(obj: Record<string, string>): Record<string, string>;
37
-
38
- const systemLocale: Locale;
39
-
40
- const Schemas: {
41
- timestampFields: TimestampFields;
42
- User: SimpleSchema;
43
- Address: SimpleSchema;
44
- Contact: SimpleSchema;
45
- };
46
-
47
- // Director
48
- const BaseAdapter: IBaseAdapter;
49
- const BaseDirector: <Adapter extends IBaseAdapter>(
50
- directorName: string,
51
- options?: {
52
- adapterSortKey?: string;
53
- adapterKeyField?: string;
54
- },
55
- ) => IBaseDirector<Adapter>;
56
-
57
- const BaseDiscountAdapter: Omit<IDiscountAdapter, 'key' | 'label' | 'version'>;
58
- const BaseDiscountDirector: (directorName: string) => IDiscountDirector;
59
-
60
- const BasePricingAdapter: <
61
- AdapterContext extends BasePricingAdapterContext,
62
- Calculation extends PricingCalculation,
63
- >() => IPricingAdapter<AdapterContext, Calculation, IPricingSheet<Calculation>>;
64
-
65
- const BasePricingDirector: <
66
- PricingContext extends BasePricingContext,
67
- AdapterPricingContext extends BasePricingAdapterContext,
68
- Calculation extends PricingCalculation,
69
- Adapter extends IPricingAdapter<AdapterPricingContext, Calculation, IPricingSheet<Calculation>>,
70
- >(
71
- directorName: string,
72
- ) => IPricingDirector<
73
- PricingContext,
74
- Calculation,
75
- AdapterPricingContext,
76
- IPricingSheet<Calculation>,
77
- Adapter
78
- >;
79
-
80
- const BasePricingSheet: <Calculation extends PricingCalculation>(
81
- params: PricingSheetParams<Calculation>,
82
- ) => IBasePricingSheet<Calculation>;
83
-
84
- */
21
+ export * from './director/BaseAdapter.js';
22
+ export * from './director/BaseDirector.js';
23
+ export * from './director/BasePricingAdapter.js';
24
+ export * from './director/BasePricingDirector.js';
25
+ export * from './director/BasePricingSheet.js';
26
+ export * from './director/BaseDiscountAdapter.js';
27
+ export * from './director/BaseDiscountDirector.js';
85
28
  //# sourceMappingURL=utils-index.js.map