@surfside/ads-core 2.0.8 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/cjs/Api.js +4 -5
  2. package/lib/cjs/Api.js.map +1 -1
  3. package/lib/cjs/helpers/RequestBuilder.js +1 -1
  4. package/lib/cjs/helpers/response/ProductCard.js +39 -15
  5. package/lib/cjs/helpers/response/ProductCard.js.map +1 -1
  6. package/lib/cjs/models/rtb/NativeRequest.js +2 -2
  7. package/lib/cjs/services/Configuration.js +17 -7
  8. package/lib/cjs/services/Configuration.js.map +1 -1
  9. package/lib/cjs/services/Dynamic.js +1 -0
  10. package/lib/cjs/services/Dynamic.js.map +1 -1
  11. package/lib/cjs/services/Logger.js +22 -16
  12. package/lib/cjs/services/Logger.js.map +1 -1
  13. package/lib/cjs/services/Memo.js +41 -0
  14. package/lib/cjs/services/Memo.js.map +1 -0
  15. package/lib/cjs/services/Product.js +30 -32
  16. package/lib/cjs/services/Product.js.map +1 -1
  17. package/lib/cjs/services/Result.js +43 -7
  18. package/lib/cjs/services/Result.js.map +1 -1
  19. package/lib/cjs/services/index.js +1 -1
  20. package/lib/esm/Api.js +5 -6
  21. package/lib/esm/Api.js.map +1 -1
  22. package/lib/esm/helpers/RequestBuilder.js +1 -1
  23. package/lib/esm/helpers/response/ProductCard.js +39 -15
  24. package/lib/esm/helpers/response/ProductCard.js.map +1 -1
  25. package/lib/esm/models/rtb/NativeRequest.js +2 -2
  26. package/lib/esm/services/Dynamic.js +1 -0
  27. package/lib/esm/services/Dynamic.js.map +1 -1
  28. package/lib/esm/services/Logger.js +22 -16
  29. package/lib/esm/services/Logger.js.map +1 -1
  30. package/lib/esm/services/Memo.js +36 -0
  31. package/lib/esm/services/Memo.js.map +1 -0
  32. package/lib/esm/services/Product.js +26 -29
  33. package/lib/esm/services/Product.js.map +1 -1
  34. package/lib/esm/services/Result.js +38 -6
  35. package/lib/esm/services/Result.js.map +1 -1
  36. package/lib/esm/services/index.js +1 -1
  37. package/lib/types/Api.d.ts +1 -7
  38. package/lib/types/helpers/response/ProductCard.d.ts +2 -2
  39. package/lib/types/models/rtb/BidRequest.d.ts +1 -1
  40. package/lib/types/models/rtb/NativeRequest.d.ts +2 -2
  41. package/lib/types/services/Logger.d.ts +1 -1
  42. package/lib/types/services/Memo.d.ts +2 -0
  43. package/lib/types/services/Product.d.ts +5 -1
  44. package/lib/types/services/Result.d.ts +15 -3
  45. package/lib/types/services/index.d.ts +1 -1
  46. package/package.json +2 -2
  47. package/lib/cjs/services/mock/Bidder.js +0 -3
  48. package/lib/cjs/services/mock/Bidder.js.map +0 -1
  49. package/lib/cjs/services/mock/index.js +0 -18
  50. package/lib/cjs/services/mock/index.js.map +0 -1
  51. package/lib/esm/services/mock/Bidder.js +0 -2
  52. package/lib/esm/services/mock/Bidder.js.map +0 -1
  53. package/lib/esm/services/mock/index.js +0 -2
  54. package/lib/esm/services/mock/index.js.map +0 -1
  55. package/lib/types/services/mock/Bidder.d.ts +0 -1
  56. package/lib/types/services/mock/index.d.ts +0 -1
@@ -1,55 +1,50 @@
1
1
  import { Ctx } from './Logger';
2
2
  import { Err, Ok } from './Result';
