@plentymarkets/shop-api 0.166.0 → 0.167.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.
Files changed (59) hide show
  1. package/lib/__tests__/__fixtures__/Facet.d.ts.map +1 -1
  2. package/lib/__tests__/__fixtures__/Product.d.ts.map +1 -1
  3. package/lib/api/doSavePreferredDeliveryServices/index.d.ts.map +1 -1
  4. package/lib/api/getFacet/index.d.ts.map +1 -1
  5. package/lib/api/getProduct/index.d.ts.map +1 -1
  6. package/lib/getters/__tests__/fixtures/BreadcrumbsFixture.d.ts +5 -0
  7. package/lib/getters/__tests__/fixtures/BreadcrumbsFixture.d.ts.map +1 -0
  8. package/lib/getters/__tests__/unit/breadcrumbGetters.unit.spec.d.ts +2 -0
  9. package/lib/getters/__tests__/unit/breadcrumbGetters.unit.spec.d.ts.map +1 -0
  10. package/lib/getters/breadcrumbGetters.d.ts +7 -0
  11. package/lib/getters/breadcrumbGetters.d.ts.map +1 -0
  12. package/lib/getters/index.d.ts +1 -0
  13. package/lib/getters/index.d.ts.map +1 -1
  14. package/lib/getters/productGetters.d.ts +3 -3
  15. package/lib/helpers/email.helper.d.ts.map +1 -1
  16. package/lib/index.cjs.js +94 -104
  17. package/lib/index.cjs.js.map +1 -1
  18. package/lib/index.es.js +94 -105
  19. package/lib/index.es.js.map +1 -1
  20. package/lib/index.server.d.ts.map +1 -1
  21. package/lib/types/api/breadcrumbs.d.ts +7 -0
  22. package/lib/types/api/breadcrumbs.d.ts.map +1 -0
  23. package/lib/types/api/facet.d.ts +2 -2
  24. package/lib/types/api/facet.d.ts.map +1 -1
  25. package/lib/types/api/index.d.ts +1 -0
  26. package/lib/types/api/index.d.ts.map +1 -1
  27. package/lib/types/api/product.d.ts +3 -2
  28. package/lib/types/api/product.d.ts.map +1 -1
  29. package/lib/types/config/index.d.ts +0 -2
  30. package/lib/types/config/index.d.ts.map +1 -1
  31. package/package.json +8 -9
  32. package/server/__tests__/__fixtures__/Facet.d.ts.map +1 -1
  33. package/server/__tests__/__fixtures__/Product.d.ts.map +1 -1
  34. package/server/api/doSavePreferredDeliveryServices/index.d.ts.map +1 -1
  35. package/server/api/getFacet/index.d.ts.map +1 -1
  36. package/server/api/getProduct/index.d.ts.map +1 -1
  37. package/server/getters/__tests__/fixtures/BreadcrumbsFixture.d.ts +5 -0
  38. package/server/getters/__tests__/fixtures/BreadcrumbsFixture.d.ts.map +1 -0
  39. package/server/getters/__tests__/unit/breadcrumbGetters.unit.spec.d.ts +2 -0
  40. package/server/getters/__tests__/unit/breadcrumbGetters.unit.spec.d.ts.map +1 -0
  41. package/server/getters/breadcrumbGetters.d.ts +7 -0
  42. package/server/getters/breadcrumbGetters.d.ts.map +1 -0
  43. package/server/getters/index.d.ts +1 -0
  44. package/server/getters/index.d.ts.map +1 -1
  45. package/server/getters/productGetters.d.ts +3 -3
  46. package/server/helpers/email.helper.d.ts.map +1 -1
  47. package/server/index.d.ts.map +1 -1
  48. package/server/index.js +74 -97
  49. package/server/index.js.map +1 -1
  50. package/server/types/api/breadcrumbs.d.ts +7 -0
  51. package/server/types/api/breadcrumbs.d.ts.map +1 -0
  52. package/server/types/api/facet.d.ts +2 -2
  53. package/server/types/api/facet.d.ts.map +1 -1
  54. package/server/types/api/index.d.ts +1 -0
  55. package/server/types/api/index.d.ts.map +1 -1
  56. package/server/types/api/product.d.ts +3 -2
  57. package/server/types/api/product.d.ts.map +1 -1
  58. package/server/types/config/index.d.ts +0 -2
  59. package/server/types/config/index.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Facet.d.ts","sourceRoot":"","sources":["../../../src/__tests__/__fixtures__/Facet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,QAAA,MAAM,YAAY,EAAE,KAwoEnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"Facet.d.ts","sourceRoot":"","sources":["../../../src/__tests__/__fixtures__/Facet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,QAAA,MAAM,YAAY,EAAE,KAspEnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Product.d.ts","sourceRoot":"","sources":["../../../src/__tests__/__fixtures__/Product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,QAAA,MAAM,cAAc,EAAE,OAqWrB,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,uBAAuB,EAWvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"Product.d.ts","sourceRoot":"","sources":["../../../src/__tests__/__fixtures__/Product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,QAAA,MAAM,cAAc,EAAE,OA4WrB,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,uBAAuB,EAWvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/doSavePreferredDeliveryServices/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,oCAAoC,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,GAC1C,SAAS,+BAA+B,EACxC,QAAQ,oCAAoC,KAC3C,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CASpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/doSavePreferredDeliveryServices/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,oCAAoC,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,GAC1C,SAAS,+BAA+B,EACxC,QAAQ,oCAAoC,KAC3C,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CASpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getFacet/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAGL,mBAAmB,EACnB,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,+BAA+B,EACxC,QAAQ,mBAAmB,KAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAgFrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getFacet/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAGL,mBAAmB,EACnB,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,+BAA+B,EACxC,QAAQ,mBAAmB,KAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAoErB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getProduct/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAEL,OAAO,EACP,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAItE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,+BAA+B,EACxC,QAAQ,aAAa,KACpB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CA8CvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/getProduct/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAEL,OAAO,EACP,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,+BAA+B,EACxC,QAAQ,aAAa,KACpB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CA+BvB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const MappedBreadcrumbsFixture: {
2
+ name: string;
3
+ link: string;
4
+ }[];
5
+ //# sourceMappingURL=BreadcrumbsFixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BreadcrumbsFixture.d.ts","sourceRoot":"","sources":["../../../../src/getters/__tests__/fixtures/BreadcrumbsFixture.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;GASpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=breadcrumbGetters.unit.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbGetters.unit.spec.d.ts","sourceRoot":"","sources":["../../../../src/getters/__tests__/unit/breadcrumbGetters.unit.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { Breadcrumb, CategoryBreadcrumb } from 'src/types';
2
+ declare function mapFromCategoryBreadcrumbs(categoryBreadcrumbs: CategoryBreadcrumb[]): Breadcrumb[];
3
+ export declare const breadcrumbGetters: {
4
+ mapFromCategoryBreadcrumbs: typeof mapFromCategoryBreadcrumbs;
5
+ };
6
+ export {};
7
+ //# sourceMappingURL=breadcrumbGetters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbGetters.d.ts","sourceRoot":"","sources":["../../src/getters/breadcrumbGetters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEhE,iBAAS,0BAA0B,CACjC,mBAAmB,EAAE,kBAAkB,EAAE,GACxC,UAAU,EAAE,CAOd;AAED,eAAO,MAAM,iBAAiB;;CAE7B,CAAC"}
@@ -37,4 +37,5 @@ export { manufacturerGetters } from './manufacturerGetters';
37
37
  export { productSeoSettingsGetters } from './productSeoSettingsGetters';
38
38
  export { robotGetters } from './robotGetters';
39
39
  export { barcodeGetters } from './barcodeGetters';
40
+ export { breadcrumbGetters } from './breadcrumbGetters';
40
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -119,9 +119,9 @@ export declare const productGetters: {
119
119
  getSpecialOffer: (product: Product) => number | null;
120
120
  getPrice: (product: Product) => number | null;
121
121
  getLowestPrice: (product: Product) => number | null;
122
- getGraduatedPrices: (product: Product) => import("../types").Default[];
123
- getGraduatedPriceByQuantity: (product: Product, quantity: number) => import("../types").Default | null;
124
- getGraduatedList: (product: Product) => import("../types").GraduatedPriceList[];
122
+ getGraduatedPrices: (product: Product) => import("..").Default[];
123
+ getGraduatedPriceByQuantity: (product: Product, quantity: number) => import("..").Default | null;
124
+ getGraduatedList: (product: Product) => import("..").GraduatedPriceList[];
125
125
  getCheapestGraduatedPrice: (product: Product) => number;
126
126
  getDefaultBasePrice: (product: Product) => string;
127
127
  showPricePerUnit: (product: Product) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"email.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/email.helper.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,UA+B5B,CAAC;AACF,eAAO,MAAM,aAAa,qBAIzB,CAAC;AAiCF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAgB7C,CAAC"}
1
+ {"version":3,"file":"email.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/email.helper.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UA8B5B,CAAC;AACF,eAAO,MAAM,aAAa,qBAIzB,CAAC;AAiCF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAgB7C,CAAC"}
package/lib/index.cjs.js CHANGED
@@ -4,6 +4,23 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('consola');
6
6
 
7
+ function getMappedCartItems(basketItems) {
8
+ return basketItems.map((basketItem) => {
9
+ return {
10
+ ...basketItem,
11
+ variation: basketItem.variation.data,
12
+ };
13
+ });
14
+ }
15
+
16
+ function roundedToOption(numberToRound, roundOption) {
17
+ if (roundOption === 'half')
18
+ return Math.floor(numberToRound * 2) / 2;
19
+ if (roundOption === 'tenth')
20
+ return Math.round(numberToRound * 10) / 10;
21
+ return numberToRound;
22
+ }
23
+
7
24
  exports.AddressType = void 0;
8
25
  (function (AddressType) {
9
26
  AddressType[AddressType["Billing"] = 1] = "Billing";
@@ -42,83 +59,6 @@ class ApiError {
42
59
  }
43
60
  }
44
61
 
45
- /**
46
- * Method getBlocks - Used to get the blocks for a page/category/item.
47
- *
48
- * @remarks
49
- * * Calls /rest/storefront/blocks
50
- * * Method should be used to get the blocks for a page/category/item.
51
- *
52
- * @param { GetBlocksParams } params
53
- * identifier: id of the category/item or url of immutable page.
54
- * type: category/item/immutable.
55
- * blocks: blocks to fetch, comma-separated list of block names (e.g., 'TextCard,Carousel').
56
- *
57
- * @returns
58
- * Category facets.
59
- *
60
- * @example
61
- * ``` ts
62
- * const { data } = await useSdk().plentysystems.getBlocks({
63
- * identifier: 'shipping',
64
- * type: "immutable",
65
- * blocks: 'TextCard,Carousel'
66
- * });
67
- * ```
68
- */
69
- async function getBlocksWithGlobalBlocks(context, params) {
70
- return getBlocksCore(context, params);
71
- }
72
- async function getBlocks(context, params) {
73
- return getBlocksCore(context, params);
74
- }
75
- async function getBlocksCore(context, params) {
76
- try {
77
- const identifier = params.identifier;
78
- const url = new URL(`/rest/storefront/blocks/${identifier}`, context.config.api.url);
79
- if (params.type) {
80
- url.searchParams.set('type', params.type);
81
- }
82
- if (context?.config?._middlewareRequestHeaders?.['x-config-id']) {
83
- url.searchParams.set('X-Config-Id', context?.config?._middlewareRequestHeaders?.['x-config-id'] || '');
84
- }
85
- if (params.blocks) {
86
- url.searchParams.append('blocks', params.blocks);
87
- }
88
- url.searchParams.set('enableGlobalBlocks', params.enableGlobalBlocks ? 'true' : 'false');
89
- const { data } = await context.client.get(url.href);
90
- return { data: params.enableGlobalBlocks ? data.data : data.data.blocks };
91
- }
92
- catch (error) {
93
- const statusCode = error?.response?.status?.toString() || '500';
94
- const message = error?.response?.data?.error?.message ||
95
- error.message;
96
- throw new ApiError({
97
- key: 'unknownError',
98
- code: statusCode,
99
- message: message,
100
- cause: '',
101
- });
102
- }
103
- }
104
-
105
- function getMappedCartItems(basketItems) {
106
- return basketItems.map((basketItem) => {
107
- return {
108
- ...basketItem,
109
- variation: basketItem.variation.data,
110
- };
111
- });
112
- }
113
-
114
- function roundedToOption(numberToRound, roundOption) {
115
- if (roundOption === 'half')
116
- return Math.floor(numberToRound * 2) / 2;
117
- if (roundOption === 'tenth')
118
- return Math.round(numberToRound * 10) / 10;
119
- return numberToRound;
120
- }
121
-
122
62
  const convertToNumberOrNull = (value) => {
123
63
  if (value === null || value === undefined || value === '')
124
64
  return null;
@@ -364,18 +304,7 @@ const getProduct = async (context, params) => {
364
304
  if (params.variationId) {
365
305
  url.searchParams.set('variationId', params.variationId.toString());
366
306
  }
367
- const productPromise = context.client.get(url.href);
368
- const shouldLoadBlocks = !context.config.api.experimental?.excludeBlocksFromProducts;
369
- const blocksPromise = shouldLoadBlocks
370
- ? getBlocks(context, {
371
- identifier: '0',
372
- type: 'product',
373
- })
374
- : Promise.resolve({ data: [] });
375
- const [{ data: response }, { data: blocksData }] = await Promise.all([
376
- productPromise,
377
- blocksPromise,
378
- ]);
307
+ const { data: response } = await context.client.get(url.href);
379
308
  const data = response.data;
380
309
  const productData = data.item.documents[0].data;
381
310
  const transformedProduct = transformProductItem(productData);
@@ -386,9 +315,8 @@ const getProduct = async (context, params) => {
386
315
  attributes: data.attributes,
387
316
  },
388
317
  seoSettings: data.seoSettings,
389
- blocks: [],
318
+ breadcrumbs: data.breadcrumbs ?? [],
390
319
  };
391
- mappedProduct.blocks = blocksData || [];
392
320
  return { data: mappedProduct };
393
321
  };
394
322
 
@@ -1619,17 +1547,7 @@ const getFacet = async (context, params) => {
1619
1547
  if (params.itemId) {
1620
1548
  url.searchParams.set('itemId', params.itemId);
1621
1549
  }
1622
- const shouldLoadBlocks = !context.config.api.experimental?.excludeBlocksFromFacets;
1623
- const blocksPromise = shouldLoadBlocks
1624
- ? getBlocks(context, {
1625
- identifier: '0',
1626
- type: 'category',
1627
- })
1628
- : Promise.resolve({ data: [] });
1629
- const [{ data: response }, { data: blocksData }] = await Promise.all([
1630
- context.client.get(url.href),
1631
- blocksPromise,
1632
- ]);
1550
+ const { data: response } = await context.client.get(url.href);
1633
1551
  const itemList = response.data.itemList;
1634
1552
  if (!itemList) {
1635
1553
  throw new Error('Category not found');
@@ -1640,11 +1558,11 @@ const getFacet = async (context, params) => {
1640
1558
  products: products,
1641
1559
  facets: response.data.facets,
1642
1560
  languageUrls: response.data.urls,
1561
+ breadcrumbs: response.data.breadcrumbs ?? [],
1643
1562
  pagination: {
1644
1563
  perPageOptions: [20, 40, 100],
1645
1564
  totals: itemList.total,
1646
1565
  },
1647
- blocks: blocksData || [],
1648
1566
  };
1649
1567
  return { data: facet };
1650
1568
  };
@@ -3075,6 +2993,66 @@ const doCaptureMolliePayment = async (context, params) => {
3075
2993
  return { data: response };
3076
2994
  };
3077
2995
 
2996
+ /**
2997
+ * Method getBlocks - Used to get the blocks for a page/category/item.
2998
+ *
2999
+ * @remarks
3000
+ * * Calls /rest/storefront/blocks
3001
+ * * Method should be used to get the blocks for a page/category/item.
3002
+ *
3003
+ * @param { GetBlocksParams } params
3004
+ * identifier: id of the category/item or url of immutable page.
3005
+ * type: category/item/immutable.
3006
+ * blocks: blocks to fetch, comma-separated list of block names (e.g., 'TextCard,Carousel').
3007
+ *
3008
+ * @returns
3009
+ * Category facets.
3010
+ *
3011
+ * @example
3012
+ * ``` ts
3013
+ * const { data } = await useSdk().plentysystems.getBlocks({
3014
+ * identifier: 'shipping',
3015
+ * type: "immutable",
3016
+ * blocks: 'TextCard,Carousel'
3017
+ * });
3018
+ * ```
3019
+ */
3020
+ async function getBlocksWithGlobalBlocks(context, params) {
3021
+ return getBlocksCore(context, params);
3022
+ }
3023
+ async function getBlocks(context, params) {
3024
+ return getBlocksCore(context, params);
3025
+ }
3026
+ async function getBlocksCore(context, params) {
3027
+ try {
3028
+ const identifier = params.identifier;
3029
+ const url = new URL(`/rest/storefront/blocks/${identifier}`, context.config.api.url);
3030
+ if (params.type) {
3031
+ url.searchParams.set('type', params.type);
3032
+ }
3033
+ if (context?.config?._middlewareRequestHeaders?.['x-config-id']) {
3034
+ url.searchParams.set('X-Config-Id', context?.config?._middlewareRequestHeaders?.['x-config-id'] || '');
3035
+ }
3036
+ if (params.blocks) {
3037
+ url.searchParams.append('blocks', params.blocks);
3038
+ }
3039
+ url.searchParams.set('enableGlobalBlocks', params.enableGlobalBlocks ? 'true' : 'false');
3040
+ const { data } = await context.client.get(url.href);
3041
+ return { data: params.enableGlobalBlocks ? data.data : data.data.blocks };
3042
+ }
3043
+ catch (error) {
3044
+ const statusCode = error?.response?.status?.toString() || '500';
3045
+ const message = error?.response?.data?.error?.message ||
3046
+ error.message;
3047
+ throw new ApiError({
3048
+ key: 'unknownError',
3049
+ code: statusCode,
3050
+ message: message,
3051
+ cause: '',
3052
+ });
3053
+ }
3054
+ }
3055
+
3078
3056
  const doSaveBlocksCore = async (context, params) => {
3079
3057
  const url = new URL('/rest/storefront/blocks', context.config.api.url);
3080
3058
  url.searchParams.set('enableGlobalBlocks', params.enableGlobalBlocks ? 'true' : 'false');
@@ -6967,7 +6945,6 @@ const blacklistedChars = [
6967
6945
  ':',
6968
6946
  ';',
6969
6947
  '"',
6970
- // eslint-disable-next-line quotes
6971
6948
  "'",
6972
6949
  '<',
6973
6950
  '>',
@@ -7982,10 +7959,23 @@ const barcodeGetters = {
7982
7959
  getReferrers,
7983
7960
  };
7984
7961
 
7962
+ function mapFromCategoryBreadcrumbs(categoryBreadcrumbs) {
7963
+ return categoryBreadcrumbs.map((item) => {
7964
+ return {
7965
+ name: item.name,
7966
+ link: item.url,
7967
+ };
7968
+ });
7969
+ }
7970
+ const breadcrumbGetters = {
7971
+ mapFromCategoryBreadcrumbs,
7972
+ };
7973
+
7985
7974
  exports.ApiError = ApiError;
7986
7975
  exports.additionalInformationGetters = additionalInformationGetters;
7987
7976
  exports.bannerGetters = bannerGetters;
7988
7977
  exports.barcodeGetters = barcodeGetters;
7978
+ exports.breadcrumbGetters = breadcrumbGetters;
7989
7979
  exports.cartGetters = cartGetters;
7990
7980
  exports.categoryEntryGetters = categoryEntryGetters;
7991
7981
  exports.categoryGetters = categoryGetters;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../node_modules/validator/es/lib/util/assertString.js","../../../node_modules/validator/es/lib/util/checkHost.js","../../../node_modules/validator/es/lib/isByteLength.js","../../../node_modules/validator/es/lib/util/merge.js","../../../node_modules/validator/es/lib/isFQDN.js","../../../node_modules/validator/es/lib/isIP.js","../../../node_modules/validator/es/lib/isEmail.js"],"sourcesContent":["export default function assertString(input) {\n if (input === undefined || input === null) throw new TypeError(\"Expected a string but received a \".concat(input));\n if (input.constructor.name !== 'String') throw new TypeError(\"Expected a string but received a \".concat(input.constructor.name));\n}","function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n}\nexport default function checkHost(host, matches) {\n for (var i = 0; i < matches.length; i++) {\n var match = matches[i];\n if (host === match || isRegExp(match) && match.test(host)) {\n return true;\n }\n }\n return false;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport assertString from './util/assertString';\n\n/* eslint-disable prefer-rest-params */\nexport default function isByteLength(str, options) {\n assertString(str);\n var min;\n var max;\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nexport default function merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n if (_typeof(obj) !== 'object' || obj === null) {\n obj = {};\n }\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n return obj;\n}","import assertString from './util/assertString';\nimport merge from './util/merge';\nvar default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_numeric_tld: false,\n allow_wildcard: false,\n ignore_max_length: false\n};\nexport default function isFQDN(str, options) {\n assertString(str);\n options = merge(options, default_fqdn_options);\n\n /* Remove the optional trailing dot before checking validity */\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n\n /* Remove the optional wildcard before checking validity */\n if (options.allow_wildcard === true && str.indexOf('*.') === 0) {\n str = str.substring(2);\n }\n var parts = str.split('.');\n var tld = parts[parts.length - 1];\n if (options.require_tld) {\n // disallow fqdns without tld\n if (parts.length < 2) {\n return false;\n }\n if (!options.allow_numeric_tld && !/^([a-z\\u00A1-\\u00A8\\u00AA-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n }\n\n // disallow spaces\n if (/\\s/.test(tld)) {\n return false;\n }\n }\n\n // reject numeric TLDs\n if (!options.allow_numeric_tld && /^\\d+$/.test(tld)) {\n return false;\n }\n return parts.every(function (part) {\n if (part.length > 63 && !options.ignore_max_length) {\n return false;\n }\n if (!/^[a-z_\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n }\n\n // disallow full-width chars\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n }\n\n // disallow parts starting or ending with hyphen\n if (/^-|-$/.test(part)) {\n return false;\n }\n if (!options.allow_underscores && /_/.test(part)) {\n return false;\n }\n return true;\n });\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport assertString from './util/assertString';\n/**\n11.3. Examples\n\n The following addresses\n\n fe80::1234 (on the 1st link of the node)\n ff02::5678 (on the 5th link of the node)\n ff08::9abc (on the 10th organization of the node)\n\n would be represented as follows:\n\n fe80::1234%1\n ff02::5678%5\n ff08::9abc%10\n\n (Here we assume a natural translation from a zone index to the\n <zone_id> part, where the Nth zone of any scope is translated into\n \"N\".)\n\n If we use interface names as <zone_id>, those addresses could also be\n represented as follows:\n\n fe80::1234%ne0\n ff02::5678%pvc1.3\n ff08::9abc%interface10\n\n where the interface \"ne0\" belongs to the 1st link, \"pvc1.3\" belongs\n to the 5th link, and \"interface10\" belongs to the 10th organization.\n * * */\nvar IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';\nvar IPv4AddressFormat = \"(\".concat(IPv4SegmentFormat, \"[.]){3}\").concat(IPv4SegmentFormat);\nvar IPv4AddressRegExp = new RegExp(\"^\".concat(IPv4AddressFormat, \"$\"));\nvar IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';\nvar IPv6AddressRegExp = new RegExp('^(' + \"(?:\".concat(IPv6SegmentFormat, \":){7}(?:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){6}(?:\").concat(IPv4AddressFormat, \"|:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){5}(?::\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,2}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){4}(?:(:\").concat(IPv6SegmentFormat, \"){0,1}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,3}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){3}(?:(:\").concat(IPv6SegmentFormat, \"){0,2}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,4}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){2}(?:(:\").concat(IPv6SegmentFormat, \"){0,3}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,5}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){1}(?:(:\").concat(IPv6SegmentFormat, \"){0,4}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,6}|:)|\") + \"(?::((?::\".concat(IPv6SegmentFormat, \"){0,5}:\").concat(IPv4AddressFormat, \"|(?::\").concat(IPv6SegmentFormat, \"){1,7}|:))\") + ')(%[0-9a-zA-Z.]{1,})?$');\nexport default function isIP(ipAddress) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assertString(ipAddress);\n\n // accessing 'arguments' for backwards compatibility: isIP(ipAddress [, version])\n // eslint-disable-next-line prefer-rest-params\n var version = (_typeof(options) === 'object' ? options.version : arguments[1]) || '';\n if (!version) {\n return isIP(ipAddress, {\n version: 4\n }) || isIP(ipAddress, {\n version: 6\n });\n }\n if (version.toString() === '4') {\n return IPv4AddressRegExp.test(ipAddress);\n }\n if (version.toString() === '6') {\n return IPv6AddressRegExp.test(ipAddress);\n }\n return false;\n}","import assertString from './util/assertString';\nimport checkHost from './util/checkHost';\nimport isByteLength from './isByteLength';\nimport isFQDN from './isFQDN';\nimport isIP from './isIP';\nimport merge from './util/merge';\nvar default_email_options = {\n allow_display_name: false,\n allow_underscores: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true,\n blacklisted_chars: '',\n ignore_max_length: false,\n host_blacklist: [],\n host_whitelist: []\n};\n\n/* eslint-disable max-len */\n/* eslint-disable no-control-regex */\nvar splitNameAddress = /^([^\\x00-\\x1F\\x7F-\\x9F\\cX]+)</i;\nvar emailUserPart = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]+$/i;\nvar gmailUserPart = /^[a-z\\d]+$/;\nvar quotedEmailUser = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]))*$/i;\nvar emailUserUtf8Part = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\u00A1-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+$/i;\nvar quotedEmailUserUtf8 = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*$/i;\nvar defaultMaxEmailLength = 254;\n/* eslint-enable max-len */\n/* eslint-enable no-control-regex */\n\n/**\n * Validate display name according to the RFC2822: https://tools.ietf.org/html/rfc2822#appendix-A.1.2\n * @param {String} display_name\n */\nfunction validateDisplayName(display_name) {\n var display_name_without_quotes = display_name.replace(/^\"(.+)\"$/, '$1');\n // display name with only spaces is not valid\n if (!display_name_without_quotes.trim()) {\n return false;\n }\n\n // check whether display name contains illegal character\n var contains_illegal = /[\\.\";<>]/.test(display_name_without_quotes);\n if (contains_illegal) {\n // if contains illegal characters,\n // must to be enclosed in double-quotes, otherwise it's not a valid display name\n if (display_name_without_quotes === display_name) {\n return false;\n }\n\n // the quotes in display name must start with character symbol \\\n var all_start_with_back_slash = display_name_without_quotes.split('\"').length === display_name_without_quotes.split('\\\\\"').length;\n if (!all_start_with_back_slash) {\n return false;\n }\n }\n return true;\n}\nexport default function isEmail(str, options) {\n assertString(str);\n options = merge(options, default_email_options);\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(splitNameAddress);\n if (display_email) {\n var display_name = display_email[1];\n\n // Remove display name and angle brackets to get email address\n // Can be done in the regex but will introduce a ReDOS (See #1597 for more info)\n str = str.replace(display_name, '').replace(/(^<|>$)/g, '');\n\n // sometimes need to trim the last space to get the display name\n // because there may be a space between display name and email address\n // eg. myname <address@gmail.com>\n // the display name is `myname` instead of `myname `, so need to trim the last space\n if (display_name.endsWith(' ')) {\n display_name = display_name.slice(0, -1);\n }\n if (!validateDisplayName(display_name)) {\n return false;\n }\n } else if (options.require_display_name) {\n return false;\n }\n }\n if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {\n return false;\n }\n var parts = str.split('@');\n var domain = parts.pop();\n var lower_domain = domain.toLowerCase();\n if (options.host_blacklist.length > 0 && checkHost(lower_domain, options.host_blacklist)) {\n return false;\n }\n if (options.host_whitelist.length > 0 && !checkHost(lower_domain, options.host_whitelist)) {\n return false;\n }\n var user = parts.join('@');\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase();\n\n // Removing sub-address from username before gmail validation\n var username = user.split('+')[0];\n\n // Dots are not included in gmail length restriction\n if (!isByteLength(username.replace(/\\./g, ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n var _user_parts = username.split('.');\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n if (options.ignore_max_length === false && (!isByteLength(user, {\n max: 64\n }) || !isByteLength(domain, {\n max: 254\n }))) {\n return false;\n }\n if (!isFQDN(domain, {\n require_tld: options.require_tld,\n ignore_max_length: options.ignore_max_length,\n allow_underscores: options.allow_underscores\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n if (!isIP(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n var noBracketdomain = domain.slice(1, -1);\n if (noBracketdomain.length === 0 || !isIP(noBracketdomain)) {\n return false;\n }\n }\n }\n if (options.blacklisted_chars) {\n if (user.search(new RegExp(\"[\".concat(options.blacklisted_chars, \"]+\"), 'g')) !== -1) return false;\n }\n if (user[0] === '\"' && user[user.length - 1] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n for (var _i = 0; _i < user_parts.length; _i++) {\n if (!pattern.test(user_parts[_i])) {\n return false;\n }\n }\n return true;\n}"],"names":["_typeof"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../node_modules/validator/es/lib/util/assertString.js","../../../node_modules/validator/es/lib/util/checkHost.js","../../../node_modules/validator/es/lib/isByteLength.js","../../../node_modules/validator/es/lib/util/merge.js","../../../node_modules/validator/es/lib/isFQDN.js","../../../node_modules/validator/es/lib/isIP.js","../../../node_modules/validator/es/lib/isEmail.js"],"sourcesContent":["export default function assertString(input) {\n if (input === undefined || input === null) throw new TypeError(\"Expected a string but received a \".concat(input));\n if (input.constructor.name !== 'String') throw new TypeError(\"Expected a string but received a \".concat(input.constructor.name));\n}","function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n}\nexport default function checkHost(host, matches) {\n for (var i = 0; i < matches.length; i++) {\n var match = matches[i];\n if (host === match || isRegExp(match) && match.test(host)) {\n return true;\n }\n }\n return false;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport assertString from './util/assertString';\n\n/* eslint-disable prefer-rest-params */\nexport default function isByteLength(str, options) {\n assertString(str);\n var min;\n var max;\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nexport default function merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n if (_typeof(obj) !== 'object' || obj === null) {\n obj = {};\n }\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n return obj;\n}","import assertString from './util/assertString';\nimport merge from './util/merge';\nvar default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_numeric_tld: false,\n allow_wildcard: false,\n ignore_max_length: false\n};\nexport default function isFQDN(str, options) {\n assertString(str);\n options = merge(options, default_fqdn_options);\n\n /* Remove the optional trailing dot before checking validity */\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n\n /* Remove the optional wildcard before checking validity */\n if (options.allow_wildcard === true && str.indexOf('*.') === 0) {\n str = str.substring(2);\n }\n var parts = str.split('.');\n var tld = parts[parts.length - 1];\n if (options.require_tld) {\n // disallow fqdns without tld\n if (parts.length < 2) {\n return false;\n }\n if (!options.allow_numeric_tld && !/^([a-z\\u00A1-\\u00A8\\u00AA-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n }\n\n // disallow spaces\n if (/\\s/.test(tld)) {\n return false;\n }\n }\n\n // reject numeric TLDs\n if (!options.allow_numeric_tld && /^\\d+$/.test(tld)) {\n return false;\n }\n return parts.every(function (part) {\n if (part.length > 63 && !options.ignore_max_length) {\n return false;\n }\n if (!/^[a-z_\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n }\n\n // disallow full-width chars\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n }\n\n // disallow parts starting or ending with hyphen\n if (/^-|-$/.test(part)) {\n return false;\n }\n if (!options.allow_underscores && /_/.test(part)) {\n return false;\n }\n return true;\n });\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport assertString from './util/assertString';\n/**\n11.3. Examples\n\n The following addresses\n\n fe80::1234 (on the 1st link of the node)\n ff02::5678 (on the 5th link of the node)\n ff08::9abc (on the 10th organization of the node)\n\n would be represented as follows:\n\n fe80::1234%1\n ff02::5678%5\n ff08::9abc%10\n\n (Here we assume a natural translation from a zone index to the\n <zone_id> part, where the Nth zone of any scope is translated into\n \"N\".)\n\n If we use interface names as <zone_id>, those addresses could also be\n represented as follows:\n\n fe80::1234%ne0\n ff02::5678%pvc1.3\n ff08::9abc%interface10\n\n where the interface \"ne0\" belongs to the 1st link, \"pvc1.3\" belongs\n to the 5th link, and \"interface10\" belongs to the 10th organization.\n * * */\nvar IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';\nvar IPv4AddressFormat = \"(\".concat(IPv4SegmentFormat, \"[.]){3}\").concat(IPv4SegmentFormat);\nvar IPv4AddressRegExp = new RegExp(\"^\".concat(IPv4AddressFormat, \"$\"));\nvar IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';\nvar IPv6AddressRegExp = new RegExp('^(' + \"(?:\".concat(IPv6SegmentFormat, \":){7}(?:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){6}(?:\").concat(IPv4AddressFormat, \"|:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){5}(?::\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,2}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){4}(?:(:\").concat(IPv6SegmentFormat, \"){0,1}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,3}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){3}(?:(:\").concat(IPv6SegmentFormat, \"){0,2}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,4}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){2}(?:(:\").concat(IPv6SegmentFormat, \"){0,3}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,5}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){1}(?:(:\").concat(IPv6SegmentFormat, \"){0,4}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,6}|:)|\") + \"(?::((?::\".concat(IPv6SegmentFormat, \"){0,5}:\").concat(IPv4AddressFormat, \"|(?::\").concat(IPv6SegmentFormat, \"){1,7}|:))\") + ')(%[0-9a-zA-Z.]{1,})?$');\nexport default function isIP(ipAddress) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assertString(ipAddress);\n\n // accessing 'arguments' for backwards compatibility: isIP(ipAddress [, version])\n // eslint-disable-next-line prefer-rest-params\n var version = (_typeof(options) === 'object' ? options.version : arguments[1]) || '';\n if (!version) {\n return isIP(ipAddress, {\n version: 4\n }) || isIP(ipAddress, {\n version: 6\n });\n }\n if (version.toString() === '4') {\n return IPv4AddressRegExp.test(ipAddress);\n }\n if (version.toString() === '6') {\n return IPv6AddressRegExp.test(ipAddress);\n }\n return false;\n}","import assertString from './util/assertString';\nimport checkHost from './util/checkHost';\nimport isByteLength from './isByteLength';\nimport isFQDN from './isFQDN';\nimport isIP from './isIP';\nimport merge from './util/merge';\nvar default_email_options = {\n allow_display_name: false,\n allow_underscores: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true,\n blacklisted_chars: '',\n ignore_max_length: false,\n host_blacklist: [],\n host_whitelist: []\n};\n\n/* eslint-disable max-len */\n/* eslint-disable no-control-regex */\nvar splitNameAddress = /^([^\\x00-\\x1F\\x7F-\\x9F\\cX]+)</i;\nvar emailUserPart = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]+$/i;\nvar gmailUserPart = /^[a-z\\d]+$/;\nvar quotedEmailUser = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]))*$/i;\nvar emailUserUtf8Part = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\u00A1-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+$/i;\nvar quotedEmailUserUtf8 = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*$/i;\nvar defaultMaxEmailLength = 254;\n/* eslint-enable max-len */\n/* eslint-enable no-control-regex */\n\n/**\n * Validate display name according to the RFC2822: https://tools.ietf.org/html/rfc2822#appendix-A.1.2\n * @param {String} display_name\n */\nfunction validateDisplayName(display_name) {\n var display_name_without_quotes = display_name.replace(/^\"(.+)\"$/, '$1');\n // display name with only spaces is not valid\n if (!display_name_without_quotes.trim()) {\n return false;\n }\n\n // check whether display name contains illegal character\n var contains_illegal = /[\\.\";<>]/.test(display_name_without_quotes);\n if (contains_illegal) {\n // if contains illegal characters,\n // must to be enclosed in double-quotes, otherwise it's not a valid display name\n if (display_name_without_quotes === display_name) {\n return false;\n }\n\n // the quotes in display name must start with character symbol \\\n var all_start_with_back_slash = display_name_without_quotes.split('\"').length === display_name_without_quotes.split('\\\\\"').length;\n if (!all_start_with_back_slash) {\n return false;\n }\n }\n return true;\n}\nexport default function isEmail(str, options) {\n assertString(str);\n options = merge(options, default_email_options);\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(splitNameAddress);\n if (display_email) {\n var display_name = display_email[1];\n\n // Remove display name and angle brackets to get email address\n // Can be done in the regex but will introduce a ReDOS (See #1597 for more info)\n str = str.replace(display_name, '').replace(/(^<|>$)/g, '');\n\n // sometimes need to trim the last space to get the display name\n // because there may be a space between display name and email address\n // eg. myname <address@gmail.com>\n // the display name is `myname` instead of `myname `, so need to trim the last space\n if (display_name.endsWith(' ')) {\n display_name = display_name.slice(0, -1);\n }\n if (!validateDisplayName(display_name)) {\n return false;\n }\n } else if (options.require_display_name) {\n return false;\n }\n }\n if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {\n return false;\n }\n var parts = str.split('@');\n var domain = parts.pop();\n var lower_domain = domain.toLowerCase();\n if (options.host_blacklist.length > 0 && checkHost(lower_domain, options.host_blacklist)) {\n return false;\n }\n if (options.host_whitelist.length > 0 && !checkHost(lower_domain, options.host_whitelist)) {\n return false;\n }\n var user = parts.join('@');\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase();\n\n // Removing sub-address from username before gmail validation\n var username = user.split('+')[0];\n\n // Dots are not included in gmail length restriction\n if (!isByteLength(username.replace(/\\./g, ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n var _user_parts = username.split('.');\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n if (options.ignore_max_length === false && (!isByteLength(user, {\n max: 64\n }) || !isByteLength(domain, {\n max: 254\n }))) {\n return false;\n }\n if (!isFQDN(domain, {\n require_tld: options.require_tld,\n ignore_max_length: options.ignore_max_length,\n allow_underscores: options.allow_underscores\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n if (!isIP(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n var noBracketdomain = domain.slice(1, -1);\n if (noBracketdomain.length === 0 || !isIP(noBracketdomain)) {\n return false;\n }\n }\n }\n if (options.blacklisted_chars) {\n if (user.search(new RegExp(\"[\".concat(options.blacklisted_chars, \"]+\"), 'g')) !== -1) return false;\n }\n if (user[0] === '\"' && user[user.length - 1] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n for (var _i = 0; _i < user_parts.length; _i++) {\n if (!pattern.test(user_parts[_i])) {\n return false;\n }\n }\n return true;\n}"],"names":["_typeof"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}