@thinkerchain/flipper-entities 2.7.0 → 2.7.2

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.
@@ -0,0 +1,14 @@
1
+ import { MarketplaceEnum } from '../enums/marketplace';
2
+ /**
3
+ * Raw SVG string representations of marketplace logos.
4
+ */
5
+ export declare const MARKETPLACE_SVG_RAW: Record<MarketplaceEnum, string>;
6
+ /**
7
+ * Returns data URI of the marketplace SVG for easy `<img src="..." />` rendering.
8
+ */
9
+ export declare function getMarketplaceLogoDataUri(marketplace: string): string;
10
+ /**
11
+ * Direct file relative paths under flipper-entities/assets/logos/
12
+ */
13
+ export declare const MARKETPLACE_LOGO_PATHS: Record<MarketplaceEnum, string>;
14
+ //# sourceMappingURL=logos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logos.d.ts","sourceRoot":"","sources":["../../src/assets/logos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAM/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKrE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAIlE,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MARKETPLACE_LOGO_PATHS = exports.MARKETPLACE_SVG_RAW = void 0;
4
+ exports.getMarketplaceLogoDataUri = getMarketplaceLogoDataUri;
5
+ const marketplace_1 = require("../enums/marketplace");
6
+ /**
7
+ * Raw SVG string representations of marketplace logos.
8
+ */
9
+ exports.MARKETPLACE_SVG_RAW = {
10
+ [marketplace_1.MarketplaceEnum.FACEBOOK]: `<svg fill="#1877F2" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Facebook</title><path d="M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"/></svg>`,
11
+ [marketplace_1.MarketplaceEnum.OLX]: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 911 911" fill="none"><path d="M455.5 911C203.934 911 0 707.066 0 455.5S203.934 0 455.5 0 911 203.934 911 455.5 707.066 911 455.5 911zm-1-15C697.781 896 895 698.781 895 455.5S697.781 15 454.5 15 14 212.219 14 455.5 211.219 896 454.5 896z" fill="#9b9b9b"/><path d="M187.5 638C105.486 638 39 559.426 39 462.5S105.486 287 187.5 287 336 365.574 336 462.5 269.514 638 187.5 638zm0-57c38.384 0 69.5-53.278 69.5-119s-31.116-119-69.5-119S118 396.278 118 462s31.116 119 69.5 119z" fill="#642286"/><path d="M355.244 494.758c0-23.149-3.973-217.178-3.973-232.791s13.72-23.434 23.268-23.434h34.984c8.286 0 24.995 2.889 24.995 28.719s2.74 156.965 2.74 166.02c0 9.054 5.459 18.962 24 18.962h66.699c9.076 0 17.725 5.74 17.725 21.414 0 15.674-1.202 33.666-3.631 44.123-2.43 10.458-9.9 15.428-28.389 15.428h-121.07c-18.053 0-37.348-15.293-37.348-38.441z" fill="#a9b900"/><path d="M541.932 541.084c11.108-12.132 39.061-43.282 83.861-93.451-36.987-73.378-58.069-115.897-63.246-127.559-7.766-17.492 10.146-38.023 26.121-38.023 15.975 0 31.957 5.508 42.88 21.765 7.283 10.839 24.421 36.26 51.415 76.264 44.427-49.418 69.499-78.121 75.215-86.11 8.574-11.982 34.84-23.722 47.562-16.224 12.723 7.498 12.983 22.56-2.107 44.842-10.06 14.854-37.046 54.45-80.957 118.785 69.927 102.462 107.47 158.099 112.63 166.91 7.74 13.217 5.813 29.862-16.02 36.113-21.835 6.252-38.577 10.208-53.042 13.573-14.465 3.365-28.316 1.674-43.568-25.408-10.168-18.055-29.529-53.668-58.082-106.84-39.972 60.298-63.74 95.911-71.303 106.84-11.346 16.392-28.104 19.703-38.59 3.408s-15.38-24.467-23.402-40.21c-8.022-15.741-6.03-36.478 10.633-54.675z" fill="#fe7701"/></svg>`,
12
+ [marketplace_1.MarketplaceEnum.TOKOPEDIA]: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0.42 400 86.16" fill="#42b549"><path fill-rule="evenodd" d="M213.85 60.997c-4.347 4.417-9.547 6.637-15.574 6.637-4.874 0-9.016-.995-13.243-3.454V54.055c3.4 2.309 7.673 4.508 11.886 4.508 8.791 0 14.024-6.058 14.024-14.643 0-8.592-5.412-14.83-14.207-14.83-3.928 0-7.112 1.414-9.599 4.248-2.666 3.07-4.044 7.458-4.044 13.26v39.981h-.662c-4.846 0-8.772-3.931-8.772-8.782v-32.7c0-13.876 8.472-25.08 23.034-25.08 7.19 0 13.03 2.462 17.458 7.408 4.163 4.621 6.226 10.476 6.226 17.522 0 6.27-2.177 11.63-6.527 16.05zm102.141-.339c-4.33 4.655-9.902 6.976-16.658 6.976-7.132 0-12.943-2.462-17.366-7.407-4.16-4.678-6.225-10.538-6.225-17.52 0-12.36 9.528-22.69 22.066-22.69 4.836 0 9.035 1.023 13.277 3.352V33.6c-3.4-2.31-7.672-4.509-11.885-4.509-8.791 0-14.026 6.057-14.026 14.645 0 8.471 5.539 14.828 14.205 14.828 3.925 0 7.157-1.473 9.743-4.44 2.569-2.947 3.904-7.278 3.904-13.096V9.203c0-4.852 3.928-8.782 8.771-8.782h.663V42.52c0 7.414-2.143 13.483-6.469 18.138zm26.64-45.134c-.99 1.11-2.409 1.621-4.14 1.621-3.24 0-5.556-2.391-5.556-5.609 0-3.293 2.274-5.516 5.555-5.516 3.158 0 5.556 2.344 5.556 5.516 0 1.57-.46 2.915-1.415 3.988zm47.933 25.503c0-3.724-1.407-6.672-4.233-8.905-2.547-2.01-5.727-3.032-9.597-3.032-8.538 0-14.02 6.683-14.02 14.924 0 7.93 5.81 14.549 13.93 14.549 5.648 0 8.668-3.303 11.889-7.418v11.864c-1.64 1.231-3.528 2.573-5.455 3.361-2.033.85-4.46 1.264-7.265 1.264-13.579 0-22.533-11.26-22.533-24.273 0-6.682 2.073-12.206 6.246-16.514 4.428-4.565 10.237-6.83 17.347-6.83 13.482 0 23.127 7.751 23.127 21.756v24.928h-.66c-4.848 0-8.776-3.932-8.776-8.784zm-129.14-2.676c-1.192-3.691-2.687-5.508-6.124-7.43-8.176-4.573-16.222-.68-19.965 7.395zm-7.199 29.144c-6.025 1.282-11.938.293-17.706-2.935-5.628-3.146-9.396-7.825-11.285-14.008-3.818-12.505 4.004-26.44 16.586-29.814 6.237-1.672 12.217-.915 17.898 2.263 9.436 5.282 12.875 13.451 12.274 23.977l-38.006-.076c.56 4.293 3.218 7.652 6.955 9.741 3.788 2.12 7.27 2.626 10.5 1.623 3.59-1.128 6.5-4.06 8.867-6.79l7.746 5.651c-3.16 5.66-7.46 9.01-13.829 10.368zm79.549-46.543h9.432V66.7h-.663c-4.841 0-8.77-3.932-8.77-8.784zM13.806 66.7C4.579 66.7 0 60.417 0 51.64V18.35c0-4.85 3.928-8.783 8.773-8.783h.662v11.386h15.939v9.072H9.434v22.668c0 3.855 1.719 4.937 5.397 4.937h10.543v9.072zm54.787-5.783c-4.66 4.474-10.262 6.716-16.77 6.716-6.447 0-12.017-2.244-16.677-6.716-4.676-4.49-7.007-10.205-7.007-17.091 0-13.436 10.246-23.808 23.684-23.808 6.45 0 12.035 2.26 16.724 6.765 4.705 4.518 7.056 10.216 7.056 17.043 0 6.886-2.334 12.6-7.01 17.091zM112.7 31.96c-1.384 2.324-2.457 3.99-3.212 4.997-.832 1.095-1.654 1.97-2.468 2.574 6.556 2.12 8.998 6.668 8.998 13.443V66.7h-.662c-4.845 0-8.773-3.932-8.773-8.784v-4.011c0-4.387-1.965-7.363-6.607-7.363h-8.567V66.7h-.663c-4.844 0-8.769-3.932-8.769-8.784V9.203c0-4.852 3.925-8.782 8.77-8.782h.662v36.957h2.788c3.064 0 5.077-1.05 6.233-3.035l7.924-13.389 10.75-.01zm48.698 28.958c-4.662 4.474-10.264 6.716-16.771 6.716-6.446 0-12.016-2.244-16.678-6.716-4.676-4.49-7.007-10.205-7.007-17.091 0-13.436 10.247-23.808 23.685-23.808 6.45 0 12.034 2.26 16.724 6.765 4.706 4.518 7.055 10.216 7.055 17.043 0 6.886-2.332 12.6-7.008 17.091zm-6.81-27.738c-2.6-2.723-5.902-4.09-9.961-4.09-8.681 0-13.879 6.337-13.879 14.737 0 8.283 5.321 14.736 13.879 14.736 8.56 0 13.879-6.453 13.879-14.736 0-4.398-1.32-7.927-3.917-10.647zm-92.803 0c-2.6-2.723-5.902-4.09-9.96-4.09-8.682 0-13.879 6.337-13.879 14.737 0 8.283 5.32 14.736 13.878 14.736 8.56 0 13.878-6.453 13.878-14.736 0-4.398-1.318-7.927-3.917-10.647z"/></svg>`,
13
+ };
14
+ /**
15
+ * Returns data URI of the marketplace SVG for easy `<img src="..." />` rendering.
16
+ */
17
+ function getMarketplaceLogoDataUri(marketplace) {
18
+ const normalized = marketplace.toLowerCase();
19
+ const rawSvg = exports.MARKETPLACE_SVG_RAW[normalized] || '';
20
+ if (!rawSvg)
21
+ return '';
22
+ return `data:image/svg+xml;utf8,${encodeURIComponent(rawSvg)}`;
23
+ }
24
+ /**
25
+ * Direct file relative paths under flipper-entities/assets/logos/
26
+ */
27
+ exports.MARKETPLACE_LOGO_PATHS = {
28
+ [marketplace_1.MarketplaceEnum.FACEBOOK]: 'assets/logos/facebook.svg',
29
+ [marketplace_1.MarketplaceEnum.OLX]: 'assets/logos/olx.svg',
30
+ [marketplace_1.MarketplaceEnum.TOKOPEDIA]: 'assets/logos/tokopedia.svg',
31
+ };
32
+ //# sourceMappingURL=logos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logos.js","sourceRoot":"","sources":["../../src/assets/logos.ts"],"names":[],"mappings":";;;AAgBA,8DAKC;AArBD,sDAAuD;AAEvD;;GAEG;AACU,QAAA,mBAAmB,GAAoC;IAClE,CAAC,6BAAe,CAAC,QAAQ,CAAC,EAAE,+iBAA+iB;IAE3kB,CAAC,6BAAe,CAAC,GAAG,CAAC,EAAE,yoDAAyoD;IAEhqD,CAAC,6BAAe,CAAC,SAAS,CAAC,EAAE,m+GAAm+G;CACjgH,CAAC;AAEF;;GAEG;AACH,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAqB,CAAC;IAChE,MAAM,MAAM,GAAG,2BAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,2BAA2B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AACjE,CAAC;AAED;;GAEG;AACU,QAAA,sBAAsB,GAAoC;IACrE,CAAC,6BAAe,CAAC,QAAQ,CAAC,EAAE,2BAA2B;IACvD,CAAC,6BAAe,CAAC,GAAG,CAAC,EAAE,sBAAsB;IAC7C,CAAC,6BAAe,CAAC,SAAS,CAAC,EAAE,4BAA4B;CAC1D,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare enum NotificationChannelEnum {
2
+ EMAIL = "email",
3
+ WEB_APP = "web-app",
4
+ TELEGRAM = "telegram",
5
+ WHATSAPP = "whatsapp",
6
+ DISCORD = "discord"
7
+ }
8
+ //# sourceMappingURL=notification-channel.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-channel.enum.d.ts","sourceRoot":"","sources":["../../src/enums/notification-channel.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,uBAAuB;IACjC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationChannelEnum = void 0;
4
+ var NotificationChannelEnum;
5
+ (function (NotificationChannelEnum) {
6
+ NotificationChannelEnum["EMAIL"] = "email";
7
+ NotificationChannelEnum["WEB_APP"] = "web-app";
8
+ NotificationChannelEnum["TELEGRAM"] = "telegram";
9
+ NotificationChannelEnum["WHATSAPP"] = "whatsapp";
10
+ NotificationChannelEnum["DISCORD"] = "discord";
11
+ })(NotificationChannelEnum || (exports.NotificationChannelEnum = NotificationChannelEnum = {}));
12
+ //# sourceMappingURL=notification-channel.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-channel.enum.js","sourceRoot":"","sources":["../../src/enums/notification-channel.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,8CAAmB,CAAA;IACnB,gDAAqB,CAAA;IACrB,gDAAqB,CAAA;IACrB,8CAAmB,CAAA;AACrB,CAAC,EANW,uBAAuB,uCAAvB,uBAAuB,QAMlC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SSOT jenis pencarian (Search Type).
3
+ * Digunakan pada form create/edit searches, filtering listing, dan engine pencarian.
4
+ */
5
+ export declare enum SearchTypeEnum {
6
+ Vehicle = "vehicle",
7
+ Property = "property",
8
+ Other = "other"
9
+ }
10
+ export type SearchType = SearchTypeEnum | `${SearchTypeEnum}`;
11
+ export interface SearchTypeOption {
12
+ value: SearchTypeEnum;
13
+ labelTranslation: string;
14
+ }
15
+ /** Opsi tipe pencarian beserta key translasi untuk tampilan FE. */
16
+ export declare const SEARCH_TYPE_OPTIONS: readonly SearchTypeOption[];
17
+ /** Helper untuk mendapatkan translation key dari value tipe pencarian. */
18
+ export declare function getSearchTypeLabelTranslation(type: SearchTypeEnum | string): string;
19
+ /** Daftar search type untuk iterasi/validasi (dropdown, form, DTO). */
20
+ export declare const SEARCH_TYPES: readonly SearchTypeEnum[];
21
+ /** Type guard search type yang valid. */
22
+ export declare function isSearchType(value: unknown): value is SearchTypeEnum;
23
+ //# sourceMappingURL=search-type.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-type.enum.d.ts","sourceRoot":"","sources":["../../src/enums/search-type.enum.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,GAAG,cAAc,EAAE,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAI1D,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,cAAc,GAAG,MAAM,GAC5B,MAAM,CAaR;AAED,uEAAuE;AACvE,eAAO,MAAM,YAAY,EAAE,SAAS,cAAc,EAEjD,CAAC;AAEF,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKpE"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEARCH_TYPES = exports.SEARCH_TYPE_OPTIONS = exports.SearchTypeEnum = void 0;
4
+ exports.getSearchTypeLabelTranslation = getSearchTypeLabelTranslation;
5
+ exports.isSearchType = isSearchType;
6
+ /**
7
+ * SSOT jenis pencarian (Search Type).
8
+ * Digunakan pada form create/edit searches, filtering listing, dan engine pencarian.
9
+ */
10
+ var SearchTypeEnum;
11
+ (function (SearchTypeEnum) {
12
+ SearchTypeEnum["Vehicle"] = "vehicle";
13
+ SearchTypeEnum["Property"] = "property";
14
+ SearchTypeEnum["Other"] = "other";
15
+ })(SearchTypeEnum || (exports.SearchTypeEnum = SearchTypeEnum = {}));
16
+ /** Opsi tipe pencarian beserta key translasi untuk tampilan FE. */
17
+ exports.SEARCH_TYPE_OPTIONS = [
18
+ { value: SearchTypeEnum.Vehicle, labelTranslation: 'searchtype.vehicle' },
19
+ { value: SearchTypeEnum.Property, labelTranslation: 'searchtype.property' },
20
+ { value: SearchTypeEnum.Other, labelTranslation: 'searchtype.other' },
21
+ ];
22
+ /** Helper untuk mendapatkan translation key dari value tipe pencarian. */
23
+ function getSearchTypeLabelTranslation(type) {
24
+ switch (type) {
25
+ case SearchTypeEnum.Vehicle:
26
+ case 'vehicle':
27
+ return 'searchtype.vehicle';
28
+ case SearchTypeEnum.Property:
29
+ case 'property':
30
+ return 'searchtype.property';
31
+ case SearchTypeEnum.Other:
32
+ case 'other':
33
+ default:
34
+ return 'searchtype.other';
35
+ }
36
+ }
37
+ /** Daftar search type untuk iterasi/validasi (dropdown, form, DTO). */
38
+ exports.SEARCH_TYPES = Object.values(SearchTypeEnum);
39
+ /** Type guard search type yang valid. */
40
+ function isSearchType(value) {
41
+ return (typeof value === 'string' &&
42
+ exports.SEARCH_TYPES.includes(value));
43
+ }
44
+ //# sourceMappingURL=search-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-type.enum.js","sourceRoot":"","sources":["../../src/enums/search-type.enum.ts"],"names":[],"mappings":";;;AAyBA,sEAeC;AAQD,oCAKC;AArDD;;;GAGG;AACH,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACjB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AASD,mEAAmE;AACtD,QAAA,mBAAmB,GAAgC;IAC9D,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE;IACzE,EAAE,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,qBAAqB,EAAE;IAC3E,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE;CACtE,CAAC;AAEF,0EAA0E;AAC1E,SAAgB,6BAA6B,CAC3C,IAA6B;IAE7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC,OAAO,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,oBAAoB,CAAC;QAC9B,KAAK,cAAc,CAAC,QAAQ,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,qBAAqB,CAAC;QAC/B,KAAK,cAAc,CAAC,KAAK,CAAC;QAC1B,KAAK,OAAO,CAAC;QACb;YACE,OAAO,kBAAkB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,uEAAuE;AAC1D,QAAA,YAAY,GAA8B,MAAM,CAAC,MAAM,CAClE,cAAc,CACf,CAAC;AAEF,yCAAyC;AACzC,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,oBAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpD,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,11 @@ export type { SellerIdentityProperty, SellerIdentity, FacebookSellerV1, SellerSn
7
7
  export type { SellerRating, SellerSummary, SellerSummaryJSONB, } from './types/seller-summary.types';