3
- export async function* GetSponsoredProduct(logger, url, accountId, locationId, nativeId) {
3
+ export const GetAllSponsoredProducts = async (logger, url, accountId, locationId, nativeId) => {
4
4
  const log = Ctx(logger)?.with('GetSponsoredProduct').with(accountId).with(locationId).with(nativeId);
5
5
  log?.info('Getting sponsored product');
6
6
  try {
7
7
  const rawResponse = await fetch(`${url}/native/${accountId}/${locationId}/${nativeId}.json`);
8
8
  if (rawResponse.status !== 200) {
9
9
  log?.error('product feed service returned with non-200 response', rawResponse.status);
10
- return;
10
+ return Err(new NoNativeError(nativeId));
11
11
  }
12
- const products = rawResponse;
12
+ const products = (await rawResponse.json());
13
13
  log?.debug('response', products);
14
+ /* This should never actually be an array here, but there have been API changes in the past which incorrectly
15
+ * returned arrays of products for product-level carousels, so I'm going to leave it here to be safe. But this
16
+ * will probably never be hit */
14
17
  if (Array.isArray(products)) {
15
18
  log?.debug('Brand level creative');
16
19
  const productArr = products;
17
- for (const product of productArr) {
18
- yield mapResponseToProductInfo(log, product);
19
- }
20
+ const mapResponseToProductInfoLogged = mapResponseToProductInfo.bind(undefined, log);
21
+ return Ok(productArr.map(mapResponseToProductInfoLogged));
20
22
  }
21
23
  else {
22
24
  log?.debug('Individual product creative');
23
25
  const product = products;
24
- return mapResponseToProductInfo(log, product);
26
+ return Ok([mapResponseToProductInfo(log, product)]);
25
27
  }
26
28
  }
27
29
  catch (err) {
28
30
  log?.error(err);
31
+ return Err(err);
29
32
  }
30
- }
31
- export const GetAllSponsoredProducts = async (logger, url, accountId, locationId, nativeId) => {
32
- const log = Ctx(logger)?.with('GetSponsoredProduct').with(accountId).with(locationId).with(nativeId);
33
- log?.info('Getting sponsored product');
33
+ };
34
+ export const GetAllSponsoredBrandProducts = async (logger, url, accountId, locationId, nativeId) => {
35
+ const log = Ctx(logger)?.with('GetSponsoredBrandProducts').with(accountId).with(locationId).with(nativeId);
36
+ log?.info('Getting sponsored brand-level product responses');
34
37
  try {
35
- const rawResponse = await fetch(`${url}/native/${accountId}/${locationId}/${nativeId}.json`);
38
+ const rawResponse = await fetch(`${url}/native/v2/brand/${accountId}/${locationId}/${nativeId}.json`);
36
39
  if (rawResponse.status !== 200) {
37
- log?.error('product feed service returned with non-200 response', rawResponse.status);
38
40
  return Err(new NoNativeError(nativeId));
39
41
  }
40
42
  const products = (await rawResponse.json());
41
- log?.debug('response', products);
42
- if (Array.isArray(products)) {
43
- log?.debug('Brand level creative');
44
- const productArr = products;
45
- const mapResponseToProductInfoLogged = mapResponseToProductInfo.bind(undefined, log);
46
- return Ok(productArr.map(mapResponseToProductInfoLogged));
47
- }
48
- else {
49
- log?.debug('Individual product creative');
50
- const product = products;
51
- return Ok([mapResponseToProductInfo(log, product)]);
43
+ if (!Array.isArray(products)) {
44
+ return Err(new MalformedBrandResponseError(nativeId));
52
45
  }
46
+ const mapResponseToProductInfoLogged = mapResponseToProductInfo.bind(undefined, log);
47
+ return Ok(products.map(mapResponseToProductInfoLogged));
53
48
  }
54
49
  catch (err) {
55
50
  log?.error(err);
@@ -113,9 +108,11 @@ export class NoNativeError extends Error {
113
108
  this.nativeId = nativeId;
114
109
  }
115
110
  }
116
- //blissandlex-ues
117
- // blissandlex-ues
118
- // blissandlex-ues
119
- // blissandlex-ues
120
- // blissandlex-ues
111
+ export class MalformedBrandResponseError extends Error {
112
+ nativeId;
113
+ constructor(nativeId) {
114
+ super('Brand-level native was not an array');
115
+ this.nativeId = nativeId;
116
+ }
117
+ }
121
118
  //# sourceMappingURL=Product.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Product.js","sourceRoot":"src/","sources":["services/Product.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Product.js","sourceRoot":"src/","sources":["services/Product.ts"],"names":[],"mappings":"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"}
@@ -30,13 +30,21 @@ export const TryDoAsync = async (fn) => {
30
30
  return Err(err);
31
31
  }
32
32
  };
33
+ export const TryDoFlatAsync = async (fn) => {
34
+ try {
35
+ return await fn();
36
+ }
37
+ catch (err) {
38
+ return Err(err);
39
+ }
40
+ };
33
41
  export const GetValue = (result) => result?.ok === true ? result.value : undefined;
34
42
  export const ValueOr = (result, or) => result?.ok === true ? result.value : or;
35
- export const GetValueOrThrow = (result) => {
43
+ export const GetValueOrThrow = (result, error) => {
36
44
  if (result.ok) {
37
45
  return result.value;
38
46
  }
39
- throw result.error;
47
+ throw error ?? result.error;
40
48
  };
41
49
  export const WrapValue = (value) => {
42
50
  if (value === undefined || value === null) {
@@ -57,6 +65,10 @@ export const Some = (results) => {
57
65
  const success = results.filter(res => res.ok).map(res => res.value);
58
66
  return Ok(success);
59
67
  };
68
+ export const First = (first, ...rest) => {
69
+ const results = [first, ...rest];
70
+ return results.find(r => r.ok) ?? results.find(r => !r.ok);
71
+ };
60
72
  export const Filter = (...results) => {
61
73
  const success = Some(results).value.map(val => Ok(val));
62
74
  const failed = results.filter(res => !res.ok);
@@ -99,16 +111,36 @@ const pipeValueOrThrow = (result) => () => {
99
111
  }
100
112
  throw result.error;
101
113
  };
102
- export const AsyncPipe = (result) => ({
103
- then: asyncPipeThen(result),
114
+ export class CancellationToken {
115
+ _cancelled = false;
116
+ get cancelled() {
117
+ return this._cancelled;
118
+ }
119
+ cancel() {
120
+ this._cancelled = true;
121
+ }
122
+ }
123
+ export class CancelledError extends Error {
124
+ cancellationToken;
125
+ constructor(cancellationToken) {
126
+ super('Pipeline was cancelled');
127
+ this.cancellationToken = cancellationToken;
128
+ }
129
+ }
130
+ export const AsyncPipe = (result, cancellationToken) => ({
131
+ cancellationToken,
132
+ then: asyncPipeThen(cancellationToken, result),
104
133
  result: asyncPipeResult(result),
105
134
  value: asyncPipeValue(result),
106
135
  valueOr: asyncPipeValueOr(result),
107
136
  valueOrThrow: asyncPipeValueOrThrow(result)
108
137
  });
109
- const asyncPipeThen = (result) => (fn) => {
138
+ const asyncPipeThen = (cancellationToken, result) => (fn) => {
110
139
  const asyncResult = result;
111
140
  const wrappedPromiseResult = asyncResult.then(unwrappedResult => {
141
+ if (cancellationToken?.cancelled === true) {
142
+ return Err(new CancelledError(cancellationToken));
143
+ }
112
144
  if (unwrappedResult.ok) {
113
145
  try {
114
146
  const fnRes = fn(unwrappedResult.value);
@@ -123,7 +155,7 @@ const asyncPipeThen = (result) => (fn) => {
123
155
  return unwrappedResult;
124
156
  }
125
157
  });
126
- return AsyncPipe(wrappedPromiseResult);
158
+ return AsyncPipe(wrappedPromiseResult, cancellationToken);
127
159
  };
128
160
  const asyncPipeResult = (result) => () => result;
129
161
  const asyncPipeValue = (result) => async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"Result.js","sourceRoot":"src/","sources":["services/Result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Result.js","sourceRoot":"src/","sources":["services/Result.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export * from './Configuration';
6
6
  export * from './Bidder';
7
7
  export * from './Product';
8
8
  export * from './Recommender';
9
- export * from './mock';
9
+ export * from './Memo';
10
10
  export * from './Template';
11
11
  export * from './Dynamic';
12
12
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import type { INativeTemplateDelegateWindow, ICompiledPublisherConfiguration, IDevice, IGeoContext } from './models';
2
- import { type AsyncResult, type INavigator, type IScreen, type RequestBidsFn, type ILogger, type GetSponsoredProductFromNativeIdFn, type PersonalRecommenderFn, type NonPersonalRecommenderFn, type GetConfigurationFn, type GetGeoFn, type GetDeviceFn, type GetRecommendedProductFromProductIdFn, type GetAllSponsoredProductFromNativeIdFn } from './services';
2
+ import { type AsyncResult, type INavigator, type IScreen, type RequestBidsFn, type ILogger, type PersonalRecommenderFn, type NonPersonalRecommenderFn, type GetConfigurationFn, type GetGeoFn, type GetDeviceFn, type GetRecommendedProductFromProductIdFn, type GetAllSponsoredProductFromNativeIdFn } from './services';
3
3
  import { type BuildAllSponsoredProductCardResponsesFn, type GenerateSponsoredProductCardResponseFn, type NativeRequestBuilderFn, type RequestBuilderFn } from './helpers';
4
4
  import Handlebars from 'handlebars/runtime';
5
5
  import { type BuildHybridCarouselFn, type BuildHybridCarouselFromInitialBidFn, type BuildRecommendedCarouselFn, type BuildSponsoredCarouselFn, type BuildSponsoredCarouselFromInitialBidFn } from './helpers/response/Carousel';
@@ -63,11 +63,6 @@ export interface ISurfsideApi {
63
63
  * Builds an OpenRTB Native 1.2 request with initial fields, such as site, app, and trackers
64
64
  */
65
65
  defaultNative: NativeRequestBuilderFn;
66
- /**
67
- * Creates a sponsored product generator from the given Native Creative ID. One native creative ID can generate
68
- * multiple products
69
- */
70
- getSponsoredProduct: GetSponsoredProductFromNativeIdFn;
71
66
  /**
72
67
  * Gets all sponsored products from the native creative ID. One native creative ID can generate multiple products
73
68
  */
@@ -134,7 +129,6 @@ export declare function InitSurfAdsCoreInternal(internalApiDto: {
134
129
  getConfiguration: GetConfigurationFn;
135
130
  getGeo: GetGeoFn;
136
131
  getDevice: GetDeviceFn;
137
- getSponsoredProduct: GetSponsoredProductFromNativeIdFn;
138
132
  getAllSponsoredProducts: GetAllSponsoredProductFromNativeIdFn;
139
133
  getRecommendedProduct: GetRecommendedProductFromProductIdFn;
140
134
  generateTopProducts: NonPersonalRecommenderFn;
@@ -29,8 +29,8 @@ export interface IBuiltProductCardResponse {
29
29
  clickthrough: string;
30
30
  sponsored: boolean;
31
31
  }
32
- export declare const BuildAllSponsoredProductCardResponses: (logger: ILogger | undefined, getAllSponsoredProducts: GetAllSponsoredProductFromNativeIdFn, windowInfo: INativeTemplateDelegateWindow, configuration: ICompiledPublisherConfiguration, bids: IBid[]) => AsyncResult<IBuiltProductCardBidResponse[]>;
33
- export declare function GenerateSponsoredProductCardResponse(logger: ILogger | undefined, getAllSponsoredProducts: GetAllSponsoredProductFromNativeIdFn, windowInfo: INativeTemplateDelegateWindow, configuration: ICompiledPublisherConfiguration, bids: IBid[]): AsyncGenerator<IBuiltProductCardBidResponse>;
32
+ export declare const BuildAllSponsoredProductCardResponses: (logger: ILogger | undefined, getAllSponsoredProducts: GetAllSponsoredProductFromNativeIdFn, getAllSponsoredBrandProducts: GetAllSponsoredProductFromNativeIdFn, windowInfo: INativeTemplateDelegateWindow, configuration: ICompiledPublisherConfiguration, bids: IBid[]) => AsyncResult<IBuiltProductCardBidResponse[]>;
33
+ export declare function GenerateSponsoredProductCardResponse(logger: ILogger | undefined, getAllSponsoredProducts: GetAllSponsoredProductFromNativeIdFn, getAllSponsoredBrandProducts: GetAllSponsoredProductFromNativeIdFn, windowInfo: INativeTemplateDelegateWindow, configuration: ICompiledPublisherConfiguration, bids: IBid[]): AsyncGenerator<IBuiltProductCardBidResponse>;
34
34
  export declare class MissingBidsError extends Error {
35
35
  constructor();
36
36
  }
@@ -405,6 +405,6 @@ export interface ISurfExtension {
405
405
  placementId: string;
406
406
  locationId: string;
407
407
  storeId: string;
408
- partnerLocationId: string;
408
+ accountLocationId: string;
409
409
  keywords?: string[];
410
410
  }
@@ -35,7 +35,7 @@ export declare const NativeDataTypes: {
35
35
  readonly SurfTHC: 501;
36
36
  readonly SurfCBD: 502;
37
37
  readonly SurfCategory: 503;
38
- readonly SurfMetaBrand: 598;
38
+ readonly SurfMetaBrand: 509;
39
39
  readonly SurfMetaProduct: 599;
40
40
  };
41
41
  /**
@@ -56,7 +56,7 @@ export declare const NativeAssetId: {
56
56
  readonly SurfTHC: 501;
57
57
  readonly SurfCBD: 502;
58
58
  readonly SurfCategory: 503;
59
- readonly SurfMetaBrand: 598;
59
+ readonly SurfMetaBrand: 509;
60
60
  readonly SurfMetaProduct: 599;
61
61
  };
62
62
  /**
@@ -10,5 +10,5 @@ export interface ILogger {
10
10
  export interface IContextLogger extends ILogger {
11
11
  with: ContextFn;
12
12
  }
13
- export declare const InitLogger: () => IContextLogger;
13
+ export declare const InitLogger: (rich?: boolean) => IContextLogger;
14
14
  export declare const Ctx: (logger: ILogger | undefined) => IContextLogger | undefined;
@@ -0,0 +1,2 @@
1
+ export declare const Memoize: <TArgs extends readonly unknown[], TReturn>(fn: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
2
+ export declare const MemoizeAsync: <TArgs extends readonly unknown[], TReturn>(fn: (...args: TArgs) => Promise<TReturn>) => (...args: TArgs) => Promise<TReturn>;
@@ -4,10 +4,14 @@ import { type Result, type AsyncResult } from './Result';
4
4
  export type GetSponsoredProductFromNativeIdFn = (nativeId: string) => AsyncGenerator<IProductInformation>;
5
5
  export type GetAllSponsoredProductFromNativeIdFn = (nativeId: string) => Promise<Result<IProductInformation[]>>;
6
6
  export type GetRecommendedProductFromProductIdFn = (productId: string) => AsyncResult<IProductInformation>;
7
- export declare function GetSponsoredProduct(logger: ILogger | undefined, url: string, accountId: string, locationId: string, nativeId: string): AsyncGenerator<IProductInformation>;
8
7
  export declare const GetAllSponsoredProducts: (logger: ILogger | undefined, url: string, accountId: string, locationId: string, nativeId: string) => Promise<Result<IProductInformation[]>>;
8
+ export declare const GetAllSponsoredBrandProducts: (logger: ILogger | undefined, url: string, accountId: string, locationId: string, nativeId: string) => Promise<Result<IProductInformation[]>>;
9
9
  export declare const GetRecommendedProduct: (logger: ILogger | undefined, url: string, accountId: string, locationId: string, productId: string) => AsyncResult<IProductInformation>;
10
10
  export declare class NoNativeError extends Error {
11
11
  nativeId: string;
12
12
  constructor(nativeId: string);
13
13
  }
14
+ export declare class MalformedBrandResponseError extends Error {
15
+ nativeId: string;
16
+ constructor(nativeId: string);
17
+ }
@@ -13,13 +13,15 @@ export declare const Err: <E = Error>(e: E) => ErrResult<E>;
13
13
  export declare const TryDo: <T, E = Error>(fn: () => T) => Result<T, E>;
14
14
  export declare const TryDoFlat: <T, E = Error>(fn: () => Result<T, E>) => Result<T, E>;
15
15
  export declare const TryDoAsync: <T, E = Error>(fn: () => Promise<T>) => AsyncResult<T, E>;
16
+ export declare const TryDoFlatAsync: <T, E = Error>(fn: () => AsyncResult<T, E>) => AsyncResult<T, E>;
16
17
  export declare const GetValue: <T, E = Error>(result: Result<T, E> | undefined) => T | undefined;
17
18
  export declare const ValueOr: <T, E = Error, U = T>(result: Result<T, E> | undefined, or: U) => T | U;
18
- export declare const GetValueOrThrow: <T>(result: Result<T, Error>) => T;
19
+ export declare const GetValueOrThrow: <T>(result: Result<T, Error>, error?: Error) => T;
19
20
  export declare const WrapValue: <T>(value: T | undefined | null) => Result<T>;
20
- export declare const AssertValue: <T>(result: Result<T, Error>) => T;
21
+ export declare const AssertValue: <T>(result: Result<T, Error>, error?: Error) => T;
21
22
  export declare const AllOrNone: <T>(results: Result<T, Error>[]) => Result<T[]>;
22
23
  export declare const Some: <T>(results: Result<T, Error>[]) => OkResult<T[]>;
24
+ export declare const First: <T>(first: Result<T, Error>, ...rest: Result<T, Error>[]) => Result<T>;
23
25
  export declare const Filter: <T>(...results: Result<T, Error>[]) => [OkResult<T>[], ErrResult[]];
24
26
  export declare const AnyFailed: (...results: Result<any, Error>[]) => [true, Error[]] | [false];
25
27
  export declare class MultipleErrorsError extends Error {
@@ -35,13 +37,23 @@ export interface IResultPipe<T, E = Error> {
35
37
  }
36
38
  export declare const Pipe: <T, E = Error>(result: Result<T, E>) => IResultPipe<T, E>;
37
39
  export interface IAsyncResultPipe<T, E = Error> {
40
+ cancellationToken?: CancellationToken;
38
41
  then: <U>(fn: (t: T) => AsyncResult<U> | Result<U>) => IAsyncResultPipe<U, E>;
39
42
  result: () => AsyncResult<T, E>;
40
43
  value: () => Promise<T | undefined>;
41
44
  valueOr: <U>(or: U) => Promise<T | U>;
42
45
  valueOrThrow: () => Promise<T>;
43
46
  }
44
- export declare const AsyncPipe: <T, E>(result: AsyncResult<T, E>) => IAsyncResultPipe<T, E>;
47
+ export declare class CancellationToken {
48
+ private _cancelled;
49
+ get cancelled(): boolean;
50
+ cancel(): void;
51
+ }
52
+ export declare class CancelledError extends Error {
53
+ cancellationToken: CancellationToken;
54
+ constructor(cancellationToken: CancellationToken);
55
+ }
56
+ export declare const AsyncPipe: <T, E>(result: AsyncResult<T, E>, cancellationToken?: CancellationToken) => IAsyncResultPipe<T, E>;
45
57
  export type IResultStream<T, E = Error> = {
46
58
  map: <U>(fn: (t: T) => U) => IResultStream<U, E>;
47
59
  filter: (fn: (t: T) => boolean) => IResultStream<T, E>;
@@ -6,6 +6,6 @@ export * from './Configuration';
6
6
  export * from './Bidder';
7
7
  export * from './Product';
8
8
  export * from './Recommender';
9
- export * from './mock';
9
+ export * from './Memo';
10
10
  export * from './Template';
11
11
  export * from './Dynamic';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@surfside/ads-core",
3
- "version": "2.0.8",
3
+ "version": "2.0.9",
4
4
  "module": "./lib/esm/index.js",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "types": "./lib/types/index.d.ts",
@@ -26,7 +26,7 @@
26
26
  "jest": "^29.7.0",
27
27
  "ts-jest": "^29.3.2",
28
28
  "typedoc": "^0.28.5",
29
- "typescript-eslint": "^8.31.0"
29
+ "typescript-eslint": "^8.41.0"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "typescript": "^5.8.3"
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Bidder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bidder.js","sourceRoot":"src/","sources":["services/mock/Bidder.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Bidder"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["services/mock/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Bidder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bidder.js","sourceRoot":"src/","sources":["services/mock/Bidder.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export * from './Bidder';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["services/mock/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export * from './Bidder';