@mohasinac/appkit 4.58.0 → 4.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-stamp.json +3 -3
- package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/messages.js +1 -1
- package/dist/_internal/shared/types/base-document.d.ts +1 -1
- package/dist/constants/seed-meta.d.ts +113 -0
- package/dist/constants/seed-meta.js +91 -0
- package/dist/index.d.ts +0 -131
- package/dist/index.js +50 -294
- package/dist/server.d.ts +0 -69
- package/dist/server.js +0 -69
- package/package.json +4 -2
- package/scripts/seed-cli.mjs +69 -1
- package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
- package/dist/features/tester/seed-data/_happy-path.js +0 -710
- package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
- package/dist/features/tester/seed-data/_money-flows.js +0 -610
- package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
- package/dist/features/tester/seed-data/authored/_types.js +0 -35
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
- package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
- package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
- package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
- package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
- package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
- package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
- package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
- package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
- package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
- package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
- package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
- package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
- package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
- package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
- package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
- package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
- package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
- package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
- package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
- package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
- package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
- package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
- package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
- package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/index.js +0 -301
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
- package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
- package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
- package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
- package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
- package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
- package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
- package/dist/features/tester/seed-data/index.d.ts +0 -2
- package/dist/features/tester/seed-data/index.js +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
- package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
- package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
- package/dist/features/tester/seed-data/tester-window.js +0 -66
- package/dist/seed/_helpers/brand-rows.d.ts +0 -35
- package/dist/seed/_helpers/brand-rows.js +0 -600
- package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
- package/dist/seed/_helpers/category-content-generated.js +0 -1853
- package/dist/seed/_helpers/category-content.d.ts +0 -68
- package/dist/seed/_helpers/category-content.js +0 -731
- package/dist/seed/_helpers/category-forest.d.ts +0 -4
- package/dist/seed/_helpers/category-forest.js +0 -824
- package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
- package/dist/seed/_helpers/category-images-generated.js +0 -618
- package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
- package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
- package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
- package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
- package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
- package/dist/seed/_helpers/category-models.d.ts +0 -12
- package/dist/seed/_helpers/category-models.js +0 -45
- package/dist/seed/_helpers/category-names.d.ts +0 -54
- package/dist/seed/_helpers/category-names.js +0 -118
- package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
- package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
- package/dist/seed/_helpers/category-parts.d.ts +0 -9
- package/dist/seed/_helpers/category-parts.js +0 -15022
- package/dist/seed/_helpers/category-tree.d.ts +0 -27
- package/dist/seed/_helpers/category-tree.js +0 -119
- package/dist/seed/_helpers/character-features.d.ts +0 -10
- package/dist/seed/_helpers/character-features.js +0 -120
- package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
- package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
- package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
- package/dist/seed/_helpers/franchise-rows.js +0 -189
- package/dist/seed/_helpers/media.d.ts +0 -67
- package/dist/seed/_helpers/media.js +0 -172
- package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
- package/dist/seed/_helpers/part-colours-generated.js +0 -273
- package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
- package/dist/seed/_helpers/product-search-txt.js +0 -23
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
- package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
- package/dist/seed/addresses-seed-data.d.ts +0 -2
- package/dist/seed/addresses-seed-data.js +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
- package/dist/seed/bey-products-seed-data.d.ts +0 -18
- package/dist/seed/bey-products-seed-data.js +0 -18011
- package/dist/seed/beys/chunk0.d.ts +0 -17
- package/dist/seed/beys/chunk0.js +0 -36733
- package/dist/seed/beys/chunk1.d.ts +0 -17
- package/dist/seed/beys/chunk1.js +0 -35728
- package/dist/seed/beys/chunk2.d.ts +0 -17
- package/dist/seed/beys/chunk2.js +0 -35857
- package/dist/seed/beys/chunk3.d.ts +0 -17
- package/dist/seed/beys/chunk3.js +0 -34476
- package/dist/seed/beys-seed-data.d.ts +0 -18
- package/dist/seed/beys-seed-data.js +0 -11
- package/dist/seed/bids-seed-data.d.ts +0 -2
- package/dist/seed/bids-seed-data.js +0 -206
- package/dist/seed/blog-posts-seed-data.d.ts +0 -6
- package/dist/seed/blog-posts-seed-data.js +0 -442
- package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
- package/dist/seed/carousel-slides-seed-data.js +0 -411
- package/dist/seed/carousels-seed-data.d.ts +0 -2
- package/dist/seed/carousels-seed-data.js +0 -36
- package/dist/seed/cart-seed-data.d.ts +0 -2
- package/dist/seed/cart-seed-data.js +0 -241
- package/dist/seed/catalogue-seed-data.d.ts +0 -2
- package/dist/seed/catalogue-seed-data.js +0 -112
- package/dist/seed/categories-seed-data.d.ts +0 -3
- package/dist/seed/categories-seed-data.js +0 -816
- package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
- package/dist/seed/claimed-coupons-seed-data.js +0 -85
- package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
- package/dist/seed/coupon-usage-seed-data.js +0 -55
- package/dist/seed/coupons-seed-data.d.ts +0 -2
- package/dist/seed/coupons-seed-data.js +0 -226
- package/dist/seed/defaults/categories.d.ts +0 -2
- package/dist/seed/defaults/categories.js +0 -12
- package/dist/seed/defaults/faqs.d.ts +0 -2
- package/dist/seed/defaults/faqs.js +0 -40
- package/dist/seed/events-seed-data.d.ts +0 -7
- package/dist/seed/events-seed-data.js +0 -482
- package/dist/seed/factories/address.factory.d.ts +0 -21
- package/dist/seed/factories/address.factory.js +0 -44
- package/dist/seed/factories/bid.factory.d.ts +0 -15
- package/dist/seed/factories/bid.factory.js +0 -33
- package/dist/seed/factories/blog-post.factory.d.ts +0 -15
- package/dist/seed/factories/blog-post.factory.js +0 -22
- package/dist/seed/factories/carousel.factory.d.ts +0 -11
- package/dist/seed/factories/carousel.factory.js +0 -17
- package/dist/seed/factories/cart.factory.d.ts +0 -25
- package/dist/seed/factories/cart.factory.js +0 -35
- package/dist/seed/factories/category.factory.d.ts +0 -11
- package/dist/seed/factories/category.factory.js +0 -16
- package/dist/seed/factories/coupon.factory.d.ts +0 -21
- package/dist/seed/factories/coupon.factory.js +0 -43
- package/dist/seed/factories/faq.factory.d.ts +0 -10
- package/dist/seed/factories/faq.factory.js +0 -15
- package/dist/seed/factories/notification.factory.d.ts +0 -18
- package/dist/seed/factories/notification.factory.js +0 -39
- package/dist/seed/factories/order.factory.d.ts +0 -20
- package/dist/seed/factories/order.factory.js +0 -20
- package/dist/seed/factories/payout.factory.d.ts +0 -21
- package/dist/seed/factories/payout.factory.js +0 -38
- package/dist/seed/factories/product.factory.d.ts +0 -27
- package/dist/seed/factories/product.factory.js +0 -80
- package/dist/seed/factories/review.factory.d.ts +0 -14
- package/dist/seed/factories/review.factory.js +0 -52
- package/dist/seed/factories/session.factory.d.ts +0 -15
- package/dist/seed/factories/session.factory.js +0 -31
- package/dist/seed/factories/store.factory.d.ts +0 -23
- package/dist/seed/factories/store.factory.js +0 -47
- package/dist/seed/factories/user.factory.d.ts +0 -19
- package/dist/seed/factories/user.factory.js +0 -56
- package/dist/seed/faq-seed-data.d.ts +0 -18
- package/dist/seed/faq-seed-data.js +0 -1956
- package/dist/seed/firestore-indexes.d.ts +0 -12
- package/dist/seed/firestore-indexes.js +0 -31
- package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
- package/dist/seed/grouped-listings-seed-data.js +0 -283
- package/dist/seed/history-seed-data.d.ts +0 -12
- package/dist/seed/history-seed-data.js +0 -70
- package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
- package/dist/seed/homepage-sections-seed-data.js +0 -1034
- package/dist/seed/index.d.ts +0 -100
- package/dist/seed/index.js +0 -115
- package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
- package/dist/seed/lottery-entries-seed-data.js +0 -108
- package/dist/seed/manifest.d.ts +0 -16
- package/dist/seed/manifest.js +0 -235
- package/dist/seed/media-assets-seed-data.d.ts +0 -22
- package/dist/seed/media-assets-seed-data.js +0 -5593
- package/dist/seed/model-composition-seed-data.d.ts +0 -15
- package/dist/seed/model-composition-seed-data.js +0 -9032
- package/dist/seed/notifications-seed-data.d.ts +0 -2
- package/dist/seed/notifications-seed-data.js +0 -606
- package/dist/seed/offers-seed-data.d.ts +0 -2
- package/dist/seed/offers-seed-data.js +0 -398
- package/dist/seed/orders-seed-data.d.ts +0 -2
- package/dist/seed/orders-seed-data.js +0 -845
- package/dist/seed/part-glossary/chunk0.d.ts +0 -9
- package/dist/seed/part-glossary/chunk0.js +0 -35448
- package/dist/seed/part-glossary/chunk1.d.ts +0 -9
- package/dist/seed/part-glossary/chunk1.js +0 -40494
- package/dist/seed/part-glossary/chunk2.d.ts +0 -9
- package/dist/seed/part-glossary/chunk2.js +0 -51242
- package/dist/seed/part-glossary/chunk3.d.ts +0 -9
- package/dist/seed/part-glossary/chunk3.js +0 -53337
- package/dist/seed/part-glossary/chunk4.d.ts +0 -9
- package/dist/seed/part-glossary/chunk4.js +0 -51454
- package/dist/seed/part-glossary-seed-data.d.ts +0 -15
- package/dist/seed/part-glossary-seed-data.js +0 -25
- package/dist/seed/payouts-seed-data.d.ts +0 -2
- package/dist/seed/payouts-seed-data.js +0 -302
- package/dist/seed/product-features-seed-data.d.ts +0 -3
- package/dist/seed/product-features-seed-data.js +0 -366
- package/dist/seed/products-art-seed-data.d.ts +0 -2
- package/dist/seed/products-art-seed-data.js +0 -289
- package/dist/seed/products-auctions-seed-data.d.ts +0 -2
- package/dist/seed/products-auctions-seed-data.js +0 -475
- package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
- package/dist/seed/products-beyblade-x-seed-data.js +0 -476
- package/dist/seed/products-catalogue/chunk0.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk0.js +0 -7262
- package/dist/seed/products-catalogue/chunk1.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk1.js +0 -7290
- package/dist/seed/products-catalogue/chunk10.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk10.js +0 -7290
- package/dist/seed/products-catalogue/chunk11.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk11.js +0 -7005
- package/dist/seed/products-catalogue/chunk12.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk12.js +0 -7002
- package/dist/seed/products-catalogue/chunk13.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk13.js +0 -7002
- package/dist/seed/products-catalogue/chunk14.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk14.js +0 -7002
- package/dist/seed/products-catalogue/chunk15.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk15.js +0 -7002
- package/dist/seed/products-catalogue/chunk16.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk16.js +0 -7002
- package/dist/seed/products-catalogue/chunk17.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk17.js +0 -7002
- package/dist/seed/products-catalogue/chunk18.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk18.js +0 -4398
- package/dist/seed/products-catalogue/chunk2.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk2.js +0 -7268
- package/dist/seed/products-catalogue/chunk3.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk3.js +0 -7264
- package/dist/seed/products-catalogue/chunk4.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk4.js +0 -7268
- package/dist/seed/products-catalogue/chunk5.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk5.js +0 -7258
- package/dist/seed/products-catalogue/chunk6.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk6.js +0 -7268
- package/dist/seed/products-catalogue/chunk7.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk7.js +0 -7311
- package/dist/seed/products-catalogue/chunk8.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk8.js +0 -7304
- package/dist/seed/products-catalogue/chunk9.d.ts +0 -12
- package/dist/seed/products-catalogue/chunk9.js +0 -7309
- package/dist/seed/products-catalogue-seed-data.d.ts +0 -2
- package/dist/seed/products-catalogue-seed-data.js +0 -60
- package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
- package/dist/seed/products-classifieds-seed-data.js +0 -435
- package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
- package/dist/seed/products-digital-codes-seed-data.js +0 -395
- package/dist/seed/products-live-items-seed-data.d.ts +0 -7
- package/dist/seed/products-live-items-seed-data.js +0 -269
- package/dist/seed/products-preorders-seed-data.d.ts +0 -2
- package/dist/seed/products-preorders-seed-data.js +0 -360
- package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
- package/dist/seed/products-prize-draws-seed-data.js +0 -427
- package/dist/seed/products-spares-seed-data.d.ts +0 -2
- package/dist/seed/products-spares-seed-data.js +0 -368
- package/dist/seed/products-standard-seed-data.d.ts +0 -2
- package/dist/seed/products-standard-seed-data.js +0 -632
- package/dist/seed/products-stickers-seed-data.d.ts +0 -2
- package/dist/seed/products-stickers-seed-data.js +0 -319
- package/dist/seed/reviews-seed-data.d.ts +0 -1
- package/dist/seed/reviews-seed-data.js +0 -185
- package/dist/seed/runner.d.ts +0 -2
- package/dist/seed/runner.js +0 -125
- package/dist/seed/scammers-seed-data.d.ts +0 -2
- package/dist/seed/scammers-seed-data.js +0 -235
- package/dist/seed/seed-market-config.d.ts +0 -48
- package/dist/seed/seed-market-config.js +0 -199
- package/dist/seed/seed-purpose.d.ts +0 -299
- package/dist/seed/seed-purpose.js +0 -440
- package/dist/seed/sessions-seed-data.d.ts +0 -3
- package/dist/seed/sessions-seed-data.js +0 -116
- package/dist/seed/shipments-seed-data.d.ts +0 -5
- package/dist/seed/shipments-seed-data.js +0 -185
- package/dist/seed/site-settings-seed-data.d.ts +0 -2
- package/dist/seed/site-settings-seed-data.js +0 -1069
- package/dist/seed/store-addresses-seed-data.d.ts +0 -18
- package/dist/seed/store-addresses-seed-data.js +0 -71
- package/dist/seed/store-extensions-seed-data.d.ts +0 -11
- package/dist/seed/store-extensions-seed-data.js +0 -292
- package/dist/seed/stores-seed-data.d.ts +0 -6
- package/dist/seed/stores-seed-data.js +0 -242
- package/dist/seed/support-tickets-seed-data.d.ts +0 -16
- package/dist/seed/support-tickets-seed-data.js +0 -239
- package/dist/seed/tax-codes-seed-data.d.ts +0 -34
- package/dist/seed/tax-codes-seed-data.js +0 -100
- package/dist/seed/test-data-ttl.d.ts +0 -29
- package/dist/seed/test-data-ttl.js +0 -31
- package/dist/seed/test-utils.d.ts +0 -49
- package/dist/seed/test-utils.js +0 -110
- package/dist/seed/types.d.ts +0 -89
- package/dist/seed/types.js +0 -15
- package/dist/seed/users-seed-data.d.ts +0 -2
- package/dist/seed/users-seed-data.js +0 -597
- package/dist/seed/wishlists-seed-data.d.ts +0 -12
- package/dist/seed/wishlists-seed-data.js +0 -54
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Seeds scammer profiles for the collectibles marketplace — 5 profiles covering the full status workflow
|
|
3
|
-
* plus real fixtures for the "related scammer profiles" feature (2026-08-19).
|
|
4
|
-
* WHAT: 3 verified, 1 pending_review, 1 rejected. Fictional Beyblade-related scam scenarios.
|
|
5
|
-
* Profiles #1 and #4 share scamType "advance_payment_ghost" (verified "Similar Scam Reports"
|
|
6
|
-
* discovery). Profiles #4 and #5 cross-link via relatedScammerIds (verified "Related Profiles" —
|
|
7
|
-
* same operator, two aliases) — deliberately NOT linked to #1, since #1 is a different person
|
|
8
|
-
* who happens to use the same scam pattern, not the same identity.
|
|
9
|
-
*
|
|
10
|
-
* EXPORTS:
|
|
11
|
-
* scammersSeedData — Array of Partial<ScammerDocument> for seed runner
|
|
12
|
-
*
|
|
13
|
-
* @tag domain:scams
|
|
14
|
-
* @tag layer:seed
|
|
15
|
-
* @tag pattern:none
|
|
16
|
-
* @tag access:server-only
|
|
17
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
18
|
-
* @tag sideEffects:none
|
|
19
|
-
*/
|
|
20
|
-
import { withScammerSearchTxt } from "./_helpers/search-txt-wrappers.js";
|
|
21
|
-
import { SCAMMER_FIELDS } from "../constants/field-names.js";
|
|
22
|
-
import { seedPhoto } from "./_helpers/media.js";
|
|
23
|
-
const NOW = new Date("2026-05-10T00:00:00.000Z");
|
|
24
|
-
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
25
|
-
/**
|
|
26
|
-
* A timeline entry for the W18 `statusHistory` fixtures.
|
|
27
|
-
*
|
|
28
|
-
* 🛑 `actorUid` only. A scammer profile is built ENTIRELY out of identifying
|
|
29
|
-
* details, which is why `SCAMMER_HISTORY_PII_FIELDS` is the longest scrub
|
|
30
|
-
* list of any adopter — a fixture carrying a name here would be modelling the
|
|
31
|
-
* exact leak the primitive exists to prevent.
|
|
32
|
-
*/
|
|
33
|
-
function entry(at, actorRole, trigger, changes, extra) {
|
|
34
|
-
return { at, actorRole, trigger, changes, ...extra };
|
|
35
|
-
}
|
|
36
|
-
// Annotated HERE, not on the export, so the literal is contextually typed as
|
|
37
|
-
// Partial<ScammerDocument> before `.map` sees it. Without this TS infers a
|
|
38
|
-
// union of the individual object shapes and rejects the wrapper's generic —
|
|
39
|
-
// and the error points at the map call rather than at the field that actually
|
|
40
|
-
// diverged.
|
|
41
|
-
const scammerRows = [
|
|
42
|
-
// ── 1. Verified — advance payment ghost ──────────────────────────────────────
|
|
43
|
-
{
|
|
44
|
-
id: "scammer-fake-lob-seller",
|
|
45
|
-
seoSlug: "scammer-fake-lob-seller",
|
|
46
|
-
displayNames: ["Bey_King_India", "Rare Blades Official"],
|
|
47
|
-
phones: ["9876543210", "8765432109"],
|
|
48
|
-
upiIds: ["9876543210@paytm", "beykingblades@okicici"],
|
|
49
|
-
emails: ["beykingblades.fake@gmail.com"],
|
|
50
|
-
socialMedia: [
|
|
51
|
-
{ platform: "instagram", handle: "bey_king_india_official", url: "https://instagram.com/bey_king_india_official" },
|
|
52
|
-
{ platform: "whatsapp", handle: "9876543210" },
|
|
53
|
-
],
|
|
54
|
-
scamType: "advance_payment_ghost",
|
|
55
|
-
scamPlatform: "whatsapp",
|
|
56
|
-
description: "Seller listed an original-series Dranzer S sealed launcher set on a Facebook group for ₹2,500 — significantly below market. When I messaged, he asked for ₹500 advance to 'hold' the set before shipping. After I paid via UPI (9876543210@paytm), he went silent. The account name on UPI matched 'Bey King'. Later found 2 more people in the same group who had the same experience with the same UPI ID.",
|
|
57
|
-
amountLost: 500,
|
|
58
|
-
itemInvolved: "Beyblade Original Dranzer S — Sealed Launcher Set",
|
|
59
|
-
evidence: [seedPhoto("scammer-evidence-beyking-chat-screenshot-20260402", 800, 600)],
|
|
60
|
-
reportedBy: "user-yugi-muto",
|
|
61
|
-
reportedByAnon: false,
|
|
62
|
-
status: SCAMMER_FIELDS.STATUS_VALUES.VERIFIED,
|
|
63
|
-
verifiedBy: "user-admin-letitrip",
|
|
64
|
-
verifiedAt: daysAgo(20),
|
|
65
|
-
verificationNote: "Confirmed 3 separate victims with same UPI ID. Profile verified.",
|
|
66
|
-
relatedScammerIds: [],
|
|
67
|
-
mergedFromIds: [],
|
|
68
|
-
tags: ["repeat_offender", "high_value"],
|
|
69
|
-
views: 147,
|
|
70
|
-
incidentCount: 2,
|
|
71
|
-
commentCount: 3,
|
|
72
|
-
contestCount: 0,
|
|
73
|
-
isContested: false,
|
|
74
|
-
createdAt: daysAgo(35),
|
|
75
|
-
updatedAt: daysAgo(20),
|
|
76
|
-
},
|
|
77
|
-
// ── 2. Pending review — fake pre-order listing ────────────────────────────────
|
|
78
|
-
{
|
|
79
|
-
id: "scammer-fake-takara-tomy-preorder",
|
|
80
|
-
seoSlug: "scammer-fake-takara-tomy-preorder",
|
|
81
|
-
displayNames: ["TakaraTomy_Agent_India", "TT India Blades"],
|
|
82
|
-
phones: ["7654321098"],
|
|
83
|
-
upiIds: ["takaratomyagentindia@ybl"],
|
|
84
|
-
emails: ["takaratomy.agent.india@gmail.com"],
|
|
85
|
-
socialMedia: [
|
|
86
|
-
{ platform: "instagram", handle: "takaratomy_agent_india_official" },
|
|
87
|
-
{ platform: "telegram", handle: "takaratomy_agent_india" },
|
|
88
|
-
],
|
|
89
|
-
scamType: "fake_preorder_listing",
|
|
90
|
-
scamPlatform: "instagram",
|
|
91
|
-
description: "Account posed as an authorized pre-order agent for the upcoming Beyblade X BX-08 wave. Collected ₹800 from me for a 'guaranteed allocation slot' via UPI. Instagram profile had ~4,000 followers (likely bought) and fake order screenshots. After payment, the account blocked me. Similar reports found on Reddit r/BeybladeIndia.",
|
|
92
|
-
amountLost: 800,
|
|
93
|
-
itemInvolved: "Beyblade X BX-08 Wave (fake pre-order)",
|
|
94
|
-
evidence: [],
|
|
95
|
-
reportedBy: "user-seto-kaiba",
|
|
96
|
-
reportedByAnon: true,
|
|
97
|
-
status: "pending_review",
|
|
98
|
-
relatedScammerIds: [],
|
|
99
|
-
mergedFromIds: [],
|
|
100
|
-
tags: [],
|
|
101
|
-
views: 12,
|
|
102
|
-
incidentCount: 0,
|
|
103
|
-
commentCount: 0,
|
|
104
|
-
contestCount: 0,
|
|
105
|
-
isContested: false,
|
|
106
|
-
createdAt: daysAgo(3),
|
|
107
|
-
updatedAt: daysAgo(3),
|
|
108
|
-
},
|
|
109
|
-
// ── 3. Rejected — mistaken identity ───────────────────────────────────────────
|
|
110
|
-
{
|
|
111
|
-
id: "scammer-mistaken-identity-case",
|
|
112
|
-
seoSlug: "scammer-mistaken-identity-case",
|
|
113
|
-
displayNames: ["Vikram M", "Vikram Mehta"],
|
|
114
|
-
phones: ["9988776655"],
|
|
115
|
-
upiIds: ["vikramm@okaxis"],
|
|
116
|
-
emails: [],
|
|
117
|
-
socialMedia: [],
|
|
118
|
-
scamType: "empty_box_ship",
|
|
119
|
-
scamPlatform: "olx",
|
|
120
|
-
description: "Sold a sealed Beyblade Burst Regalia Genesis on OLX, buyer claims item never arrived but tracking shows delivered. Buyer opened a scam report. Seller provided courier tracking + photograph of sealed package at drop-off. Report rejected after review.",
|
|
121
|
-
amountLost: 0,
|
|
122
|
-
itemInvolved: "Beyblade Burst Regalia Genesis — Sealed",
|
|
123
|
-
evidence: [],
|
|
124
|
-
reportedBy: "user-yugi-muto",
|
|
125
|
-
reportedByAnon: false,
|
|
126
|
-
status: SCAMMER_FIELDS.STATUS_VALUES.REJECTED,
|
|
127
|
-
verifiedBy: "user-admin-letitrip",
|
|
128
|
-
verifiedAt: daysAgo(8),
|
|
129
|
-
verificationNote: "Seller provided courier proof. Likely delivery dispute, not fraud. Rejected.",
|
|
130
|
-
relatedScammerIds: [],
|
|
131
|
-
mergedFromIds: [],
|
|
132
|
-
tags: [],
|
|
133
|
-
views: 4,
|
|
134
|
-
incidentCount: 0,
|
|
135
|
-
commentCount: 1,
|
|
136
|
-
contestCount: 1,
|
|
137
|
-
isContested: false,
|
|
138
|
-
createdAt: daysAgo(15),
|
|
139
|
-
updatedAt: daysAgo(8),
|
|
140
|
-
/*
|
|
141
|
-
* pending_review -> rejected, with the note that decided it.
|
|
142
|
-
*
|
|
143
|
-
* `verifiedBy`/`verifiedAt` hold only the LAST decision, so a profile
|
|
144
|
-
* that was verified, removed, then re-verified kept no trace of the
|
|
145
|
-
* middle. This is the fixture the "decision history" panel reads.
|
|
146
|
-
*/
|
|
147
|
-
statusHistory: [
|
|
148
|
-
entry(daysAgo(15), "system", "publicScamReport", {
|
|
149
|
-
status: { from: null, to: "pending_review" },
|
|
150
|
-
}),
|
|
151
|
-
entry(daysAgo(8), "admin", "adminScammerPatch", {
|
|
152
|
-
status: { from: "pending_review", to: "rejected" },
|
|
153
|
-
verifiedBy: { from: null, to: "user-admin-letitrip" },
|
|
154
|
-
verificationNote: {
|
|
155
|
-
from: null,
|
|
156
|
-
to: "Seller provided courier proof. Likely delivery dispute, not fraud. Rejected.",
|
|
157
|
-
},
|
|
158
|
-
}, {
|
|
159
|
-
actorUid: "user-admin-letitrip",
|
|
160
|
-
reason: "Seller provided courier proof. Likely delivery dispute, not fraud. Rejected.",
|
|
161
|
-
}),
|
|
162
|
-
],
|
|
163
|
-
},
|
|
164
|
-
// ── 4. Verified — advance payment ghost (same scamType as #1, different person) ──
|
|
165
|
-
{
|
|
166
|
-
id: "scammer-fake-metal-fusion-preorder-agent",
|
|
167
|
-
seoSlug: "scammer-fake-metal-fusion-preorder-agent",
|
|
168
|
-
displayNames: ["MetalFusion_PreorderAgent", "MF Beyblade Imports"],
|
|
169
|
-
phones: ["9123456780"],
|
|
170
|
-
upiIds: ["mfpreorderagent@ybl"],
|
|
171
|
-
emails: ["mf.preorder.agent@gmail.com"],
|
|
172
|
-
socialMedia: [
|
|
173
|
-
{ platform: "whatsapp", handle: "9123456780" },
|
|
174
|
-
],
|
|
175
|
-
scamType: "advance_payment_ghost",
|
|
176
|
-
scamPlatform: "whatsapp",
|
|
177
|
-
description: "Ran a WhatsApp broadcast offering a bulk import batch of Metal Fight Beyblade tops at below-market prices, collecting ₹650 'booking' advances via UPI before shipping. Went silent after payment. Same operator resurfaced days later under a backup Telegram account (see related profile) using an identical script.",
|
|
178
|
-
amountLost: 650,
|
|
179
|
-
itemInvolved: "Metal Fight Beyblade BB-43 Flame Sagittario — bulk import batch",
|
|
180
|
-
evidence: [seedPhoto("scammer-evidence-mf-preorder-agent-chat-20260420", 800, 600)],
|
|
181
|
-
reportedBy: "user-seto-kaiba",
|
|
182
|
-
reportedByAnon: false,
|
|
183
|
-
status: SCAMMER_FIELDS.STATUS_VALUES.VERIFIED,
|
|
184
|
-
verifiedBy: "user-admin-letitrip",
|
|
185
|
-
verifiedAt: daysAgo(10),
|
|
186
|
-
verificationNote: "Confirmed via chat logs; UPI/phone pattern matches the linked backup-account profile.",
|
|
187
|
-
relatedScammerIds: ["scammer-fake-metal-fusion-backup-account"],
|
|
188
|
-
mergedFromIds: [],
|
|
189
|
-
tags: ["repeat_offender"],
|
|
190
|
-
views: 58,
|
|
191
|
-
incidentCount: 0,
|
|
192
|
-
commentCount: 0,
|
|
193
|
-
contestCount: 0,
|
|
194
|
-
isContested: false,
|
|
195
|
-
createdAt: daysAgo(18),
|
|
196
|
-
updatedAt: daysAgo(10),
|
|
197
|
-
},
|
|
198
|
-
// ── 5. Verified — same operator as #4 under a backup alias ────────────────────
|
|
199
|
-
{
|
|
200
|
-
id: "scammer-fake-metal-fusion-backup-account",
|
|
201
|
-
seoSlug: "scammer-fake-metal-fusion-backup-account",
|
|
202
|
-
displayNames: ["MF_Backup_Store", "MetalFusion Backup"],
|
|
203
|
-
phones: ["9123456781"],
|
|
204
|
-
upiIds: ["mfbackupstore@oksbi"],
|
|
205
|
-
emails: [],
|
|
206
|
-
socialMedia: [
|
|
207
|
-
{ platform: "telegram", handle: "mf_backup_store" },
|
|
208
|
-
],
|
|
209
|
-
scamType: "advance_payment_ghost",
|
|
210
|
-
scamPlatform: "telegram",
|
|
211
|
-
description: "Same scammer as MetalFusion_PreorderAgent, resurfaced under a backup Telegram account after the WhatsApp profile went cold. Identical advance-payment script, this time for a Storm Pegasus import batch.",
|
|
212
|
-
amountLost: 400,
|
|
213
|
-
itemInvolved: "Metal Fight Beyblade BB-28 Storm Pegasus — bulk import batch",
|
|
214
|
-
evidence: [],
|
|
215
|
-
reportedBy: "user-yugi-muto",
|
|
216
|
-
reportedByAnon: false,
|
|
217
|
-
status: SCAMMER_FIELDS.STATUS_VALUES.VERIFIED,
|
|
218
|
-
verifiedBy: "user-admin-letitrip",
|
|
219
|
-
verifiedAt: daysAgo(9),
|
|
220
|
-
verificationNote: "Same operator as scammer-fake-metal-fusion-preorder-agent — profiles linked, not merged (both kept for evidence trail).",
|
|
221
|
-
relatedScammerIds: ["scammer-fake-metal-fusion-preorder-agent"],
|
|
222
|
-
mergedFromIds: [],
|
|
223
|
-
tags: ["repeat_offender"],
|
|
224
|
-
views: 22,
|
|
225
|
-
incidentCount: 0,
|
|
226
|
-
commentCount: 0,
|
|
227
|
-
contestCount: 0,
|
|
228
|
-
isContested: false,
|
|
229
|
-
createdAt: daysAgo(9),
|
|
230
|
-
updatedAt: daysAgo(9),
|
|
231
|
-
},
|
|
232
|
-
];
|
|
233
|
-
// Derived through the wrapper, never per record — an inline literal is how
|
|
234
|
-
// five product seed files shipped their last fixture with no tokens.
|
|
235
|
-
export const scammersSeedData = scammerRows.map(withScammerSearchTxt);
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { getMarketProfile, getDefaultCurrency, getDefaultCurrencySymbol, getDefaultPhonePrefix, getDefaultCountry, type MarketProfile } from "../core/baseline-resolver";
|
|
2
|
-
export { getMarketProfile, getDefaultCurrency, getDefaultCurrencySymbol, getDefaultPhonePrefix, getDefaultCountry, };
|
|
3
|
-
export type { MarketProfile };
|
|
4
|
-
export interface SeedLocaleData {
|
|
5
|
-
firstNames: readonly string[];
|
|
6
|
-
lastNames: readonly string[];
|
|
7
|
-
cities: ReadonlyArray<readonly [city: string, state: string, postal: string]>;
|
|
8
|
-
streetNames: readonly string[];
|
|
9
|
-
buildingNames: readonly string[];
|
|
10
|
-
productNames: readonly string[];
|
|
11
|
-
productCategories: readonly string[];
|
|
12
|
-
/** Country name for display (e.g. "India", "United States") */
|
|
13
|
-
countryName: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Register a locale data set for seed generation.
|
|
17
|
-
* Consumer projects call this to provide market-specific pools.
|
|
18
|
-
*/
|
|
19
|
-
export declare function registerSeedLocale(countryCode: string, data: SeedLocaleData): void;
|
|
20
|
-
/**
|
|
21
|
-
* Returns the locale data for the current market (from baseline resolver).
|
|
22
|
-
* Falls back to Indian locale data when no locale is registered for the
|
|
23
|
-
* resolved country.
|
|
24
|
-
*/
|
|
25
|
-
export declare function getSeedLocale(): SeedLocaleData;
|
|
26
|
-
/**
|
|
27
|
-
* Format a numeric amount with the current market currency symbol.
|
|
28
|
-
* Uses Indian-style formatting (lakh/crore grouping) for INR,
|
|
29
|
-
* standard Western grouping otherwise.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* formatSeedPrice(12490) // "₹12,490" (INR baseline)
|
|
33
|
-
* formatSeedPrice(999) // "₹999"
|
|
34
|
-
*/
|
|
35
|
-
export declare function formatSeedPrice(amount: number): string;
|
|
36
|
-
/**
|
|
37
|
-
* Generate a phone number using the current market prefix.
|
|
38
|
-
* Deterministic — same `n` always produces the same number.
|
|
39
|
-
*/
|
|
40
|
-
export declare function makeSeedPhone(n: number): string;
|
|
41
|
-
/**
|
|
42
|
-
* Pick a deterministic element from an array using a sequence number.
|
|
43
|
-
*/
|
|
44
|
-
export declare function pick<T>(arr: readonly T[], n: number): T;
|
|
45
|
-
/**
|
|
46
|
-
* Deterministic integer in [min, max] range based on n.
|
|
47
|
-
*/
|
|
48
|
-
export declare function irand(n: number, min: number, max: number): number;
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
// appkit/src/seed/seed-market-config.ts
|
|
2
|
-
// Locale-specific data pools for seed factories and fixtures.
|
|
3
|
-
// Default pools match current letitrip.in baseline (Indian market).
|
|
4
|
-
import { normalizeError } from "../errors/normalize.js";
|
|
5
|
-
import { getMarketProfile, getDefaultCurrency, getDefaultCurrencySymbol, getDefaultPhonePrefix, getDefaultCountry, } from "../core/baseline-resolver.js";
|
|
6
|
-
// ---------------------------------------------------------------------------
|
|
7
|
-
// Re-export baseline accessors for convenience within seed layer
|
|
8
|
-
// ---------------------------------------------------------------------------
|
|
9
|
-
export { getMarketProfile, getDefaultCurrency, getDefaultCurrencySymbol, getDefaultPhonePrefix, getDefaultCountry, };
|
|
10
|
-
// --- Indian locale (default baseline) ---------------------------------------
|
|
11
|
-
const INDIAN_LOCALE = {
|
|
12
|
-
firstNames: [
|
|
13
|
-
"Priya",
|
|
14
|
-
"Rahul",
|
|
15
|
-
"Anjali",
|
|
16
|
-
"Arjun",
|
|
17
|
-
"Sneha",
|
|
18
|
-
"Vikram",
|
|
19
|
-
"Kavya",
|
|
20
|
-
"Rohan",
|
|
21
|
-
"Pooja",
|
|
22
|
-
"Aditya",
|
|
23
|
-
"Deepa",
|
|
24
|
-
"Karthik",
|
|
25
|
-
"Meena",
|
|
26
|
-
"Suresh",
|
|
27
|
-
"Nisha",
|
|
28
|
-
"Amit",
|
|
29
|
-
"Shalini",
|
|
30
|
-
"Rajesh",
|
|
31
|
-
"Divya",
|
|
32
|
-
"Manish",
|
|
33
|
-
],
|
|
34
|
-
lastNames: [
|
|
35
|
-
"Sharma",
|
|
36
|
-
"Patel",
|
|
37
|
-
"Iyer",
|
|
38
|
-
"Nair",
|
|
39
|
-
"Singh",
|
|
40
|
-
"Reddy",
|
|
41
|
-
"Mehta",
|
|
42
|
-
"Joshi",
|
|
43
|
-
"Gupta",
|
|
44
|
-
"Pillai",
|
|
45
|
-
"Rao",
|
|
46
|
-
"Kumar",
|
|
47
|
-
"Verma",
|
|
48
|
-
"Shah",
|
|
49
|
-
"Desai",
|
|
50
|
-
"Chopra",
|
|
51
|
-
"Malhotra",
|
|
52
|
-
"Saxena",
|
|
53
|
-
"Kapoor",
|
|
54
|
-
"Bhat",
|
|
55
|
-
],
|
|
56
|
-
cities: [
|
|
57
|
-
["Mumbai", "Maharashtra", "400001"],
|
|
58
|
-
["New Delhi", "Delhi", "110001"],
|
|
59
|
-
["Bengaluru", "Karnataka", "560001"],
|
|
60
|
-
["Hyderabad", "Telangana", "500001"],
|
|
61
|
-
["Chennai", "Tamil Nadu", "600001"],
|
|
62
|
-
["Kolkata", "West Bengal", "700001"],
|
|
63
|
-
["Pune", "Maharashtra", "411001"],
|
|
64
|
-
["Ahmedabad", "Gujarat", "380001"],
|
|
65
|
-
["Jaipur", "Rajasthan", "302001"],
|
|
66
|
-
["Lucknow", "Uttar Pradesh", "226001"],
|
|
67
|
-
["Kochi", "Kerala", "682001"],
|
|
68
|
-
["Chandigarh", "Punjab", "160001"],
|
|
69
|
-
["Bhopal", "Madhya Pradesh", "462001"],
|
|
70
|
-
["Surat", "Gujarat", "395001"],
|
|
71
|
-
["Indore", "Madhya Pradesh", "452001"],
|
|
72
|
-
],
|
|
73
|
-
streetNames: [
|
|
74
|
-
"MG Road",
|
|
75
|
-
"Station Road",
|
|
76
|
-
"Main Street",
|
|
77
|
-
"Gandhi Nagar",
|
|
78
|
-
"Nehru Place",
|
|
79
|
-
"Park Street",
|
|
80
|
-
"Market Road",
|
|
81
|
-
"Church Road",
|
|
82
|
-
],
|
|
83
|
-
buildingNames: [
|
|
84
|
-
"Shanti Apartments",
|
|
85
|
-
"Laxmi Niwas",
|
|
86
|
-
"Ganga Tower",
|
|
87
|
-
"Sunrise Complex",
|
|
88
|
-
"Green Park",
|
|
89
|
-
"Silver Enclave",
|
|
90
|
-
"Raj Towers",
|
|
91
|
-
"Bhavani Heights",
|
|
92
|
-
],
|
|
93
|
-
productNames: [
|
|
94
|
-
"Handloom Cotton Saree",
|
|
95
|
-
"Silver Oxidised Jhumkas",
|
|
96
|
-
"Brass Pooja Diya Set",
|
|
97
|
-
"Khadi Kurta & Pyjama Set",
|
|
98
|
-
"Terracotta Flower Vase",
|
|
99
|
-
"Sandalwood Incense Sticks",
|
|
100
|
-
"Batik Print Salwar Suit",
|
|
101
|
-
"Copper Water Bottle",
|
|
102
|
-
"Warli Art Wall Frame",
|
|
103
|
-
"Clay Tea Kadai Set",
|
|
104
|
-
"Jute Laptop Bag",
|
|
105
|
-
"Madhubani Painting Print",
|
|
106
|
-
"Organic Tulsi Green Tea",
|
|
107
|
-
"Kantha Embroidered Cushion",
|
|
108
|
-
"Brass Dancing Ganesha Figurine",
|
|
109
|
-
"Block Print Bedsheet Set",
|
|
110
|
-
"Bamboo Cutlery Kit",
|
|
111
|
-
"Dhokra Metal Elephant",
|
|
112
|
-
"Rajasthani Mojari Jutti",
|
|
113
|
-
"Coconut Shell Bowl Set",
|
|
114
|
-
],
|
|
115
|
-
productCategories: [
|
|
116
|
-
"clothing",
|
|
117
|
-
"jewellery",
|
|
118
|
-
"home-decor",
|
|
119
|
-
"food-beverages",
|
|
120
|
-
"art-crafts",
|
|
121
|
-
"wellness",
|
|
122
|
-
"accessories",
|
|
123
|
-
"kitchenware",
|
|
124
|
-
],
|
|
125
|
-
countryName: "India",
|
|
126
|
-
};
|
|
127
|
-
// ---------------------------------------------------------------------------
|
|
128
|
-
// Locale registry (extensible by consumer via registerSeedLocale)
|
|
129
|
-
// ---------------------------------------------------------------------------
|
|
130
|
-
const _localeRegistry = new Map([
|
|
131
|
-
["IN", INDIAN_LOCALE],
|
|
132
|
-
]);
|
|
133
|
-
/**
|
|
134
|
-
* Register a locale data set for seed generation.
|
|
135
|
-
* Consumer projects call this to provide market-specific pools.
|
|
136
|
-
*/
|
|
137
|
-
export function registerSeedLocale(countryCode, data) {
|
|
138
|
-
_localeRegistry.set(countryCode, data);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Returns the locale data for the current market (from baseline resolver).
|
|
142
|
-
* Falls back to Indian locale data when no locale is registered for the
|
|
143
|
-
* resolved country.
|
|
144
|
-
*/
|
|
145
|
-
export function getSeedLocale() {
|
|
146
|
-
const country = getDefaultCountry();
|
|
147
|
-
return _localeRegistry.get(country) ?? INDIAN_LOCALE;
|
|
148
|
-
}
|
|
149
|
-
// ---------------------------------------------------------------------------
|
|
150
|
-
// Seed formatting helpers
|
|
151
|
-
// ---------------------------------------------------------------------------
|
|
152
|
-
/**
|
|
153
|
-
* Format a numeric amount with the current market currency symbol.
|
|
154
|
-
* Uses Indian-style formatting (lakh/crore grouping) for INR,
|
|
155
|
-
* standard Western grouping otherwise.
|
|
156
|
-
*
|
|
157
|
-
* @example
|
|
158
|
-
* formatSeedPrice(12490) // "₹12,490" (INR baseline)
|
|
159
|
-
* formatSeedPrice(999) // "₹999"
|
|
160
|
-
*/
|
|
161
|
-
export function formatSeedPrice(amount) {
|
|
162
|
-
const profile = getMarketProfile();
|
|
163
|
-
try {
|
|
164
|
-
return new Intl.NumberFormat(profile.locale, {
|
|
165
|
-
style: "currency",
|
|
166
|
-
currency: profile.currency,
|
|
167
|
-
minimumFractionDigits: 0,
|
|
168
|
-
maximumFractionDigits: 0,
|
|
169
|
-
}).format(amount);
|
|
170
|
-
}
|
|
171
|
-
catch (_err) {
|
|
172
|
-
void normalizeError(_err);
|
|
173
|
-
// Fallback if Intl is unavailable or currency unknown
|
|
174
|
-
return `${profile.currencySymbol}${amount.toLocaleString()}`;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Generate a phone number using the current market prefix.
|
|
179
|
-
* Deterministic — same `n` always produces the same number.
|
|
180
|
-
*/
|
|
181
|
-
export function makeSeedPhone(n) {
|
|
182
|
-
const prefix = getDefaultPhonePrefix();
|
|
183
|
-
const digits = ["6", "7", "8", "9"][n % 4];
|
|
184
|
-
const middle = String((n * 98765 + 10000) % 90000).padStart(5, "0");
|
|
185
|
-
const suffix = String((n * 54321 + 1000) % 10000).padStart(4, "0");
|
|
186
|
-
return `${prefix} ${digits}${middle}${suffix}`;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Pick a deterministic element from an array using a sequence number.
|
|
190
|
-
*/
|
|
191
|
-
export function pick(arr, n) {
|
|
192
|
-
return arr[n % arr.length];
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Deterministic integer in [min, max] range based on n.
|
|
196
|
-
*/
|
|
197
|
-
export function irand(n, min, max) {
|
|
198
|
-
return min + (((n * 2654435761) >>> 0) % (max - min + 1));
|
|
199
|
-
}
|