8
8
  export { MarketplaceEnum, MARKETPLACES, isMarketplace, } from './enums/marketplace';
9
9
  export type { Marketplace } from './enums/marketplace';
10
+ export { SearchTypeEnum, SEARCH_TYPES, SEARCH_TYPE_OPTIONS, getSearchTypeLabelTranslation, isSearchType, } from './enums/search-type.enum';
11
+ export type { SearchType, SearchTypeOption } from './enums/search-type.enum';
12
+ export { MARKETPLACE_SVG_RAW, MARKETPLACE_LOGO_PATHS, getMarketplaceLogoDataUri, } from './assets/logos';
13
+ export { NotificationChannelEnum } from './enums/notification-channel.enum';
14
+ export type { NotificationAction, NotificationOverrides, MultiChannelNotificationPayload, MultiChannelDeliveryResult, } from './types/notification.types';
10
15
  /**
11
16
  * Helper runtime juga tersedia lewat subpath
12
17
  * `@thinkerchain/flipper-entities/utilities`; re-export di sini untuk
@@ -21,9 +26,9 @@ export type { EngineSearchRequest, EngineEnv, EngineChildInput, EngineScrapeInpu
21
26
  export type { ChannelEntity, TelegramChannelEntity, UserChannelEntity, } from './types/user-channel.types';
22
27
  export type { CoreEntity, DefaultValueEntity, StringMatchAlgorithm, StringMatcherType, DefaultItemFilterEntity, MarketPlacePropEntity, FacebookMarketPlacePropEntity, EngineEntity, EngineOptions, OrchestratorOptions, ProxyOptions, } from './types/core-options.types';
23
28
  export type { OptionEntity } from './types/option.types';
24
- export type { ProductKind, ProductFeature, ProductSearchProfileEntity, ProductChannelProfileEntity, ProductBannedSellerProfileEntity, ProductEntity, } from './types/product.types';
25
- export type { SubscriptionStatus, SubscriptionSource, SubscriptionProfileKind, SubscriptionSearchProfileEntity, SubscriptionChannelProfileEntity, SubscriptionBannedSellerProfileEntity, SubscriptionProfileSnapshot, SubscriptionSnapshot, SubscriptionEntity, SubscriptionWithProduct, } from './types/subscription.types';
29
+ export type { ProductKind, ProductFeature, ProductSearchMarketPlaceProfileEntity, ProductSearchProfileEntity, ProductChannelProfileEntity, ProductBannedSellerProfileEntity, ProductEntity, } from './types/product.types';
30
+ export type { SubscriptionStatus, SubscriptionSource, SubscriptionProfileKind, FrozenSearchMarketPlaceProfileEntity, FrozenSearchProfileEntity, SubscriptionSearchProfileEntity, FrozenChannelProfileEntity, SubscriptionChannelProfileEntity, FrozenBannedSellerProfileEntity, SubscriptionBannedSellerProfileEntity, SubscriptionProfileSnapshot, SubscriptionSnapshot, SubscriptionEntity, SubscriptionWithProduct, } from './types/subscription.types';
26
31
  export type { BillingValueJSONB } from './types/billing-options.types';
27
- export type { UsageProfileMetric, UsageMetric, SubscriptionUsageSummary, } from './types/usage.types';
32
+ export type { UsageMarketplaceMetric, UsageProfileMetric, UsageMetric, SubscriptionUsageSummary, } from './types/usage.types';
28
33
  export type { LocationJSONB, MarketPlacePropJSONB, ItemFilterImage, ItemFilterLink, ItemFilterLocation, ItemFilterName, ItemFilterPrice, ItemFilterYear, ItemFilterDescription, ItemFilterRating, ItemFilterScam, ItemFilterJSONB, CoreValueJSONB, } from './types/search-jsonb.types';
29
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAErE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzE,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzE,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,YAAY,EACV,WAAW,EACX,cAAc,EACd,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,gCAAgC,EAChC,qCAAqC,EACrC,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,10 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toStringValue = exports.toNumberValue = exports.toIsoString = exports.isRecord = exports.toSellerSummary = exports.toSellerMatchKey = exports.toSellerIdentities = exports.parseSellerSnapshot = exports.createSellerSnapshot = exports.SELLER_SNAPSHOT_VERSION = exports.isMarketplace = exports.MARKETPLACES = exports.MarketplaceEnum = void 0;
3
+ exports.toStringValue = exports.toNumberValue = exports.toIsoString = exports.isRecord = exports.toSellerSummary = exports.toSellerMatchKey = exports.toSellerIdentities = exports.parseSellerSnapshot = exports.createSellerSnapshot = exports.SELLER_SNAPSHOT_VERSION = exports.NotificationChannelEnum = exports.getMarketplaceLogoDataUri = exports.MARKETPLACE_LOGO_PATHS = exports.MARKETPLACE_SVG_RAW = exports.isSearchType = exports.getSearchTypeLabelTranslation = exports.SEARCH_TYPE_OPTIONS = exports.SEARCH_TYPES = exports.SearchTypeEnum = exports.isMarketplace = exports.MARKETPLACES = exports.MarketplaceEnum = void 0;
4
4
  var marketplace_1 = require("./enums/marketplace");
5
5
  Object.defineProperty(exports, "MarketplaceEnum", { enumerable: true, get: function () { return marketplace_1.MarketplaceEnum; } });
6
6
  Object.defineProperty(exports, "MARKETPLACES", { enumerable: true, get: function () { return marketplace_1.MARKETPLACES; } });
7
7
  Object.defineProperty(exports, "isMarketplace", { enumerable: true, get: function () { return marketplace_1.isMarketplace; } });
8
+ var search_type_enum_1 = require("./enums/search-type.enum");
9
+ Object.defineProperty(exports, "SearchTypeEnum", { enumerable: true, get: function () { return search_type_enum_1.SearchTypeEnum; } });
10
+ Object.defineProperty(exports, "SEARCH_TYPES", { enumerable: true, get: function () { return search_type_enum_1.SEARCH_TYPES; } });
11
+ Object.defineProperty(exports, "SEARCH_TYPE_OPTIONS", { enumerable: true, get: function () { return search_type_enum_1.SEARCH_TYPE_OPTIONS; } });
12
+ Object.defineProperty(exports, "getSearchTypeLabelTranslation", { enumerable: true, get: function () { return search_type_enum_1.getSearchTypeLabelTranslation; } });
13
+ Object.defineProperty(exports, "isSearchType", { enumerable: true, get: function () { return search_type_enum_1.isSearchType; } });
14
+ var logos_1 = require("./assets/logos");
15
+ Object.defineProperty(exports, "MARKETPLACE_SVG_RAW", { enumerable: true, get: function () { return logos_1.MARKETPLACE_SVG_RAW; } });
16
+ Object.defineProperty(exports, "MARKETPLACE_LOGO_PATHS", { enumerable: true, get: function () { return logos_1.MARKETPLACE_LOGO_PATHS; } });
17
+ Object.defineProperty(exports, "getMarketplaceLogoDataUri", { enumerable: true, get: function () { return logos_1.getMarketplaceLogoDataUri; } });
18
+ var notification_channel_enum_1 = require("./enums/notification-channel.enum");
19
+ Object.defineProperty(exports, "NotificationChannelEnum", { enumerable: true, get: function () { return notification_channel_enum_1.NotificationChannelEnum; } });
8
20
  /**
9
21
  * Helper runtime juga tersedia lewat subpath
10
22
  * `@thinkerchain/flipper-entities/utilities`; re-export di sini untuk
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAiCA,mDAI6B;AAH3B,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AAIf;;;;GAIG;AACH,yCAWqB;AAVnB,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAiCA,mDAI6B;AAH3B,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AAIf,6DAMkC;AALhC,kHAAA,cAAc,OAAA;AACd,gHAAA,YAAY,OAAA;AACZ,uHAAA,mBAAmB,OAAA;AACnB,iIAAA,6BAA6B,OAAA;AAC7B,gHAAA,YAAY,OAAA;AAId,wCAIwB;AAHtB,4GAAA,mBAAmB,OAAA;AACnB,+GAAA,sBAAsB,OAAA;AACtB,kHAAA,yBAAyB,OAAA;AAG3B,+EAA4E;AAAnE,oIAAA,uBAAuB,OAAA;AAQhC;;;;GAIG;AACH,yCAWqB;AAVnB,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AACpB,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA"}
@@ -0,0 +1,35 @@
1
+ import type { NotificationChannelEnum } from '../enums/notification-channel.enum';
2
+ import type { UserWithRelations } from './user.types';
3
+ export interface NotificationAction {
4
+ label: string;
5
+ url: string;
6
+ }
7
+ export interface NotificationOverrides {
8
+ email?: {
9
+ html?: string;
10
+ subject?: string;
11
+ };
12
+ telegram?: {
13
+ parseMode?: 'HTML' | 'MarkdownV2';
14
+ replyMarkup?: unknown;
15
+ };
16
+ webApp?: {
17
+ icon?: string;
18
+ priority?: 'info' | 'warning' | 'urgent';
19
+ };
20
+ }
21
+ export interface MultiChannelNotificationPayload {
22
+ user: UserWithRelations;
23
+ channels: NotificationChannelEnum[];
24
+ title?: string;
25
+ message: string;
26
+ action?: NotificationAction;
27
+ overrides?: NotificationOverrides;
28
+ }
29
+ export interface MultiChannelDeliveryResult {
30
+ channel: NotificationChannelEnum;
31
+ success: boolean;
32
+ messageId?: string;
33
+ error?: string;
34
+ }
35
+ //# sourceMappingURL=notification.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.types.d.ts","sourceRoot":"","sources":["../../src/types/notification.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxE,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;CACtE;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.types.js","sourceRoot":"","sources":["../../src/types/notification.types.ts"],"names":[],"mappings":""}
@@ -11,6 +11,16 @@ export interface ProductFeature {
11
11
  label: string;
12
12
  included: boolean;
13
13
  }
14
+ /** Profil slot per marketplace yang dijual sebuah scanner (tabel `ProductSearchMarketPlaceProfile`). */
15
+ export interface ProductSearchMarketPlaceProfileEntity {
16
+ id: number;
17
+ productSearchProfileId: number;
18
+ marketplace: string;
19
+ slot: number;
20
+ deleted?: boolean;
21
+ createdAt?: string;
22
+ updatedAt?: string;
23
+ }
14
24
  /** Profil search yang dijual sebuah produk (tabel `ProductSearchProfile`). */
15
25
  export interface ProductSearchProfileEntity {
16
26
  id: number;
@@ -18,12 +28,18 @@ export interface ProductSearchProfileEntity {
18
28
  /** Slug stabil, dipakai baris langganan untuk menunjuk profil ini. */
19
29
  key: string;
20
30
  name: string;
21
- /** Jumlah search aktif yang boleh menempel ke profil ini. */
22
- slot: number;
31
+ /** Deskripsi/keterangan durasi pencarian (mis. '10 Menit durasi pencarian', 'Blazing fast'). */
32
+ description?: string | null;
33
+ /** Slot total dasar / fallback. */
34
+ slot?: number;
23
35
  /** Delay antar-scrape (ms) yang dipakai search di profil ini. */
24
36
  delayMilis: number;
25
- /** Marketplace yang boleh dipakai search di profil ini. */
26
- allowedMarketPlaces: string[];
37
+ /** Efek visual kartu di UI: basic, special-gradient, mythical. */
38
+ specialEffect?: 'basic' | 'special-gradient' | 'mythical';
39
+ /** Marketplace yang boleh dipakai search di profil ini (legacy). */
40
+ allowedMarketPlaces?: string[];
41
+ /** Rincian slot per marketplace. */
42
+ marketplaceProfiles?: ProductSearchMarketPlaceProfileEntity[];
27
43
  deleted: boolean;
28
44
  createdAt: string;
29
45
  updatedAt: string;
@@ -64,6 +80,8 @@ export type ProductEntity = {
64
80
  description: string | null;
65
81
  kind: string;
66
82
  priceCents: number;
83
+ /** Harga coret dekoratif jika ada diskon/promo. */
84
+ stripePriceCents?: number | null;
67
85
  currency: string;
68
86
  sortOrder: number;
69
87
  isActive: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"product.types.d.ts","sourceRoot":"","sources":["../../src/types/product.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,0BAA0B,EAAE,CAAC;IAC7C,eAAe,EAAE,2BAA2B,EAAE,CAAC;IAC/C,oBAAoB,CAAC,EAAE,gCAAgC,EAAE,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"product.types.d.ts","sourceRoot":"","sources":["../../src/types/product.types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import type { LocationJSONB, MarketPlacePropJSONB, ItemFilterJSONB } from './search-jsonb.types';
2
2
  import type { UserWithRelations } from './user.types';
3
+ import type { SearchTypeEnum } from '../enums/search-type.enum';
3
4
  /** Representasi tabel `Search`. */
4
5
  export type SearchEntity = {
5
6
  id: number;
6
7
  userId: number;
7
8
  title: string;
8
- type: string;
9
+ type: SearchTypeEnum | string;
10
+ typeLabelTranslation?: string;
9
11
  marketPlaceProp: MarketPlacePropJSONB | null;
10
12
  location: LocationJSONB | null;
11
13
  targetName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"search.types.d.ts","sourceRoot":"","sources":["../../src/types/search.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG;IAC1C,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"search.types.d.ts","sourceRoot":"","sources":["../../src/types/search.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG;IAC1C,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B,CAAC"}
@@ -1,33 +1,51 @@
1
1
  import type { ProductEntity } from './product.types';
2
+ import type { MarketplaceEnum } from '../enums/marketplace';
2
3
  export type SubscriptionStatus = 'trialing' | 'active' | 'past_due' | 'canceled' | 'expired';
3
4
  export type SubscriptionSource = 'manual' | 'trial' | 'payment';
4
5
  /** Kelompok entitlement di dalam satu langganan. */
5
6
  export type SubscriptionProfileKind = 'search' | 'channel' | 'banned_seller';
6
7
  /**
7
- * Profil scanner beku milik satu langganan (tabel `SubscriptionSearchProfile`).
8
- * Dibuat sekali saat langganan dibuat; `Search` menempel ke baris ini, bukan ke
9
- * katalog — jadi edit atau hapus produk tidak pernah mengubah relasi.
8
+ * Profil slot per marketplace beku milik satu scanner (tabel `FrozenSearchMarketPlaceProfile`).
10
9
  */
11
- export interface SubscriptionSearchProfileEntity {
10
+ export interface FrozenSearchMarketPlaceProfileEntity {
11
+ id: number;
12
+ frozenSearchProfileId: number;
13
+ marketplace: string;
14
+ slot: number;
15
+ deleted?: boolean;
16
+ createdAt?: string;
17
+ updatedAt?: string;
18
+ }
19
+ /**
20
+ * Profil scanner beku milik satu langganan (tabel `FrozenSearchProfile` / `SubscriptionSearchProfile`).
21
+ */
22
+ export interface FrozenSearchProfileEntity {
12
23
  id: number;
13
24
  subscriptionId: number;
14
25
  key: string;
15
26
  name: string;
16
- /** Slot dasar dari plan saat langganan dibuat. */
17
- slot: number;
27
+ /** Deskripsi/keterangan durasi pencarian (mis. '10 Menit durasi pencarian', 'Blazing fast'). */
28
+ description?: string | null;
29
+ /** Slot total dasar / legacy fallback. */
30
+ slot?: number;
18
31
  /** Delay antar-scrape (ms) beku untuk scanner ini. */
19
32
  delayMilis: number;
20
- /** Marketplace beku yang boleh dipakai scanner ini. */
21
- allowedMarketPlaces: string[];
33
+ /** Efek visual kartu di UI: basic, special-gradient, mythical. */
34
+ specialEffect?: 'basic' | 'special-gradient' | 'mythical';
35
+ /** Marketplace beku yang boleh dipakai scanner ini (legacy). */
36
+ allowedMarketPlaces?: string[];
37
+ /** Rincian profil slot per marketplace. */
38
+ marketplaceProfiles?: FrozenSearchMarketPlaceProfileEntity[];
22
39
  deleted: boolean;
23
40
  createdAt: string;
24
41
  }
42
+ export type SubscriptionSearchProfileEntity = FrozenSearchProfileEntity;
25
43
  /**
26
- * Profil channel beku milik satu langganan (tabel `SubscriptionChannelProfile`).
44
+ * Profil channel beku milik satu langganan (tabel `FrozenChannelProfile` / `SubscriptionChannelProfile`).
27
45
  * Agnostik: tidak menyimpan jenis channel — `UserChannel.other.type` yang
28
46
  * menentukan, divalidasi terhadap `SUPPORTED_CHANNEL_TYPES`.
29
47
  */
30
- export interface SubscriptionChannelProfileEntity {
48
+ export interface FrozenChannelProfileEntity {
31
49
  id: number;
32
50
  subscriptionId: number;
33
51
  key: string;
@@ -36,10 +54,11 @@ export interface SubscriptionChannelProfileEntity {
36
54
  deleted: boolean;
37
55
  createdAt: string;
38
56
  }
57
+ export type SubscriptionChannelProfileEntity = FrozenChannelProfileEntity;
39
58
  /**
40
- * Profil banned seller beku milik satu langganan (tabel `SubscriptionBannedSellerProfile`).
59
+ * Profil banned seller beku milik satu langganan (tabel `FrozenBannedSellerProfile` / `SubscriptionBannedSellerProfile`).
41
60
  */
42
- export interface SubscriptionBannedSellerProfileEntity {
61
+ export interface FrozenBannedSellerProfileEntity {
43
62
  id: number;
44
63
  subscriptionId: number;
45
64
  key: string;
@@ -48,15 +67,20 @@ export interface SubscriptionBannedSellerProfileEntity {
48
67
  deleted: boolean;
49
68
  createdAt: string;
50
69
  }
70
+ export type SubscriptionBannedSellerProfileEntity = FrozenBannedSellerProfileEntity;
51
71
  /** Copy profil untuk audit; angka yang dipakai logika ada di baris relasional. */
52
72
  export interface SubscriptionProfileSnapshot {
53
73
  profileId: number;
54
74
  kind: SubscriptionProfileKind;
55
75
  key: string;
56
76
  name: string;
57
- slot: number;
77
+ slot?: number;
58
78
  delayMilis?: number | null;
59
79
  allowedMarketPlaces?: string[] | null;
80
+ marketplaces?: {
81
+ marketplace: MarketplaceEnum | string;
82
+ slot: number;
83
+ }[];
60
84
  }
61
85
  /** Snapshot saat langganan dibuat; audit/display saja, bukan sumber logika. */
62
86
  export interface SubscriptionSnapshot {
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.types.d.ts","sourceRoot":"","sources":["../../src/types/subscription.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription.types.d.ts","sourceRoot":"","sources":["../../src/types/subscription.types.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,31 @@
1
1
  import type { SubscriptionProfileKind, SubscriptionStatus } from './subscription.types';
2
+ /** Pemakaian slot marketplace di dalam satu profil scanner. */
3
+ export interface UsageMarketplaceMetric {
4
+ id: number;
5
+ marketplace: string;
6
+ slot: number;
7
+ used: number;
8
+ available: number;
9
+ isAvailable: boolean;
10
+ }
2
11
  /** Pemakaian satu profil langganan (scanner atau channel). */
3
12
  export interface UsageProfileMetric {
4
13
  subscriptionProfileId: number;
5
14
  kind: SubscriptionProfileKind;
6
15
  key: string;
7
16
  name: string;
17
+ /** Deskripsi/keterangan durasi pencarian (mis. '10 Menit durasi pencarian', 'Blazing fast'). */
18
+ description?: string | null;
8
19
  used: number;
9
20
  /** Slot efektif profil ini (= slot beku dari plan). */
10
21
  slot: number;
11
22
  /** Nilai beku profil scanner, dipakai FE untuk menampilkan & mengisi form. */
12
23
  delayMilis?: number | null;
13
24
  allowedMarketPlaces?: string[] | null;
25
+ /** Efek visual kartu di UI: basic, special-gradient, mythical. */
26
+ specialEffect?: 'basic' | 'special-gradient' | 'mythical';
27
+ /** Rincian kuota per marketplace (untuk scanner). */
28
+ marketplaces?: UsageMarketplaceMetric[];
14
29
  }
15
30
  /** Satu kelompok metrik: total pemakaian + rincian per profil. */
16
31
  export interface UsageMetric {
@@ -1 +1 @@
1
- {"version":3,"file":"usage.types.d.ts","sourceRoot":"","sources":["../../src/types/usage.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACvC;AAED,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B"}
1
+ {"version":3,"file":"usage.types.d.ts","sourceRoot":"","sources":["../../src/types/usage.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtC,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,GAAG,kBAAkB,GAAG,UAAU,CAAC;IAC1D,qDAAqD;IACrD,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACzC;AAED,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B"}
@@ -6,8 +6,11 @@ export type UserEntity = {
6
6
  username: string;
7
7
  name: string | null;
8
8
  email: string | null;
9
+ phoneNumber?: string | null;
9
10
  password: string;
10
11
  isEmailValid: boolean;
12
+ isPhoneValid?: boolean;
13
+ timezone?: string;
11
14
  roles: string[];
12
15
  option: Record<string, unknown> | null;
13
16
  deleted: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"user.types.d.ts","sourceRoot":"","sources":["../../src/types/user.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"user.types.d.ts","sourceRoot":"","sources":["../../src/types/user.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC7B,CAAC"}
package/package.json CHANGED
@@ -1,39 +1,39 @@
1
- {
2
- "name": "@thinkerchain/flipper-entities",
3
- "version": "2.7.0",
4
- "private": false,
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/index.d.ts",
10
- "default": "./dist/index.js"
11
- },
12
- "./utilities": {
13
- "types": "./dist/utilities/index.d.ts",
14
- "default": "./dist/utilities/index.js"
15
- },
16
- "./utilities/*": {
17
- "types": "./dist/utilities/*.d.ts",
18
- "default": "./dist/utilities/*.js"
19
- }
20
- },
21
- "files": [
22
- "dist",
23
- "utilities",
24
- "README.md"
25
- ],
26
- "scripts": {
27
- "prebuild": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
28
- "build": "tsc",
29
- "test": "bun test src",
30
- "prepublishOnly": "bun run build"
31
- },
32
- "publishConfig": {
33
- "access": "public"
34
- },
35
- "devDependencies": {
36
- "typescript": "^5.0.0"
37
- },
38
- "license": "UNLICENSED"
39
- }
1
+ {
2
+ "name": "@thinkerchain/flipper-entities",
3
+ "version": "2.7.2",
4
+ "private": false,
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./utilities": {
13
+ "types": "./dist/utilities/index.d.ts",
14
+ "default": "./dist/utilities/index.js"
15
+ },
16
+ "./utilities/*": {
17
+ "types": "./dist/utilities/*.d.ts",
18
+ "default": "./dist/utilities/*.js"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "utilities",
24
+ "README.md"
25
+ ],
26
+ "scripts": {
27
+ "prebuild": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
28
+ "build": "tsc",
29
+ "test": "bun test src",
30
+ "prepublishOnly": "bun run build"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "devDependencies": {
36
+ "typescript": "^5.0.0"
37
+ },
38
+ "license": "UNLICENSED"
39
+ }
@@ -1,5 +1,5 @@
1
- {
2
- "comment": "Passthrough subpath untuk resolver lama (node10/CommonJS: be, core, engine) yang mengabaikan field `exports`. Jangan dihapus.",
3
- "main": "../dist/utilities/index.js",
4
- "types": "../dist/utilities/index.d.ts"
5
- }
1
+ {
2
+ "comment": "Passthrough subpath untuk resolver lama (node10/CommonJS: be, core, engine) yang mengabaikan field `exports`. Jangan dihapus.",
3
+ "main": "../dist/utilities/index.js",
4
+ "types": "../dist/utilities/index.d.ts"
5
+ }