@edgebound/bigcommerce 0.0.2 → 0.1.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.
@@ -39,6 +39,7 @@ var OrderStatusSchema = z.enum(OrderStatusEnum);
39
39
 
40
40
  export {
41
41
  OrderStatusNameEnumSchema,
42
+ OrderStatusEnum,
42
43
  OrderStatusSchema
43
44
  };
44
- //# sourceMappingURL=chunk-GYWUKI2C.mjs.map
45
+ //# sourceMappingURL=chunk-XONZC4AG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bigcommerce-entities/orders/schemas/status.schema.ts"],"sourcesContent":["import * as z from 'zod';\nexport const OrderStatusNameEnumSchema = z.enum([\n 'Incomplete',\n 'Pending',\n 'Shipped',\n 'Partially Shipped',\n 'Refunded',\n 'Cancelled',\n 'Declined',\n 'Awaiting Payment',\n 'Awaiting Pickup',\n 'Awaiting Shipment',\n 'Completed',\n 'Awaiting Fulfillment',\n 'Manual Verification Required',\n 'Disputed',\n 'Partially Refunded',\n]);\nexport enum OrderStatusEnum {\n Incomplete = 0,\n Pending = 1,\n Shipped = 2,\n PartiallyShipped = 3,\n Refunded = 4,\n Cancelled = 5,\n Declined = 6,\n AwaitingPayment = 7,\n AwaitingPickup = 8,\n AwaitingShipment = 9,\n Completed = 10,\n AwaitingFulfillment = 11,\n ManualVerificationRequired = 12,\n Disputed = 13,\n PartiallyRefunded = 14,\n}\nexport const OrderStatusSchema = z.enum(OrderStatusEnum);\n"],"mappings":";AAAA,YAAY,OAAO;AACZ,IAAM,4BAA8B,OAAK;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACM,IAAK,kBAAL,kBAAKA,qBAAL;AACL,EAAAA,kCAAA,gBAAa,KAAb;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,eAAY,KAAZ;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,qBAAkB,KAAlB;AACA,EAAAA,kCAAA,oBAAiB,KAAjB;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,eAAY,MAAZ;AACA,EAAAA,kCAAA,yBAAsB,MAAtB;AACA,EAAAA,kCAAA,gCAA6B,MAA7B;AACA,EAAAA,kCAAA,cAAW,MAAX;AACA,EAAAA,kCAAA,uBAAoB,MAApB;AAfU,SAAAA;AAAA,GAAA;AAiBL,IAAM,oBAAsB,OAAK,eAAe;","names":["OrderStatusEnum"]}
@@ -12,9 +12,8 @@ declare const FindCustomersCriteriaSchema: z.ZodObject<{
12
12
  'company:in': z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string, string[]>>>;
13
13
  'customer_group_id:in': z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodInt>, z.ZodTransform<string, number[]>>>;
14
14
  }, z.core.$strip>;
15
- type FindCustomersCriteriaInput = z.input<typeof FindCustomersCriteriaSchema>;
16
15
 
17
- declare const findCustomers: (criteria?: FindCustomersCriteriaInput) => Effect.Effect<{
16
+ declare const findCustomers: (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => Effect.Effect<{
18
17
  data: {
19
18
  email: string;
20
19
  first_name: string;
@@ -40,7 +39,7 @@ declare const findCustomers: (criteria?: FindCustomersCriteriaInput) => Effect.E
40
39
  };
41
40
  };
42
41
  }, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
43
- declare const getAllCustomersBy: (criteria: Omit<FindCustomersCriteriaInput, "page" | "limit">) => Effect.Effect<{
42
+ declare const getAllCustomersBy: (criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, "page" | "limit">) => Effect.Effect<{
44
43
  email: string;
45
44
  first_name: string;
46
45
  last_name: string;
@@ -12,9 +12,8 @@ declare const FindCustomersCriteriaSchema: z.ZodObject<{
12
12
  'company:in': z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string, string[]>>>;
13
13
  'customer_group_id:in': z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodInt>, z.ZodTransform<string, number[]>>>;
14
14
  }, z.core.$strip>;
15
- type FindCustomersCriteriaInput = z.input<typeof FindCustomersCriteriaSchema>;
16
15
 
17
- declare const findCustomers: (criteria?: FindCustomersCriteriaInput) => Effect.Effect<{
16
+ declare const findCustomers: (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => Effect.Effect<{
18
17
  data: {
19
18
  email: string;
20
19
  first_name: string;
@@ -40,7 +39,7 @@ declare const findCustomers: (criteria?: FindCustomersCriteriaInput) => Effect.E
40
39
  };
41
40
  };
42
41
  }, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
43
- declare const getAllCustomersBy: (criteria: Omit<FindCustomersCriteriaInput, "page" | "limit">) => Effect.Effect<{
42
+ declare const getAllCustomersBy: (criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, "page" | "limit">) => Effect.Effect<{
44
43
  email: string;
45
44
  first_name: string;
46
45
  last_name: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/customers/index.ts","../src/bigcommerce-entities/customers/find-customers.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-customer.ts"],"sourcesContent":["export * from './find-customers';\nexport * from './get-customer';\n","import { Effect } from 'effect';\nimport { GET_CUSTOMERS_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type Customer } from './schemas/customer.schema';\nimport {\n FindCustomersCriteriaSchema,\n type FindCustomersCriteriaInput,\n} from './schemas/find-customer.criteria';\n\nexport const findCustomers = (criteria?: FindCustomersCriteriaInput) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query,\n });\n });\n};\n\nexport const getAllCustomersBy = (criteria: Omit<FindCustomersCriteriaInput, 'page' | 'limit'>) => {\n return Effect.gen(function* () {\n const allCustomers: Customer[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: GET_CUSTOMERS_BATCH_SIZE,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULT_TIMEOUT_MS = 30000;\nexport const API_BASE_URLS = {\n B2B: 'https://api-b2b.bigcommerce.com/api',\n REGULAR: 'https://api.bigcommerce.com/stores',\n} as const;\nexport const GET_ORDER_BATCH_SIZE = 250;\nexport const UPDATE_PRODUCT_BATCH_SIZE = 5;\nexport const UPDATE_INVENTORY_BATCH_SIZE = 2000;\nexport const UPDATE_INVENTORY_CONCURRENCY = 2;\nexport const DEFAULT_RETRY_TIMES = 2;\nexport const DEFAULT_RETRY_WAIT = 200;\nexport const DEFAULT_RETRY_SCHEDULE = Schedule.exponential(Duration.millis(DEFAULT_RETRY_WAIT));\nexport const RETRY_POLICY_WITH_BACKOFF = Schedule.exponential(\n Duration.millis(DEFAULT_RETRY_WAIT),\n 2,\n).pipe(Schedule.intersect(Schedule.recurs(DEFAULT_RETRY_TIMES)));\nexport const GET_CUSTOMERS_BATCH_SIZE = 100;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { API_BASE_URLS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig } from './config';\n\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number>): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${API_BASE_URLS.B2B}/${version}/io/${path}`;\n }\n return `${API_BASE_URLS.REGULAR}/[storeHash]/${version}/${path}`;\n};\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodTypeAny>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULT_TIMEOUT_MS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError, string>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULT_TIMEOUT_MS)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULT_TIMEOUT_MS),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n\nexport type Customer = z.output<typeof CustomerSchema>;\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n\nexport type FindCustomersCriteriaInput = z.input<typeof FindCustomersCriteriaSchema>;\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAAuB;;;ACAvB,oBAAmC;AAE5B,IAAM,qBAAqB;AAC3B,IAAM,gBAAgB;AAAA,EAC3B,KAAK;AAAA,EACL,SAAS;AACX;AAKO,IAAM,sBAAsB;AAC5B,IAAM,qBAAqB;AAC3B,IAAM,yBAAyB,uBAAS,YAAY,uBAAS,OAAO,kBAAkB,CAAC;AACvF,IAAM,4BAA4B,uBAAS;AAAA,EAChD,uBAAS,OAAO,kBAAkB;AAAA,EAClC;AACF,EAAE,KAAK,uBAAS,UAAU,uBAAS,OAAO,mBAAmB,CAAC,CAAC;AACxD,IAAM,2BAA2B;;;AClBxC,IAAAC,iBAAqB;AAEd,IAAM,sCAAN,cAAkD,oBAAK;AAAA,EAC5D;AACF,EAEG;AAAC;AAEG,IAAM,+BAAN,cAA2C,oBAAK;AAAA,EACrD;AACF,EAAE;AAAC;AAEI,IAAM,4BAAN,cAAwC,oBAAK,YAAY,2BAA2B,EAAE;AAAC;AAEvF,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAAE;AAAC;AAErF,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAEtF;AAAC;AAEG,IAAM,6BAAN,cAAyC,oBAAK,YAAY,4BAA4B,EAG1F;AAAC;AAEG,IAAM,0BAAN,cAAsC,oBAAK,YAAY,yBAAyB,EAEpF;AAAC;AAEG,IAAM,kCAAN,cAA8C,oBAAK;AAAA,EACxD;AACF,EAEG;AAAC;AAEG,IAAM,iCAAN,cAA6C,oBAAK;AAAA,EACvD;AACF,EAEG;AAAC;AAEG,IAAM,gCAAN,cAA4C,oBAAK;AAAA,EACtD;AACF,EAEG;AAAC;;;AC7CJ,IAAAC,iBAAgC;AAoBzB,IAAM,qBAAN,cAAiC,uBAAQ,IAAI,oBAAoB,EAWtE,EAAE;AAAC;;;AC/BL,IAAAC,iBAAqC;;;ACArC,IAAAC,iBAAqD;AAI9C,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAEtF;AAAC;AAEG,IAAM,oBAAN,cAAgC,uBAAQ,IAAI,mBAAmB,EASpE,EAAE;AAAC;AAEL,IAAM,uBAAuB,CAAC,QAAgB;AAC5C,SAAO,sBAAO,OAAO,sBAAO,OAAO,GAAG,GAAG,aAAa,EAAE;AAAA,IACtD,sBAAO,SAAS,MAAM,IAAI,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAAA,EAC7D;AACF;AAEA,IAAM,wBAAwB,MAAM;AAClC,SAAO,sBAAO,OAAO,sBAAO,OAAO,SAAS,GAAG,aAAa,EAAE;AAAA,IAC5D,sBAAO,SAAS,MAAM,IAAI,yBAAyB,EAAE,KAAK,UAAU,CAAC,CAAC;AAAA;AAAA,IAEtE,sBAAO,OAAO,MAAM,sBAAO,QAAQ,kBAAkB,CAAC;AAAA,EACxD;AACF;AAEO,IAAM,wBAAwB,qBAAM;AAAA,EACzC;AAAA,EACA,sBAAO,IAAI,aAAa;AACtB,UAAM,CAAC,WAAW,UAAU,cAAc,aAAa,OAAO,IAAI,OAAO,sBAAO,IAAI;AAAA,MAClF,qBAAqB,YAAY;AAAA,MACjC,qBAAqB,WAAW;AAAA,MAChC,qBAAqB,eAAe;AAAA,MACpC,qBAAqB,cAAc;AAAA,MACnC,sBAAsB;AAAA,IACxB,CAAC;AAED,WAAO;AAAA,MACL,cAAc,sBAAO,QAAQ,SAAS;AAAA,MACtC,aAAa,sBAAO,QAAQ,QAAQ;AAAA,MACpC,iBAAiB,sBAAO,QAAQ,YAAY;AAAA,MAC5C,gBAAgB,sBAAO,QAAQ,WAAW;AAAA,MAC1C,YAAY,sBAAO,QAAQ,OAAO;AAAA,IACpC;AAAA,EACF,CAAC;AACH;AAEO,IAAM,wBAAwB,qBAAM,QAAQ,mBAAmB;AAAA,EACpE,gBAAgB,sBAAO,QAAQ,MAAM;AAAA,EACrC,aAAa,sBAAO,QAAQ,MAAM;AAAA,EAClC,iBAAiB,sBAAO,QAAQ,MAAM;AAAA,EACtC,cAAc,sBAAO,QAAQ,MAAM;AAAA,EACnC,YAAY,sBAAO,QAAQ,kBAAkB;AAC/C,CAAC;;;ADzCD,IAAM,yBAAyB;AAAA,EAC7B,cAAc;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,iBAAiB;AACnB;AAEO,IAAM,yBAAyB,qBAAM;AAAA,EAC1C;AAAA,EACA,sBAAO,IAAI,aAAa;AACtB,UAAM,SAAS,OAAO;AACtB,UAAM,YAAY,OAAO,OAAO;AAChC,UAAM,cAAc,OAAO,OAAO;AAClC,UAAM,UAAU,OAAO,OAAO;AAC9B,WAAO;AAAA,MACL,OAAO,CAAC,WAAW;AACjB,cAAM,OAAO,QAAQ,MAAM;AAC3B,cAAM,UAAkC;AAAA,UACtC,QAAQ;AAAA,UACR,gBAAgB;AAAA,UAChB,gBAAgB;AAAA,QAClB;AAEA,YAAI,OAAO,OAAO;AAChB,kBAAQ,cAAc,IAAI;AAAA,QAC5B;AACA,cAAM,MAAM,YAAY,KAAK,QAAQ,eAAe,SAAS,GAAG,OAAO,KAAK;AAE5E,eAAO,sBAAO,WAAW;AAAA,UACvB,KAAK,MACH,MAAM,KAAK;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,QAAQ,OAAO;AAAA,YACnC,QAAQ,OAAO;AAAA,YACf,GAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,UAAU,OAAO,IAAI,EAAE;AAAA,UACzD,CAAC;AAAA,UACH,OAAO,CAAC,UAAU;AAChB,gBAAI,iBAAiB,SAAS,MAAM,SAAS,gBAAgB;AAC3D,qBAAO,IAAI,2BAA2B;AAAA,gBACpC,SAAS,yBAAyB,OAAO;AAAA,gBACzC,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AACA,gBAAI,iBAAiB,SAAS,MAAM,SAAS,cAAc;AACzD,qBAAO,IAAI,2BAA2B;AAAA,gBACpC,SAAS,yBAAyB,OAAO;AAAA,gBACzC,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AACA,mBAAO,IAAI,wBAAwB,EAAE,OAAO,MAAM,CAAC;AAAA,UACrD;AAAA,QACF,CAAC,EAAE;AAAA,UACD,sBAAO;AAAA,YAAS,CAAC,UACf,sBAAO,SAAS,wCAAwC,MAAM,KAAK;AAAA,UACrE;AAAA,UACA,sBAAO,QAAQ,CAAC,aAAa,kBAAkB,UAAU,OAAO,YAAY,CAAC;AAAA,QAC/E;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AACA,IAAM,cAAc,CAAC,KAAa,WAAkD;AAClF,QAAM,OAAO,IAAI,IAAI,GAAG;AACxB,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,SAAK,aAAa,OAAO,KAAK,GAAG,KAAK,EAAE;AAAA,EAC1C;AACA,SAAO;AACT;AAEA,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,MAIc;AACZ,MAAI,OAAO;AACT,WAAO,GAAG,cAAc,GAAG,IAAI,OAAO,OAAO,IAAI;AAAA,EACnD;AACA,SAAO,GAAG,cAAc,OAAO,gBAAgB,OAAO,IAAI,IAAI;AAChE;AACA,SAAS,uBAAoD,UAAoB,QAAgB;AAC/F,SAAO,sBAAO,WAAW;AAAA,IACvB,KAAK,MAAM,SAAS,KAAK;AAAA,IACzB,OAAO,CAAC,UAAU,IAAI,gCAAgC,EAAE,OAAO,MAAM,CAAC;AAAA,EACxE,CAAC,EAAE;AAAA,IACD,sBAAO;AAAA,MAAS,CAAC,UACf,sBAAO,SAAS,+CAA+C,MAAM,KAAK;AAAA,IAC5E;AAAA,IACA,sBAAO,OAAO;AAAA,MACZ,KAAK,CAAC,SAAS,OAAO,MAAM,IAAI;AAAA,MAChC,OAAO,CAAC,UAAU,IAAI,8BAA8B,EAAE,MAA2B,CAAC;AAAA,IACpF,CAAC;AAAA,EACH;AACF;AACA,IAAM,uBAAuB,CAAC,aAAuB;AACnD,QAAM,OAAO,SAAS;AACtB,SAAO,sBAAO,WAAW;AAAA,IACvB,KAAK,MAAM,SAAS,KAAK;AAAA,IACzB,OAAO,CAAC,UAAU,IAAI,gCAAgC,EAAE,OAAO,MAAM,CAAC;AAAA,EACxE,CAAC,EAAE;AAAA,IACD,sBAAO,SAAS,CAAC,UAAU,sBAAO,SAAS,gCAAgC,MAAM,KAAK,CAAC;AAAA,IACvF,sBAAO;AAAA,MAAQ,CAAC,iBACd,sBAAO;AAAA,QACL,qBAAM,MAAM,IAAI,EAAE;AAAA,UAChB,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,+BAA+B,EAAE,aAAa,CAAC;AAAA,UAC3D;AAAA,UACA,qBAAM,KAAK,uBAAuB,cAAc,MAAM,IAAI,6BAA6B,CAAC;AAAA,UACxF,qBAAM,KAAK,uBAAuB,WAAW,MAAM,IAAI,0BAA0B,CAAC;AAAA,UAClF,qBAAM,KAAK,uBAAuB,WAAW,MAAM,IAAI,yBAAyB,CAAC;AAAA,UACjF,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,yBAAyB,EAAE,SAAS,aAAa,CAAC;AAAA,UAC9D;AAAA,UACA,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,oCAAoC,EAAE,aAAa,CAAC;AAAA,UAChE;AAAA,UACA,qBAAM;AAAA,YACJ,CAACC,UAASA,SAAQ;AAAA,YAClB,MACE,IAAI,2BAA2B;AAAA,cAC7B,SAAS,iBAAiB,IAAI;AAAA,cAC9B,MACE,SAAS,uBAAuB,wBAC5B,kBACA,SAAS,uBAAuB,eAC9B,SAAS,uBAAuB,kBAChC,YACA;AAAA,YACV,CAAC;AAAA,UACL;AAAA,UACA,qBAAM,OAAO,MAAM,IAAI,wBAAwB,EAAE,OAAO,aAAa,CAAC,CAAC;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,oBAAoB,CACxB,UACA,WAC0D;AAC1D,MAAI,SAAS,IAAI;AACf,WAAO,uBAAuB,UAAU,MAAM;AAAA,EAChD;AACA,SAAO,qBAAqB,QAAQ;AACtC;;;AEnLA,IAAAC,iBAAuB;;;ACAvB,IAAAC,iBAAqB;AAEd,IAAM,uBAAN,cAAmC,oBAAK,YAAY,sBAAsB,EAG9E;AAAC;;;ADFG,IAAM,gBAAgB,CAA2B,QAAgB,SAA0B;AAChG,SAAO,sBAAO,IAAI;AAAA,IAChB,KAAK,MAAM,OAAO,MAAM,IAAI;AAAA,IAC5B,OAAO,CAAC,UAAU,IAAI,qBAAqB,EAAE,OAAO,MAAM,MAA2B,CAAC;AAAA,EACxF,CAAC;AACH;;;AERA,QAAmB;AAEZ,IAAM,iBAAmB,SAAO;AAAA,EACrC,OAAS,QAAM;AAAA,EACf,YAAc,SAAO;AAAA,EACrB,WAAa,SAAO;AAAA,EACpB,SAAW,SAAO,EAAE,SAAS;AAAA,EAC7B,OAAS,SAAO;AAAA,EAChB,mBAAqB,MAAI;AAAA,EACzB,IAAM,MAAI;AAAA,EACV,aAAe,QAAQ,MAAI,CAAC;AAC9B,CAAC;AAEM,IAAM,uBAAyB,SAAO;AAAA,EAC3C,MAAQ,QAAM,cAAc;AAAA,EAC5B,MAAQ,SAAO;AAAA,IACb,YAAc,SAAO;AAAA,MACnB,OAAS,MAAI;AAAA,MACb,OAAS,MAAI;AAAA,MACb,UAAY,MAAI;AAAA,MAChB,cAAgB,MAAI;AAAA,MACpB,aAAe,MAAI;AAAA,MACnB,OAAS,SAAO;AAAA,QACd,UAAY,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACzC,SAAW,SAAO;AAAA,QAClB,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;;AC7BD,IAAAC,KAAmB;AACZ,IAAM,8BAAgC,UAAO;AAAA,EAClD,SACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AAAA,EACZ,MAAQ,OAAI,EAAE,SAAS;AAAA,EACvB,OAAS,OAAI,EAAE,SAAS;AAAA,EACxB,cACG,SAAQ,UAAO,CAAC,EAChB,UAAU,CAAC,cAAc,UAAU,KAAK,GAAG,CAAC,EAC5C,SAAS;AAAA,EACZ,wBACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AACd,CAAC;;;ATNM,IAAM,gBAAgB,CAAC,aAA0C;AACtE,SAAO,sBAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,UAAM,oBAAoB,OAAO,cAAc,6BAA6B,YAAY,CAAC,CAAC;AAC1F,UAAM,QAAgC,CAAC;AACvC,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,iBAAiB,GAAG;AAC5D,UAAI,UAAU,QAAW;AACvB,cAAM,GAAG,IAAI,GAAG,KAAK;AAAA,MACvB;AAAA,IACF;AACA,WAAO,OAAO,QAAQ,MAAM;AAAA,MAC1B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AAEO,IAAM,oBAAoB,CAAC,aAAiE;AACjG,SAAO,sBAAO,IAAI,aAAa;AAC7B,UAAM,eAA2B,CAAC;AAClC,QAAI,OAAO;AACX,QAAI,mBAAmB;AAEvB,WAAO,kBAAkB;AACvB,YAAM,YAAY,OAAO,cAAc;AAAA,QACrC,GAAG;AAAA,QACH;AAAA,QACA,OAAO;AAAA,MACT,CAAC;AAED,UAAI,UAAU,KAAK,WAAW,MAAM,MAAM;AACxC,qBAAa,KAAK,GAAG,UAAU,IAAI;AACnC;AAAA,MACF,OAAO;AACL,2BAAmB;AAAA,MACrB;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;;;AUtDA,IAAAC,iBAAuB;AAGhB,IAAM,cAAc,CAAC,eAAuB;AACjD,SAAO,cAAc;AAAA,IACnB,SAAS,CAAC,UAAU;AAAA,EACtB,CAAC,EAAE,KAAK,sBAAO,IAAI,CAAC,aAAa,SAAS,KAAK,CAAC,CAAC,CAAC;AACpD;","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","z","import_effect"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/customers/index.ts","../src/bigcommerce-entities/customers/find-customers.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-customer.ts"],"sourcesContent":["export * from './find-customers';\nexport * from './get-customer';\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_CUSTOMERS_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type CustomerSchema } from './schemas/customer.schema';\nimport { FindCustomersCriteriaSchema } from './schemas/find-customer.criteria';\nexport const findCustomers = (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query,\n });\n });\n};\n\nexport const getAllCustomersBy = (\n criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allCustomers: z.infer<typeof CustomerSchema>[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: GET_CUSTOMERS_BATCH_SIZE,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULT_TIMEOUT_MS = 30000;\nexport const API_BASE_URLS = {\n B2B: 'https://api-b2b.bigcommerce.com/api',\n REGULAR: 'https://api.bigcommerce.com/stores',\n} as const;\nexport const GET_ORDER_BATCH_SIZE = 250;\nexport const UPDATE_PRODUCT_BATCH_SIZE = 5;\nexport const UPDATE_INVENTORY_BATCH_SIZE = 2000;\nexport const UPDATE_INVENTORY_CONCURRENCY = 2;\nexport const DEFAULT_RETRY_TIMES = 2;\nexport const DEFAULT_RETRY_WAIT = 200;\nexport const DEFAULT_RETRY_SCHEDULE = Schedule.exponential(Duration.millis(DEFAULT_RETRY_WAIT));\nexport const RETRY_POLICY_WITH_BACKOFF = Schedule.exponential(\n Duration.millis(DEFAULT_RETRY_WAIT),\n 2,\n).pipe(Schedule.intersect(Schedule.recurs(DEFAULT_RETRY_TIMES)));\nexport const GET_CUSTOMERS_BATCH_SIZE = 100;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { API_BASE_URLS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig } from './config';\n\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number>): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${API_BASE_URLS.B2B}/${version}/io/${path}`;\n }\n return `${API_BASE_URLS.REGULAR}/[storeHash]/${version}/${path}`;\n};\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodTypeAny>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULT_TIMEOUT_MS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError, string>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULT_TIMEOUT_MS)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULT_TIMEOUT_MS),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n"],"mappings":"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","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","z","import_effect"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/customers/find-customers.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-customer.ts"],"sourcesContent":["import { Effect } from 'effect';\nimport { GET_CUSTOMERS_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type Customer } from './schemas/customer.schema';\nimport {\n FindCustomersCriteriaSchema,\n type FindCustomersCriteriaInput,\n} from './schemas/find-customer.criteria';\n\nexport const findCustomers = (criteria?: FindCustomersCriteriaInput) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query,\n });\n });\n};\n\nexport const getAllCustomersBy = (criteria: Omit<FindCustomersCriteriaInput, 'page' | 'limit'>) => {\n return Effect.gen(function* () {\n const allCustomers: Customer[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: GET_CUSTOMERS_BATCH_SIZE,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n\nexport type Customer = z.output<typeof CustomerSchema>;\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n\nexport type FindCustomersCriteriaInput = z.input<typeof FindCustomersCriteriaSchema>;\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n"],"mappings":";;;;;;;;;AAAA,SAAS,cAAc;;;ACAvB,YAAY,OAAO;AAEZ,IAAM,iBAAmB,SAAO;AAAA,EACrC,OAAS,QAAM;AAAA,EACf,YAAc,SAAO;AAAA,EACrB,WAAa,SAAO;AAAA,EACpB,SAAW,SAAO,EAAE,SAAS;AAAA,EAC7B,OAAS,SAAO;AAAA,EAChB,mBAAqB,MAAI;AAAA,EACzB,IAAM,MAAI;AAAA,EACV,aAAe,QAAQ,MAAI,CAAC;AAC9B,CAAC;AAEM,IAAM,uBAAyB,SAAO;AAAA,EAC3C,MAAQ,QAAM,cAAc;AAAA,EAC5B,MAAQ,SAAO;AAAA,IACb,YAAc,SAAO;AAAA,MACnB,OAAS,MAAI;AAAA,MACb,OAAS,MAAI;AAAA,MACb,UAAY,MAAI;AAAA,MAChB,cAAgB,MAAI;AAAA,MACpB,aAAe,MAAI;AAAA,MACnB,OAAS,SAAO;AAAA,QACd,UAAY,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACzC,SAAW,SAAO;AAAA,QAClB,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;;AC7BD,YAAYA,QAAO;AACZ,IAAM,8BAAgC,UAAO;AAAA,EAClD,SACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AAAA,EACZ,MAAQ,OAAI,EAAE,SAAS;AAAA,EACvB,OAAS,OAAI,EAAE,SAAS;AAAA,EACxB,cACG,SAAQ,UAAO,CAAC,EAChB,UAAU,CAAC,cAAc,UAAU,KAAK,GAAG,CAAC,EAC5C,SAAS;AAAA,EACZ,wBACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AACd,CAAC;;;AFNM,IAAM,gBAAgB,CAAC,aAA0C;AACtE,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,UAAM,oBAAoB,OAAO,cAAc,6BAA6B,YAAY,CAAC,CAAC;AAC1F,UAAM,QAAgC,CAAC;AACvC,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,iBAAiB,GAAG;AAC5D,UAAI,UAAU,QAAW;AACvB,cAAM,GAAG,IAAI,GAAG,KAAK;AAAA,MACvB;AAAA,IACF;AACA,WAAO,OAAO,QAAQ,MAAM;AAAA,MAC1B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AAEO,IAAM,oBAAoB,CAAC,aAAiE;AACjG,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,eAA2B,CAAC;AAClC,QAAI,OAAO;AACX,QAAI,mBAAmB;AAEvB,WAAO,kBAAkB;AACvB,YAAM,YAAY,OAAO,cAAc;AAAA,QACrC,GAAG;AAAA,QACH;AAAA,QACA,OAAO;AAAA,MACT,CAAC;AAED,UAAI,UAAU,KAAK,WAAW,MAAM,MAAM;AACxC,qBAAa,KAAK,GAAG,UAAU,IAAI;AACnC;AAAA,MACF,OAAO;AACL,2BAAmB;AAAA,MACrB;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;;;AGtDA,SAAS,UAAAC,eAAc;AAGhB,IAAM,cAAc,CAAC,eAAuB;AACjD,SAAO,cAAc;AAAA,IACnB,SAAS,CAAC,UAAU;AAAA,EACtB,CAAC,EAAE,KAAKC,QAAO,IAAI,CAAC,aAAa,SAAS,KAAK,CAAC,CAAC,CAAC;AACpD;","names":["z","Effect","Effect"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/customers/find-customers.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-customer.ts"],"sourcesContent":["import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_CUSTOMERS_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type CustomerSchema } from './schemas/customer.schema';\nimport { FindCustomersCriteriaSchema } from './schemas/find-customer.criteria';\nexport const findCustomers = (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query,\n });\n });\n};\n\nexport const getAllCustomersBy = (\n criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allCustomers: z.infer<typeof CustomerSchema>[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: GET_CUSTOMERS_BATCH_SIZE,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n"],"mappings":";;;;;;;;;AAAA,SAAS,cAAc;;;ACAvB,YAAY,OAAO;AAEZ,IAAM,iBAAmB,SAAO;AAAA,EACrC,OAAS,QAAM;AAAA,EACf,YAAc,SAAO;AAAA,EACrB,WAAa,SAAO;AAAA,EACpB,SAAW,SAAO,EAAE,SAAS;AAAA,EAC7B,OAAS,SAAO;AAAA,EAChB,mBAAqB,MAAI;AAAA,EACzB,IAAM,MAAI;AAAA,EACV,aAAe,QAAQ,MAAI,CAAC;AAC9B,CAAC;AAEM,IAAM,uBAAyB,SAAO;AAAA,EAC3C,MAAQ,QAAM,cAAc;AAAA,EAC5B,MAAQ,SAAO;AAAA,IACb,YAAc,SAAO;AAAA,MACnB,OAAS,MAAI;AAAA,MACb,OAAS,MAAI;AAAA,MACb,UAAY,MAAI;AAAA,MAChB,cAAgB,MAAI;AAAA,MACpB,aAAe,MAAI;AAAA,MACnB,OAAS,SAAO;AAAA,QACd,UAAY,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACzC,SAAW,SAAO;AAAA,QAClB,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;;AC7BD,YAAYA,QAAO;AACZ,IAAM,8BAAgC,UAAO;AAAA,EAClD,SACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AAAA,EACZ,MAAQ,OAAI,EAAE,SAAS;AAAA,EACvB,OAAS,OAAI,EAAE,SAAS;AAAA,EACxB,cACG,SAAQ,UAAO,CAAC,EAChB,UAAU,CAAC,cAAc,UAAU,KAAK,GAAG,CAAC,EAC5C,SAAS;AAAA,EACZ,wBACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AACd,CAAC;;;AFTM,IAAM,gBAAgB,CAAC,aAA2D;AACvF,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,UAAM,oBAAoB,OAAO,cAAc,6BAA6B,YAAY,CAAC,CAAC;AAC1F,UAAM,QAAgC,CAAC;AACvC,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,iBAAiB,GAAG;AAC5D,UAAI,UAAU,QAAW;AACvB,cAAM,GAAG,IAAI,GAAG,KAAK;AAAA,MACvB;AAAA,IACF;AACA,WAAO,OAAO,QAAQ,MAAM;AAAA,MAC1B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AAEO,IAAM,oBAAoB,CAC/B,aACG;AACH,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,eAAiD,CAAC;AACxD,QAAI,OAAO;AACX,QAAI,mBAAmB;AAEvB,WAAO,kBAAkB;AACvB,YAAM,YAAY,OAAO,cAAc;AAAA,QACrC,GAAG;AAAA,QACH;AAAA,QACA,OAAO;AAAA,MACT,CAAC;AAED,UAAI,UAAU,KAAK,WAAW,MAAM,MAAM;AACxC,qBAAa,KAAK,GAAG,UAAU,IAAI;AACnC;AAAA,MACF,OAAO;AACL,2BAAmB;AAAA,MACrB;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;;;AGrDA,SAAS,UAAAC,eAAc;AAGhB,IAAM,cAAc,CAAC,eAAuB;AACjD,SAAO,cAAc;AAAA,IACnB,SAAS,CAAC,UAAU;AAAA,EACtB,CAAC,EAAE,KAAKC,QAAO,IAAI,CAAC,aAAa,SAAS,KAAK,CAAC,CAAC,CAAC;AACpD;","names":["z","Effect","Effect"]}
package/dist/orders.d.mts CHANGED
@@ -2,6 +2,7 @@ import { I as InputValidationError } from './validation.error-CHLpPYC_.mjs';
2
2
  import { S as SomeBigCommerceError, B as BigCommerceFetcher } from './bigcommerce.fetcher-D1TyK4y4.mjs';
3
3
  import { Effect } from 'effect';
4
4
  import * as z from 'zod';
5
+ export { O as OrderStatusEnum, a as OrderStatusNameEnumSchema, b as OrderStatusSchema } from './status.schema-BgztUtGy.mjs';
5
6
  import 'effect/Cause';
6
7
  import 'effect/Types';
7
8
 
@@ -20,9 +21,8 @@ declare const FindOrdersCriteriaSchema: z.ZodObject<{
20
21
  sort: z.ZodOptional<z.ZodString>;
21
22
  channel_id: z.ZodOptional<z.ZodInt>;
22
23
  }, z.core.$strip>;
23
- type FindOrdersCriteriaInput = z.input<typeof FindOrdersCriteriaSchema>;
24
24
 
25
- declare const findOrders: (criteria?: FindOrdersCriteriaInput) => Effect.Effect<{
25
+ declare const findOrders: (criteria?: z.input<typeof FindOrdersCriteriaSchema>) => Effect.Effect<{
26
26
  id: number;
27
27
  customer_id: number;
28
28
  date_created: string;
@@ -108,7 +108,7 @@ declare const findOrders: (criteria?: FindOrdersCriteriaInput) => Effect.Effect<
108
108
  store_default_to_transactional_exchange_rate: string;
109
109
  custom_status: string;
110
110
  }[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
111
- declare const getAllOrdersBy: (criteria: Omit<FindOrdersCriteriaInput, "page" | "limit">) => Effect.Effect<{
111
+ declare const getAllOrdersBy: (criteria: Omit<z.input<typeof FindOrdersCriteriaSchema>, "page" | "limit">) => Effect.Effect<{
112
112
  id: number;
113
113
  customer_id: number;
114
114
  date_created: string;
@@ -411,6 +411,5 @@ declare const OrderSchema: z.ZodObject<{
411
411
  store_default_to_transactional_exchange_rate: z.ZodString;
412
412
  custom_status: z.ZodString;
413
413
  }, z.core.$strip>;
414
- type Order = z.output<typeof OrderSchema>;
415
414
 
416
- export { type Order, OrderSchema, findOrders, getAllOrderProducts, getAllOrdersBy, getOrder };
415
+ export { OrderSchema, findOrders, getAllOrderProducts, getAllOrdersBy, getOrder };
package/dist/orders.d.ts CHANGED
@@ -2,6 +2,7 @@ import { I as InputValidationError } from './validation.error-CHLpPYC_.js';
2
2
  import { S as SomeBigCommerceError, B as BigCommerceFetcher } from './bigcommerce.fetcher-D1TyK4y4.js';
3
3
  import { Effect } from 'effect';
4
4
  import * as z from 'zod';
5
+ export { O as OrderStatusEnum, a as OrderStatusNameEnumSchema, b as OrderStatusSchema } from './status.schema-BgztUtGy.js';
5
6
  import 'effect/Cause';
6
7
  import 'effect/Types';
7
8
 
@@ -20,9 +21,8 @@ declare const FindOrdersCriteriaSchema: z.ZodObject<{
20
21
  sort: z.ZodOptional<z.ZodString>;
21
22
  channel_id: z.ZodOptional<z.ZodInt>;
22
23
  }, z.core.$strip>;
23
- type FindOrdersCriteriaInput = z.input<typeof FindOrdersCriteriaSchema>;
24
24
 
25
- declare const findOrders: (criteria?: FindOrdersCriteriaInput) => Effect.Effect<{
25
+ declare const findOrders: (criteria?: z.input<typeof FindOrdersCriteriaSchema>) => Effect.Effect<{
26
26
  id: number;
27
27
  customer_id: number;
28
28
  date_created: string;
@@ -108,7 +108,7 @@ declare const findOrders: (criteria?: FindOrdersCriteriaInput) => Effect.Effect<
108
108
  store_default_to_transactional_exchange_rate: string;
109
109
  custom_status: string;
110
110
  }[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
111
- declare const getAllOrdersBy: (criteria: Omit<FindOrdersCriteriaInput, "page" | "limit">) => Effect.Effect<{
111
+ declare const getAllOrdersBy: (criteria: Omit<z.input<typeof FindOrdersCriteriaSchema>, "page" | "limit">) => Effect.Effect<{
112
112
  id: number;
113
113
  customer_id: number;
114
114
  date_created: string;
@@ -411,6 +411,5 @@ declare const OrderSchema: z.ZodObject<{
411
411
  store_default_to_transactional_exchange_rate: z.ZodString;
412
412
  custom_status: z.ZodString;
413
413
  }, z.core.$strip>;
414
- type Order = z.output<typeof OrderSchema>;
415
414
 
416
- export { type Order, OrderSchema, findOrders, getAllOrderProducts, getAllOrdersBy, getOrder };
415
+ export { OrderSchema, findOrders, getAllOrderProducts, getAllOrdersBy, getOrder };
package/dist/orders.js CHANGED
@@ -31,6 +31,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var orders_exports = {};
32
32
  __export(orders_exports, {
33
33
  OrderSchema: () => OrderSchema,
34
+ OrderStatusEnum: () => OrderStatusEnum,
35
+ OrderStatusNameEnumSchema: () => OrderStatusNameEnumSchema,
36
+ OrderStatusSchema: () => OrderStatusSchema,
34
37
  findOrders: () => findOrders,
35
38
  getAllOrderProducts: () => getAllOrderProducts,
36
39
  getAllOrdersBy: () => getAllOrdersBy,
@@ -600,6 +603,9 @@ var getAllOrderProducts = (orderId) => {
600
603
  // Annotate the CommonJS export names for ESM import in node:
601
604
  0 && (module.exports = {
602
605
  OrderSchema,
606
+ OrderStatusEnum,
607
+ OrderStatusNameEnumSchema,
608
+ OrderStatusSchema,
603
609
  findOrders,
604
610
  getAllOrderProducts,
605
611
  getAllOrdersBy,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/orders/index.ts","../src/bigcommerce-entities/orders/find-orders.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/orders/schemas/order.schema.ts","../src/bigcommerce-entities/addresses/schemas/address.schema.ts","../src/bigcommerce-entities/addresses/schemas/form-field.schema.ts","../src/bigcommerce-entities/orders/schemas/status.schema.ts","../src/bigcommerce-entities/orders/schemas/find-orders.criteria.ts","../src/bigcommerce-entities/orders/get-order.ts","../src/bigcommerce-entities/orders/get-products.ts","../src/bigcommerce-entities/orders/schemas/order-product.schema.ts"],"sourcesContent":["export * from './find-orders';\nexport * from './get-order';\nexport * from './get-products';\nexport * from './schemas';\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { OrderSchema, type Order } from './schemas';\nimport {\n FindOrdersCriteriaSchema,\n type FindOrdersCriteriaInput,\n} from './schemas/find-orders.criteria';\n\nconst OrderArraySchema = z.union([z.array(OrderSchema), z.literal(''), z.literal(null)]);\n\nexport const findOrders = (criteria?: FindOrdersCriteriaInput) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindOrdersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n const orders = yield* fetcher.fetch({\n query,\n isB2B: false,\n method: 'GET',\n path: 'orders',\n version: 'v2',\n resultSchema: OrderArraySchema,\n });\n return orders || [];\n });\n};\n\nexport const getAllOrdersBy = (criteria: Omit<FindOrdersCriteriaInput, 'page' | 'limit'>) => {\n return Effect.gen(function* () {\n const allOrders: Order[] = [];\n let page = 1;\n let hasMoreOrders = true;\n\n while (hasMoreOrders) {\n const orders = yield* findOrders({\n ...criteria,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (orders.length === 0) {\n hasMoreOrders = false;\n } else {\n allOrders.push(...orders);\n page++;\n }\n }\n\n return allOrders;\n });\n};\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULT_TIMEOUT_MS = 30000;\nexport const API_BASE_URLS = {\n B2B: 'https://api-b2b.bigcommerce.com/api',\n REGULAR: 'https://api.bigcommerce.com/stores',\n} as const;\nexport const GET_ORDER_BATCH_SIZE = 250;\nexport const UPDATE_PRODUCT_BATCH_SIZE = 5;\nexport const UPDATE_INVENTORY_BATCH_SIZE = 2000;\nexport const UPDATE_INVENTORY_CONCURRENCY = 2;\nexport const DEFAULT_RETRY_TIMES = 2;\nexport const DEFAULT_RETRY_WAIT = 200;\nexport const DEFAULT_RETRY_SCHEDULE = Schedule.exponential(Duration.millis(DEFAULT_RETRY_WAIT));\nexport const RETRY_POLICY_WITH_BACKOFF = Schedule.exponential(\n Duration.millis(DEFAULT_RETRY_WAIT),\n 2,\n).pipe(Schedule.intersect(Schedule.recurs(DEFAULT_RETRY_TIMES)));\nexport const GET_CUSTOMERS_BATCH_SIZE = 100;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { API_BASE_URLS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig } from './config';\n\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number>): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${API_BASE_URLS.B2B}/${version}/io/${path}`;\n }\n return `${API_BASE_URLS.REGULAR}/[storeHash]/${version}/${path}`;\n};\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodTypeAny>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULT_TIMEOUT_MS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError, string>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULT_TIMEOUT_MS)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULT_TIMEOUT_MS),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\nimport { AddressSchema } from '../../addresses/schemas/address.schema';\nimport { OrderStatusNameEnumSchema } from './status.schema';\n\nexport const OrderSchema = z.object({\n id: z.number(),\n customer_id: z.number(),\n date_created: z.string(),\n is_tax_inclusive_pricing: z.boolean(),\n date_modified: z.string(),\n date_shipped: z.string(),\n status_id: z.number(),\n status: OrderStatusNameEnumSchema,\n subtotal_ex_tax: z.string(),\n subtotal_inc_tax: z.string(),\n subtotal_tax: z.string(),\n base_shipping_cost: z.string(),\n shipping_cost_ex_tax: z.string(),\n shipping_cost_inc_tax: z.string(),\n shipping_cost_tax: z.string(),\n shipping_cost_tax_class_id: z.number(),\n base_handling_cost: z.string(),\n handling_cost_ex_tax: z.string(),\n handling_cost_inc_tax: z.string(),\n handling_cost_tax: z.string(),\n handling_cost_tax_class_id: z.number(),\n base_wrapping_cost: z.string(),\n wrapping_cost_ex_tax: z.string(),\n wrapping_cost_inc_tax: z.string(),\n wrapping_cost_tax: z.string(),\n wrapping_cost_tax_class_id: z.number(),\n total_ex_tax: z.string(),\n total_inc_tax: z.string(),\n total_tax: z.string(),\n items_total: z.number(),\n items_shipped: z.number(),\n payment_method: z.string(),\n payment_provider_id: z.string(),\n payment_status: z.string(),\n refunded_amount: z.string(),\n order_is_digital: z.boolean(),\n store_credit_amount: z.string(),\n gift_certificate_amount: z.string(),\n ip_address: z.string(),\n ip_address_v6: z.string(),\n geoip_country: z.string(),\n geoip_country_iso2: z.string(),\n currency_id: z.number(),\n currency_code: z.string(),\n currency_exchange_rate: z.string(),\n default_currency_id: z.number(),\n default_currency_code: z.string(),\n staff_notes: z.string(),\n customer_message: z.string(),\n discount_amount: z.string(),\n coupon_discount: z.string(),\n shipping_address_count: z.number(),\n is_deleted: z.boolean(),\n ebay_order_id: z.string(),\n cart_id: z.string(),\n billing_address: AddressSchema,\n is_email_opt_in: z.boolean(),\n order_source: z.string(),\n channel_id: z.number(),\n external_source: z.string(),\n external_id: z.string().nullable(),\n tax_provider_id: z.string(),\n customer_locale: z.string(),\n external_order_id: z.string().nullable(),\n store_default_currency_code: z.string(),\n store_default_to_transactional_exchange_rate: z.string(),\n custom_status: z.string(),\n});\nexport type Order = z.output<typeof OrderSchema>;\n","import * as z from 'zod';\nimport { AddressFormFieldSchema } from './form-field.schema';\n\nexport const AddressSchema = z.object({\n first_name: z.string(),\n last_name: z.string(),\n company: z.string(),\n street_1: z.string(),\n street_2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string(),\n country: z.string(),\n country_iso2: z.string(),\n phone: z.string(),\n email: z.string(),\n form_fields: z.array(AddressFormFieldSchema),\n});\nexport type Address = z.output<typeof AddressSchema>;\n","import * as z from 'zod';\n\nexport const AddressFormFieldSchema = z.object({\n name: z.string(),\n value: z.string(),\n});\nexport type AddressFormField = z.output<typeof AddressFormFieldSchema>;\n","import * as z from 'zod';\nexport const OrderStatusNameEnumSchema = z.enum([\n 'Incomplete',\n 'Pending',\n 'Shipped',\n 'Partially Shipped',\n 'Refunded',\n 'Cancelled',\n 'Declined',\n 'Awaiting Payment',\n 'Awaiting Pickup',\n 'Awaiting Shipment',\n 'Completed',\n 'Awaiting Fulfillment',\n 'Manual Verification Required',\n 'Disputed',\n 'Partially Refunded',\n]);\nexport enum OrderStatusEnum {\n Incomplete = 0,\n Pending = 1,\n Shipped = 2,\n PartiallyShipped = 3,\n Refunded = 4,\n Cancelled = 5,\n Declined = 6,\n AwaitingPayment = 7,\n AwaitingPickup = 8,\n AwaitingShipment = 9,\n Completed = 10,\n AwaitingFulfillment = 11,\n ManualVerificationRequired = 12,\n Disputed = 13,\n PartiallyRefunded = 14,\n}\nexport const OrderStatusSchema = z.enum(OrderStatusEnum);\n\nexport type OrderStatusName = z.output<typeof OrderStatusNameEnumSchema>;\nexport type OrderStatus = z.output<typeof OrderStatusSchema>;\n","import * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../../constants';\n\nexport const FindOrdersCriteriaSchema = z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n status_id: z.number().optional(),\n cart_id: z.string().optional(),\n payment_method: z.string().optional(),\n min_date_created: z.iso.datetime({ offset: true }).optional(),\n max_date_created: z.iso.datetime({ offset: true }).optional(),\n min_date_modified: z.iso.datetime({ offset: true }).optional(),\n max_date_modified: z.iso.datetime({ offset: true }).optional(),\n page: z.number().min(1).optional(),\n limit: z.number().min(1).max(GET_ORDER_BATCH_SIZE).optional(),\n // Allowed: id | customer_id | date_created | date_modified | status_id | channel_id | external_id;\n sort: z.string().optional(),\n channel_id: z.int().optional(),\n});\n\nexport type FindOrdersCriteriaInput = z.input<typeof FindOrdersCriteriaSchema>;\n","import { Effect } from 'effect';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderSchema } from './schemas';\n\nexport const getOrder = (orderId: string) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n isB2B: false,\n method: 'GET',\n path: `orders/${orderId}`,\n resultSchema: OrderSchema,\n version: 'v2',\n });\n });\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderProductSchema, type OrderProduct } from './schemas/order-product.schema';\nconst getOrderProducts = ({\n orderId,\n limit = GET_ORDER_BATCH_SIZE,\n page,\n}: {\n orderId: number;\n limit?: number;\n page: number;\n}) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n method: 'GET',\n path: `orders/${orderId}/products`,\n isB2B: false,\n version: 'v2',\n resultSchema: z.union([z.array(OrderProductSchema), z.literal(''), z.literal(null)]),\n query: {\n limit: `${limit}`,\n page: `${page}`,\n },\n });\n }).pipe(Effect.map((arr) => arr || []));\n};\n\nexport const getAllOrderProducts = (orderId: number) => {\n return Effect.gen(function* () {\n const all: OrderProduct[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = yield* getOrderProducts({\n orderId,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (result.length) {\n all.push(...result);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n};\n","import * as z from 'zod';\nexport const OrderProductSchema = z.object({\n id: z.int(),\n order_id: z.int(),\n product_id: z.int(),\n variant_id: z.int(),\n order_address_id: z.int(),\n sku: z.string(),\n type: z.enum(['physical', 'digital']),\n base_price: z.coerce.number(),\n price_ex_tax: z.coerce.number(),\n price_inc_tax: z.coerce.number(),\n price_tax: z.coerce.number(),\n base_total: z.coerce.number(),\n total_ex_tax: z.coerce.number(),\n total_inc_tax: z.coerce.number(),\n total_tax: z.coerce.number(),\n weight: z.coerce.number(),\n width: z.coerce.number(),\n height: z.coerce.number(),\n depth: z.coerce.number(),\n quantity: z.int(),\n base_cost_price: z.coerce.number(),\n cost_price_inc_tax: z.coerce.number(),\n cost_price_ex_tax: z.coerce.number(),\n cost_price_tax: z.coerce.number(),\n});\n\nexport type OrderProduct = z.output<typeof OrderProductSchema>;\n"],"mappings":"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","names":["import_effect","z","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","z","z","z","OrderStatusEnum","z","import_effect","import_effect","z","z"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/orders/index.ts","../src/bigcommerce-entities/orders/find-orders.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/orders/schemas/order.schema.ts","../src/bigcommerce-entities/addresses/schemas/address.schema.ts","../src/bigcommerce-entities/addresses/schemas/form-field.schema.ts","../src/bigcommerce-entities/orders/schemas/status.schema.ts","../src/bigcommerce-entities/orders/schemas/find-orders.criteria.ts","../src/bigcommerce-entities/orders/get-order.ts","../src/bigcommerce-entities/orders/get-products.ts","../src/bigcommerce-entities/orders/schemas/order-product.schema.ts"],"sourcesContent":["export * from './find-orders';\nexport * from './get-order';\nexport * from './get-products';\nexport * from './schemas';\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { OrderSchema } from './schemas';\nimport { FindOrdersCriteriaSchema } from './schemas/find-orders.criteria';\n\nconst OrderArraySchema = z.union([z.array(OrderSchema), z.literal(''), z.literal(null)]);\n\nexport const findOrders = (criteria?: z.input<typeof FindOrdersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindOrdersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n const orders = yield* fetcher.fetch({\n query,\n isB2B: false,\n method: 'GET',\n path: 'orders',\n version: 'v2',\n resultSchema: OrderArraySchema,\n });\n return orders || [];\n });\n};\n\nexport const getAllOrdersBy = (\n criteria: Omit<z.input<typeof FindOrdersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allOrders: z.output<typeof OrderSchema>[] = [];\n let page = 1;\n let hasMoreOrders = true;\n\n while (hasMoreOrders) {\n const orders = yield* findOrders({\n ...criteria,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (orders.length === 0) {\n hasMoreOrders = false;\n } else {\n allOrders.push(...orders);\n page++;\n }\n }\n\n return allOrders;\n });\n};\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULT_TIMEOUT_MS = 30000;\nexport const API_BASE_URLS = {\n B2B: 'https://api-b2b.bigcommerce.com/api',\n REGULAR: 'https://api.bigcommerce.com/stores',\n} as const;\nexport const GET_ORDER_BATCH_SIZE = 250;\nexport const UPDATE_PRODUCT_BATCH_SIZE = 5;\nexport const UPDATE_INVENTORY_BATCH_SIZE = 2000;\nexport const UPDATE_INVENTORY_CONCURRENCY = 2;\nexport const DEFAULT_RETRY_TIMES = 2;\nexport const DEFAULT_RETRY_WAIT = 200;\nexport const DEFAULT_RETRY_SCHEDULE = Schedule.exponential(Duration.millis(DEFAULT_RETRY_WAIT));\nexport const RETRY_POLICY_WITH_BACKOFF = Schedule.exponential(\n Duration.millis(DEFAULT_RETRY_WAIT),\n 2,\n).pipe(Schedule.intersect(Schedule.recurs(DEFAULT_RETRY_TIMES)));\nexport const GET_CUSTOMERS_BATCH_SIZE = 100;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { API_BASE_URLS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig } from './config';\n\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number>): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${API_BASE_URLS.B2B}/${version}/io/${path}`;\n }\n return `${API_BASE_URLS.REGULAR}/[storeHash]/${version}/${path}`;\n};\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodTypeAny>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULT_TIMEOUT_MS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError, string>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULT_TIMEOUT_MS)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULT_TIMEOUT_MS),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\nimport { AddressSchema } from '../../addresses/schemas/address.schema';\nimport { OrderStatusNameEnumSchema } from './status.schema';\n\nexport const OrderSchema = z.object({\n id: z.number(),\n customer_id: z.number(),\n date_created: z.string(),\n is_tax_inclusive_pricing: z.boolean(),\n date_modified: z.string(),\n date_shipped: z.string(),\n status_id: z.number(),\n status: OrderStatusNameEnumSchema,\n subtotal_ex_tax: z.string(),\n subtotal_inc_tax: z.string(),\n subtotal_tax: z.string(),\n base_shipping_cost: z.string(),\n shipping_cost_ex_tax: z.string(),\n shipping_cost_inc_tax: z.string(),\n shipping_cost_tax: z.string(),\n shipping_cost_tax_class_id: z.number(),\n base_handling_cost: z.string(),\n handling_cost_ex_tax: z.string(),\n handling_cost_inc_tax: z.string(),\n handling_cost_tax: z.string(),\n handling_cost_tax_class_id: z.number(),\n base_wrapping_cost: z.string(),\n wrapping_cost_ex_tax: z.string(),\n wrapping_cost_inc_tax: z.string(),\n wrapping_cost_tax: z.string(),\n wrapping_cost_tax_class_id: z.number(),\n total_ex_tax: z.string(),\n total_inc_tax: z.string(),\n total_tax: z.string(),\n items_total: z.number(),\n items_shipped: z.number(),\n payment_method: z.string(),\n payment_provider_id: z.string(),\n payment_status: z.string(),\n refunded_amount: z.string(),\n order_is_digital: z.boolean(),\n store_credit_amount: z.string(),\n gift_certificate_amount: z.string(),\n ip_address: z.string(),\n ip_address_v6: z.string(),\n geoip_country: z.string(),\n geoip_country_iso2: z.string(),\n currency_id: z.number(),\n currency_code: z.string(),\n currency_exchange_rate: z.string(),\n default_currency_id: z.number(),\n default_currency_code: z.string(),\n staff_notes: z.string(),\n customer_message: z.string(),\n discount_amount: z.string(),\n coupon_discount: z.string(),\n shipping_address_count: z.number(),\n is_deleted: z.boolean(),\n ebay_order_id: z.string(),\n cart_id: z.string(),\n billing_address: AddressSchema,\n is_email_opt_in: z.boolean(),\n order_source: z.string(),\n channel_id: z.number(),\n external_source: z.string(),\n external_id: z.string().nullable(),\n tax_provider_id: z.string(),\n customer_locale: z.string(),\n external_order_id: z.string().nullable(),\n store_default_currency_code: z.string(),\n store_default_to_transactional_exchange_rate: z.string(),\n custom_status: z.string(),\n});\n","import * as z from 'zod';\nimport { AddressFormFieldSchema } from './form-field.schema';\n\nexport const AddressSchema = z.object({\n first_name: z.string(),\n last_name: z.string(),\n company: z.string(),\n street_1: z.string(),\n street_2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string(),\n country: z.string(),\n country_iso2: z.string(),\n phone: z.string(),\n email: z.string(),\n form_fields: z.array(AddressFormFieldSchema),\n});\n","import * as z from 'zod';\n\nexport const AddressFormFieldSchema = z.object({\n name: z.string(),\n value: z.string(),\n});\n","import * as z from 'zod';\nexport const OrderStatusNameEnumSchema = z.enum([\n 'Incomplete',\n 'Pending',\n 'Shipped',\n 'Partially Shipped',\n 'Refunded',\n 'Cancelled',\n 'Declined',\n 'Awaiting Payment',\n 'Awaiting Pickup',\n 'Awaiting Shipment',\n 'Completed',\n 'Awaiting Fulfillment',\n 'Manual Verification Required',\n 'Disputed',\n 'Partially Refunded',\n]);\nexport enum OrderStatusEnum {\n Incomplete = 0,\n Pending = 1,\n Shipped = 2,\n PartiallyShipped = 3,\n Refunded = 4,\n Cancelled = 5,\n Declined = 6,\n AwaitingPayment = 7,\n AwaitingPickup = 8,\n AwaitingShipment = 9,\n Completed = 10,\n AwaitingFulfillment = 11,\n ManualVerificationRequired = 12,\n Disputed = 13,\n PartiallyRefunded = 14,\n}\nexport const OrderStatusSchema = z.enum(OrderStatusEnum);\n","import * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../../constants';\n\nexport const FindOrdersCriteriaSchema = z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n status_id: z.number().optional(),\n cart_id: z.string().optional(),\n payment_method: z.string().optional(),\n min_date_created: z.iso.datetime({ offset: true }).optional(),\n max_date_created: z.iso.datetime({ offset: true }).optional(),\n min_date_modified: z.iso.datetime({ offset: true }).optional(),\n max_date_modified: z.iso.datetime({ offset: true }).optional(),\n page: z.number().min(1).optional(),\n limit: z.number().min(1).max(GET_ORDER_BATCH_SIZE).optional(),\n // Allowed: id | customer_id | date_created | date_modified | status_id | channel_id | external_id;\n sort: z.string().optional(),\n channel_id: z.int().optional(),\n});\n","import { Effect } from 'effect';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderSchema } from './schemas';\n\nexport const getOrder = (orderId: string) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n isB2B: false,\n method: 'GET',\n path: `orders/${orderId}`,\n resultSchema: OrderSchema,\n version: 'v2',\n });\n });\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderProductSchema } from './schemas/order-product.schema';\nconst getOrderProducts = ({\n orderId,\n limit = GET_ORDER_BATCH_SIZE,\n page,\n}: {\n orderId: number;\n limit?: number;\n page: number;\n}) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n method: 'GET',\n path: `orders/${orderId}/products`,\n isB2B: false,\n version: 'v2',\n resultSchema: z.union([z.array(OrderProductSchema), z.literal(''), z.literal(null)]),\n query: {\n limit: `${limit}`,\n page: `${page}`,\n },\n });\n }).pipe(Effect.map((arr) => arr || []));\n};\n\nexport const getAllOrderProducts = (orderId: number) => {\n return Effect.gen(function* () {\n const all: z.output<typeof OrderProductSchema>[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = yield* getOrderProducts({\n orderId,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (result.length) {\n all.push(...result);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n};\n","import * as z from 'zod';\nexport const OrderProductSchema = z.object({\n id: z.int(),\n order_id: z.int(),\n product_id: z.int(),\n variant_id: z.int(),\n order_address_id: z.int(),\n sku: z.string(),\n type: z.enum(['physical', 'digital']),\n base_price: z.coerce.number(),\n price_ex_tax: z.coerce.number(),\n price_inc_tax: z.coerce.number(),\n price_tax: z.coerce.number(),\n base_total: z.coerce.number(),\n total_ex_tax: z.coerce.number(),\n total_inc_tax: z.coerce.number(),\n total_tax: z.coerce.number(),\n weight: z.coerce.number(),\n width: z.coerce.number(),\n height: z.coerce.number(),\n depth: z.coerce.number(),\n quantity: z.int(),\n base_cost_price: z.coerce.number(),\n cost_price_inc_tax: z.coerce.number(),\n cost_price_ex_tax: z.coerce.number(),\n cost_price_tax: z.coerce.number(),\n});\n"],"mappings":"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","names":["import_effect","z","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","z","z","z","OrderStatusEnum","z","import_effect","import_effect","z","z"]}
package/dist/orders.mjs CHANGED
@@ -6,8 +6,10 @@ import {
6
6
  GET_ORDER_BATCH_SIZE
7
7
  } from "./chunk-7GBRYAQG.mjs";
8
8
  import {
9
- OrderStatusNameEnumSchema
10
- } from "./chunk-GYWUKI2C.mjs";
9
+ OrderStatusEnum,
10
+ OrderStatusNameEnumSchema,
11
+ OrderStatusSchema
12
+ } from "./chunk-XONZC4AG.mjs";
11
13
 
12
14
  // src/bigcommerce-entities/orders/find-orders.ts
13
15
  import { Effect } from "effect";
@@ -270,6 +272,9 @@ var getAllOrderProducts = (orderId) => {
270
272
  };
271
273
  export {
272
274
  OrderSchema,
275
+ OrderStatusEnum,
276
+ OrderStatusNameEnumSchema,
277
+ OrderStatusSchema,
273
278
  findOrders,
274
279
  getAllOrderProducts,
275
280
  getAllOrdersBy,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/orders/find-orders.ts","../src/bigcommerce-entities/orders/schemas/order.schema.ts","../src/bigcommerce-entities/addresses/schemas/address.schema.ts","../src/bigcommerce-entities/addresses/schemas/form-field.schema.ts","../src/bigcommerce-entities/orders/schemas/find-orders.criteria.ts","../src/bigcommerce-entities/orders/get-order.ts","../src/bigcommerce-entities/orders/get-products.ts","../src/bigcommerce-entities/orders/schemas/order-product.schema.ts"],"sourcesContent":["import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { OrderSchema, type Order } from './schemas';\nimport {\n FindOrdersCriteriaSchema,\n type FindOrdersCriteriaInput,\n} from './schemas/find-orders.criteria';\n\nconst OrderArraySchema = z.union([z.array(OrderSchema), z.literal(''), z.literal(null)]);\n\nexport const findOrders = (criteria?: FindOrdersCriteriaInput) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindOrdersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n const orders = yield* fetcher.fetch({\n query,\n isB2B: false,\n method: 'GET',\n path: 'orders',\n version: 'v2',\n resultSchema: OrderArraySchema,\n });\n return orders || [];\n });\n};\n\nexport const getAllOrdersBy = (criteria: Omit<FindOrdersCriteriaInput, 'page' | 'limit'>) => {\n return Effect.gen(function* () {\n const allOrders: Order[] = [];\n let page = 1;\n let hasMoreOrders = true;\n\n while (hasMoreOrders) {\n const orders = yield* findOrders({\n ...criteria,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (orders.length === 0) {\n hasMoreOrders = false;\n } else {\n allOrders.push(...orders);\n page++;\n }\n }\n\n return allOrders;\n });\n};\n","import * as z from 'zod';\nimport { AddressSchema } from '../../addresses/schemas/address.schema';\nimport { OrderStatusNameEnumSchema } from './status.schema';\n\nexport const OrderSchema = z.object({\n id: z.number(),\n customer_id: z.number(),\n date_created: z.string(),\n is_tax_inclusive_pricing: z.boolean(),\n date_modified: z.string(),\n date_shipped: z.string(),\n status_id: z.number(),\n status: OrderStatusNameEnumSchema,\n subtotal_ex_tax: z.string(),\n subtotal_inc_tax: z.string(),\n subtotal_tax: z.string(),\n base_shipping_cost: z.string(),\n shipping_cost_ex_tax: z.string(),\n shipping_cost_inc_tax: z.string(),\n shipping_cost_tax: z.string(),\n shipping_cost_tax_class_id: z.number(),\n base_handling_cost: z.string(),\n handling_cost_ex_tax: z.string(),\n handling_cost_inc_tax: z.string(),\n handling_cost_tax: z.string(),\n handling_cost_tax_class_id: z.number(),\n base_wrapping_cost: z.string(),\n wrapping_cost_ex_tax: z.string(),\n wrapping_cost_inc_tax: z.string(),\n wrapping_cost_tax: z.string(),\n wrapping_cost_tax_class_id: z.number(),\n total_ex_tax: z.string(),\n total_inc_tax: z.string(),\n total_tax: z.string(),\n items_total: z.number(),\n items_shipped: z.number(),\n payment_method: z.string(),\n payment_provider_id: z.string(),\n payment_status: z.string(),\n refunded_amount: z.string(),\n order_is_digital: z.boolean(),\n store_credit_amount: z.string(),\n gift_certificate_amount: z.string(),\n ip_address: z.string(),\n ip_address_v6: z.string(),\n geoip_country: z.string(),\n geoip_country_iso2: z.string(),\n currency_id: z.number(),\n currency_code: z.string(),\n currency_exchange_rate: z.string(),\n default_currency_id: z.number(),\n default_currency_code: z.string(),\n staff_notes: z.string(),\n customer_message: z.string(),\n discount_amount: z.string(),\n coupon_discount: z.string(),\n shipping_address_count: z.number(),\n is_deleted: z.boolean(),\n ebay_order_id: z.string(),\n cart_id: z.string(),\n billing_address: AddressSchema,\n is_email_opt_in: z.boolean(),\n order_source: z.string(),\n channel_id: z.number(),\n external_source: z.string(),\n external_id: z.string().nullable(),\n tax_provider_id: z.string(),\n customer_locale: z.string(),\n external_order_id: z.string().nullable(),\n store_default_currency_code: z.string(),\n store_default_to_transactional_exchange_rate: z.string(),\n custom_status: z.string(),\n});\nexport type Order = z.output<typeof OrderSchema>;\n","import * as z from 'zod';\nimport { AddressFormFieldSchema } from './form-field.schema';\n\nexport const AddressSchema = z.object({\n first_name: z.string(),\n last_name: z.string(),\n company: z.string(),\n street_1: z.string(),\n street_2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string(),\n country: z.string(),\n country_iso2: z.string(),\n phone: z.string(),\n email: z.string(),\n form_fields: z.array(AddressFormFieldSchema),\n});\nexport type Address = z.output<typeof AddressSchema>;\n","import * as z from 'zod';\n\nexport const AddressFormFieldSchema = z.object({\n name: z.string(),\n value: z.string(),\n});\nexport type AddressFormField = z.output<typeof AddressFormFieldSchema>;\n","import * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../../constants';\n\nexport const FindOrdersCriteriaSchema = z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n status_id: z.number().optional(),\n cart_id: z.string().optional(),\n payment_method: z.string().optional(),\n min_date_created: z.iso.datetime({ offset: true }).optional(),\n max_date_created: z.iso.datetime({ offset: true }).optional(),\n min_date_modified: z.iso.datetime({ offset: true }).optional(),\n max_date_modified: z.iso.datetime({ offset: true }).optional(),\n page: z.number().min(1).optional(),\n limit: z.number().min(1).max(GET_ORDER_BATCH_SIZE).optional(),\n // Allowed: id | customer_id | date_created | date_modified | status_id | channel_id | external_id;\n sort: z.string().optional(),\n channel_id: z.int().optional(),\n});\n\nexport type FindOrdersCriteriaInput = z.input<typeof FindOrdersCriteriaSchema>;\n","import { Effect } from 'effect';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderSchema } from './schemas';\n\nexport const getOrder = (orderId: string) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n isB2B: false,\n method: 'GET',\n path: `orders/${orderId}`,\n resultSchema: OrderSchema,\n version: 'v2',\n });\n });\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderProductSchema, type OrderProduct } from './schemas/order-product.schema';\nconst getOrderProducts = ({\n orderId,\n limit = GET_ORDER_BATCH_SIZE,\n page,\n}: {\n orderId: number;\n limit?: number;\n page: number;\n}) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n method: 'GET',\n path: `orders/${orderId}/products`,\n isB2B: false,\n version: 'v2',\n resultSchema: z.union([z.array(OrderProductSchema), z.literal(''), z.literal(null)]),\n query: {\n limit: `${limit}`,\n page: `${page}`,\n },\n });\n }).pipe(Effect.map((arr) => arr || []));\n};\n\nexport const getAllOrderProducts = (orderId: number) => {\n return Effect.gen(function* () {\n const all: OrderProduct[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = yield* getOrderProducts({\n orderId,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (result.length) {\n all.push(...result);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n};\n","import * as z from 'zod';\nexport const OrderProductSchema = z.object({\n id: z.int(),\n order_id: z.int(),\n product_id: z.int(),\n variant_id: z.int(),\n order_address_id: z.int(),\n sku: z.string(),\n type: z.enum(['physical', 'digital']),\n base_price: z.coerce.number(),\n price_ex_tax: z.coerce.number(),\n price_inc_tax: z.coerce.number(),\n price_tax: z.coerce.number(),\n base_total: z.coerce.number(),\n total_ex_tax: z.coerce.number(),\n total_inc_tax: z.coerce.number(),\n total_tax: z.coerce.number(),\n weight: z.coerce.number(),\n width: z.coerce.number(),\n height: z.coerce.number(),\n depth: z.coerce.number(),\n quantity: z.int(),\n base_cost_price: z.coerce.number(),\n cost_price_inc_tax: z.coerce.number(),\n cost_price_ex_tax: z.coerce.number(),\n cost_price_tax: z.coerce.number(),\n});\n\nexport type OrderProduct = z.output<typeof OrderProductSchema>;\n"],"mappings":"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","names":["z","z","z","z","Effect","Effect","Effect","z","z","Effect"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/orders/find-orders.ts","../src/bigcommerce-entities/orders/schemas/order.schema.ts","../src/bigcommerce-entities/addresses/schemas/address.schema.ts","../src/bigcommerce-entities/addresses/schemas/form-field.schema.ts","../src/bigcommerce-entities/orders/schemas/find-orders.criteria.ts","../src/bigcommerce-entities/orders/get-order.ts","../src/bigcommerce-entities/orders/get-products.ts","../src/bigcommerce-entities/orders/schemas/order-product.schema.ts"],"sourcesContent":["import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { OrderSchema } from './schemas';\nimport { FindOrdersCriteriaSchema } from './schemas/find-orders.criteria';\n\nconst OrderArraySchema = z.union([z.array(OrderSchema), z.literal(''), z.literal(null)]);\n\nexport const findOrders = (criteria?: z.input<typeof FindOrdersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedResponse = yield* validateInput(FindOrdersCriteriaSchema, criteria ?? {});\n const query: Record<string, string> = {};\n for (const [key, value] of Object.entries(validatedResponse)) {\n if (value !== undefined) {\n query[key] = `${value}`;\n }\n }\n const orders = yield* fetcher.fetch({\n query,\n isB2B: false,\n method: 'GET',\n path: 'orders',\n version: 'v2',\n resultSchema: OrderArraySchema,\n });\n return orders || [];\n });\n};\n\nexport const getAllOrdersBy = (\n criteria: Omit<z.input<typeof FindOrdersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allOrders: z.output<typeof OrderSchema>[] = [];\n let page = 1;\n let hasMoreOrders = true;\n\n while (hasMoreOrders) {\n const orders = yield* findOrders({\n ...criteria,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (orders.length === 0) {\n hasMoreOrders = false;\n } else {\n allOrders.push(...orders);\n page++;\n }\n }\n\n return allOrders;\n });\n};\n","import * as z from 'zod';\nimport { AddressSchema } from '../../addresses/schemas/address.schema';\nimport { OrderStatusNameEnumSchema } from './status.schema';\n\nexport const OrderSchema = z.object({\n id: z.number(),\n customer_id: z.number(),\n date_created: z.string(),\n is_tax_inclusive_pricing: z.boolean(),\n date_modified: z.string(),\n date_shipped: z.string(),\n status_id: z.number(),\n status: OrderStatusNameEnumSchema,\n subtotal_ex_tax: z.string(),\n subtotal_inc_tax: z.string(),\n subtotal_tax: z.string(),\n base_shipping_cost: z.string(),\n shipping_cost_ex_tax: z.string(),\n shipping_cost_inc_tax: z.string(),\n shipping_cost_tax: z.string(),\n shipping_cost_tax_class_id: z.number(),\n base_handling_cost: z.string(),\n handling_cost_ex_tax: z.string(),\n handling_cost_inc_tax: z.string(),\n handling_cost_tax: z.string(),\n handling_cost_tax_class_id: z.number(),\n base_wrapping_cost: z.string(),\n wrapping_cost_ex_tax: z.string(),\n wrapping_cost_inc_tax: z.string(),\n wrapping_cost_tax: z.string(),\n wrapping_cost_tax_class_id: z.number(),\n total_ex_tax: z.string(),\n total_inc_tax: z.string(),\n total_tax: z.string(),\n items_total: z.number(),\n items_shipped: z.number(),\n payment_method: z.string(),\n payment_provider_id: z.string(),\n payment_status: z.string(),\n refunded_amount: z.string(),\n order_is_digital: z.boolean(),\n store_credit_amount: z.string(),\n gift_certificate_amount: z.string(),\n ip_address: z.string(),\n ip_address_v6: z.string(),\n geoip_country: z.string(),\n geoip_country_iso2: z.string(),\n currency_id: z.number(),\n currency_code: z.string(),\n currency_exchange_rate: z.string(),\n default_currency_id: z.number(),\n default_currency_code: z.string(),\n staff_notes: z.string(),\n customer_message: z.string(),\n discount_amount: z.string(),\n coupon_discount: z.string(),\n shipping_address_count: z.number(),\n is_deleted: z.boolean(),\n ebay_order_id: z.string(),\n cart_id: z.string(),\n billing_address: AddressSchema,\n is_email_opt_in: z.boolean(),\n order_source: z.string(),\n channel_id: z.number(),\n external_source: z.string(),\n external_id: z.string().nullable(),\n tax_provider_id: z.string(),\n customer_locale: z.string(),\n external_order_id: z.string().nullable(),\n store_default_currency_code: z.string(),\n store_default_to_transactional_exchange_rate: z.string(),\n custom_status: z.string(),\n});\n","import * as z from 'zod';\nimport { AddressFormFieldSchema } from './form-field.schema';\n\nexport const AddressSchema = z.object({\n first_name: z.string(),\n last_name: z.string(),\n company: z.string(),\n street_1: z.string(),\n street_2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string(),\n country: z.string(),\n country_iso2: z.string(),\n phone: z.string(),\n email: z.string(),\n form_fields: z.array(AddressFormFieldSchema),\n});\n","import * as z from 'zod';\n\nexport const AddressFormFieldSchema = z.object({\n name: z.string(),\n value: z.string(),\n});\n","import * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../../constants';\n\nexport const FindOrdersCriteriaSchema = z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n status_id: z.number().optional(),\n cart_id: z.string().optional(),\n payment_method: z.string().optional(),\n min_date_created: z.iso.datetime({ offset: true }).optional(),\n max_date_created: z.iso.datetime({ offset: true }).optional(),\n min_date_modified: z.iso.datetime({ offset: true }).optional(),\n max_date_modified: z.iso.datetime({ offset: true }).optional(),\n page: z.number().min(1).optional(),\n limit: z.number().min(1).max(GET_ORDER_BATCH_SIZE).optional(),\n // Allowed: id | customer_id | date_created | date_modified | status_id | channel_id | external_id;\n sort: z.string().optional(),\n channel_id: z.int().optional(),\n});\n","import { Effect } from 'effect';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderSchema } from './schemas';\n\nexport const getOrder = (orderId: string) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n isB2B: false,\n method: 'GET',\n path: `orders/${orderId}`,\n resultSchema: OrderSchema,\n version: 'v2',\n });\n });\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { GET_ORDER_BATCH_SIZE } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { OrderProductSchema } from './schemas/order-product.schema';\nconst getOrderProducts = ({\n orderId,\n limit = GET_ORDER_BATCH_SIZE,\n page,\n}: {\n orderId: number;\n limit?: number;\n page: number;\n}) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* fetcher.fetch({\n method: 'GET',\n path: `orders/${orderId}/products`,\n isB2B: false,\n version: 'v2',\n resultSchema: z.union([z.array(OrderProductSchema), z.literal(''), z.literal(null)]),\n query: {\n limit: `${limit}`,\n page: `${page}`,\n },\n });\n }).pipe(Effect.map((arr) => arr || []));\n};\n\nexport const getAllOrderProducts = (orderId: number) => {\n return Effect.gen(function* () {\n const all: z.output<typeof OrderProductSchema>[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = yield* getOrderProducts({\n orderId,\n page,\n limit: GET_ORDER_BATCH_SIZE,\n });\n\n if (result.length) {\n all.push(...result);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n};\n","import * as z from 'zod';\nexport const OrderProductSchema = z.object({\n id: z.int(),\n order_id: z.int(),\n product_id: z.int(),\n variant_id: z.int(),\n order_address_id: z.int(),\n sku: z.string(),\n type: z.enum(['physical', 'digital']),\n base_price: z.coerce.number(),\n price_ex_tax: z.coerce.number(),\n price_inc_tax: z.coerce.number(),\n price_tax: z.coerce.number(),\n base_total: z.coerce.number(),\n total_ex_tax: z.coerce.number(),\n total_inc_tax: z.coerce.number(),\n total_tax: z.coerce.number(),\n weight: z.coerce.number(),\n width: z.coerce.number(),\n height: z.coerce.number(),\n depth: z.coerce.number(),\n quantity: z.int(),\n base_cost_price: z.coerce.number(),\n cost_price_inc_tax: z.coerce.number(),\n cost_price_ex_tax: z.coerce.number(),\n cost_price_tax: z.coerce.number(),\n});\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,cAAc;AACvB,YAAYA,QAAO;;;ACDnB,YAAYC,QAAO;;;ACAnB,YAAYC,QAAO;;;ACAnB,YAAY,OAAO;AAEZ,IAAM,yBAA2B,SAAO;AAAA,EAC7C,MAAQ,SAAO;AAAA,EACf,OAAS,SAAO;AAClB,CAAC;;;ADFM,IAAM,gBAAkB,UAAO;AAAA,EACpC,YAAc,UAAO;AAAA,EACrB,WAAa,UAAO;AAAA,EACpB,SAAW,UAAO;AAAA,EAClB,UAAY,UAAO;AAAA,EACnB,UAAY,UAAO;AAAA,EACnB,MAAQ,UAAO;AAAA,EACf,OAAS,UAAO;AAAA,EAChB,KAAO,UAAO;AAAA,EACd,SAAW,UAAO;AAAA,EAClB,cAAgB,UAAO;AAAA,EACvB,OAAS,UAAO;AAAA,EAChB,OAAS,UAAO;AAAA,EAChB,aAAe,SAAM,sBAAsB;AAC7C,CAAC;;;ADbM,IAAM,cAAgB,UAAO;AAAA,EAClC,IAAM,UAAO;AAAA,EACb,aAAe,UAAO;AAAA,EACtB,cAAgB,UAAO;AAAA,EACvB,0BAA4B,WAAQ;AAAA,EACpC,eAAiB,UAAO;AAAA,EACxB,cAAgB,UAAO;AAAA,EACvB,WAAa,UAAO;AAAA,EACpB,QAAQ;AAAA,EACR,iBAAmB,UAAO;AAAA,EAC1B,kBAAoB,UAAO;AAAA,EAC3B,cAAgB,UAAO;AAAA,EACvB,oBAAsB,UAAO;AAAA,EAC7B,sBAAwB,UAAO;AAAA,EAC/B,uBAAyB,UAAO;AAAA,EAChC,mBAAqB,UAAO;AAAA,EAC5B,4BAA8B,UAAO;AAAA,EACrC,oBAAsB,UAAO;AAAA,EAC7B,sBAAwB,UAAO;AAAA,EAC/B,uBAAyB,UAAO;AAAA,EAChC,mBAAqB,UAAO;AAAA,EAC5B,4BAA8B,UAAO;AAAA,EACrC,oBAAsB,UAAO;AAAA,EAC7B,sBAAwB,UAAO;AAAA,EAC/B,uBAAyB,UAAO;AAAA,EAChC,mBAAqB,UAAO;AAAA,EAC5B,4BAA8B,UAAO;AAAA,EACrC,cAAgB,UAAO;AAAA,EACvB,eAAiB,UAAO;AAAA,EACxB,WAAa,UAAO;AAAA,EACpB,aAAe,UAAO;AAAA,EACtB,eAAiB,UAAO;AAAA,EACxB,gBAAkB,UAAO;AAAA,EACzB,qBAAuB,UAAO;AAAA,EAC9B,gBAAkB,UAAO;AAAA,EACzB,iBAAmB,UAAO;AAAA,EAC1B,kBAAoB,WAAQ;AAAA,EAC5B,qBAAuB,UAAO;AAAA,EAC9B,yBAA2B,UAAO;AAAA,EAClC,YAAc,UAAO;AAAA,EACrB,eAAiB,UAAO;AAAA,EACxB,eAAiB,UAAO;AAAA,EACxB,oBAAsB,UAAO;AAAA,EAC7B,aAAe,UAAO;AAAA,EACtB,eAAiB,UAAO;AAAA,EACxB,wBAA0B,UAAO;AAAA,EACjC,qBAAuB,UAAO;AAAA,EAC9B,uBAAyB,UAAO;AAAA,EAChC,aAAe,UAAO;AAAA,EACtB,kBAAoB,UAAO;AAAA,EAC3B,iBAAmB,UAAO;AAAA,EAC1B,iBAAmB,UAAO;AAAA,EAC1B,wBAA0B,UAAO;AAAA,EACjC,YAAc,WAAQ;AAAA,EACtB,eAAiB,UAAO;AAAA,EACxB,SAAW,UAAO;AAAA,EAClB,iBAAiB;AAAA,EACjB,iBAAmB,WAAQ;AAAA,EAC3B,cAAgB,UAAO;AAAA,EACvB,YAAc,UAAO;AAAA,EACrB,iBAAmB,UAAO;AAAA,EAC1B,aAAe,UAAO,EAAE,SAAS;AAAA,EACjC,iBAAmB,UAAO;AAAA,EAC1B,iBAAmB,UAAO;AAAA,EAC1B,mBAAqB,UAAO,EAAE,SAAS;AAAA,EACvC,6BAA+B,UAAO;AAAA,EACtC,8CAAgD,UAAO;AAAA,EACvD,eAAiB,UAAO;AAC1B,CAAC;;;AGxED,YAAYC,QAAO;AAGZ,IAAM,2BAA6B,UAAO;AAAA,EAC/C,aAAe,UAAO,EAAE,SAAS;AAAA,EACjC,OAAS,UAAO,EAAE,SAAS;AAAA,EAC3B,WAAa,UAAO,EAAE,SAAS;AAAA,EAC/B,SAAW,UAAO,EAAE,SAAS;AAAA,EAC7B,gBAAkB,UAAO,EAAE,SAAS;AAAA,EACpC,kBAAoB,OAAI,SAAS,EAAE,QAAQ,KAAK,CAAC,EAAE,SAAS;AAAA,EAC5D,kBAAoB,OAAI,SAAS,EAAE,QAAQ,KAAK,CAAC,EAAE,SAAS;AAAA,EAC5D,mBAAqB,OAAI,SAAS,EAAE,QAAQ,KAAK,CAAC,EAAE,SAAS;AAAA,EAC7D,mBAAqB,OAAI,SAAS,EAAE,QAAQ,KAAK,CAAC,EAAE,SAAS;AAAA,EAC7D,MAAQ,UAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACjC,OAAS,UAAO,EAAE,IAAI,CAAC,EAAE,IAAI,oBAAoB,EAAE,SAAS;AAAA;AAAA,EAE5D,MAAQ,UAAO,EAAE,SAAS;AAAA,EAC1B,YAAc,OAAI,EAAE,SAAS;AAC/B,CAAC;;;AJVD,IAAM,mBAAqB,SAAM,CAAG,SAAM,WAAW,GAAK,WAAQ,EAAE,GAAK,WAAQ,IAAI,CAAC,CAAC;AAEhF,IAAM,aAAa,CAAC,aAAwD;AACjF,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,UAAM,oBAAoB,OAAO,cAAc,0BAA0B,YAAY,CAAC,CAAC;AACvF,UAAM,QAAgC,CAAC;AACvC,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,iBAAiB,GAAG;AAC5D,UAAI,UAAU,QAAW;AACvB,cAAM,GAAG,IAAI,GAAG,KAAK;AAAA,MACvB;AAAA,IACF;AACA,UAAM,SAAS,OAAO,QAAQ,MAAM;AAAA,MAClC;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,cAAc;AAAA,IAChB,CAAC;AACD,WAAO,UAAU,CAAC;AAAA,EACpB,CAAC;AACH;AAEO,IAAM,iBAAiB,CAC5B,aACG;AACH,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,YAA4C,CAAC;AACnD,QAAI,OAAO;AACX,QAAI,gBAAgB;AAEpB,WAAO,eAAe;AACpB,YAAM,SAAS,OAAO,WAAW;AAAA,QAC/B,GAAG;AAAA,QACH;AAAA,QACA,OAAO;AAAA,MACT,CAAC;AAED,UAAI,OAAO,WAAW,GAAG;AACvB,wBAAgB;AAAA,MAClB,OAAO;AACL,kBAAU,KAAK,GAAG,MAAM;AACxB;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;;;AKzDA,SAAS,UAAAC,eAAc;AAIhB,IAAM,WAAW,CAAC,YAAoB;AAC3C,SAAOC,QAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,WAAO,OAAO,QAAQ,MAAM;AAAA,MAC1B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,UAAU,OAAO;AAAA,MACvB,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,EACH,CAAC;AACH;;;ACfA,SAAS,UAAAC,eAAc;AACvB,YAAYC,QAAO;;;ACDnB,YAAYC,QAAO;AACZ,IAAM,qBAAuB,UAAO;AAAA,EACzC,IAAM,OAAI;AAAA,EACV,UAAY,OAAI;AAAA,EAChB,YAAc,OAAI;AAAA,EAClB,YAAc,OAAI;AAAA,EAClB,kBAAoB,OAAI;AAAA,EACxB,KAAO,UAAO;AAAA,EACd,MAAQ,QAAK,CAAC,YAAY,SAAS,CAAC;AAAA,EACpC,YAAc,UAAO,OAAO;AAAA,EAC5B,cAAgB,UAAO,OAAO;AAAA,EAC9B,eAAiB,UAAO,OAAO;AAAA,EAC/B,WAAa,UAAO,OAAO;AAAA,EAC3B,YAAc,UAAO,OAAO;AAAA,EAC5B,cAAgB,UAAO,OAAO;AAAA,EAC9B,eAAiB,UAAO,OAAO;AAAA,EAC/B,WAAa,UAAO,OAAO;AAAA,EAC3B,QAAU,UAAO,OAAO;AAAA,EACxB,OAAS,UAAO,OAAO;AAAA,EACvB,QAAU,UAAO,OAAO;AAAA,EACxB,OAAS,UAAO,OAAO;AAAA,EACvB,UAAY,OAAI;AAAA,EAChB,iBAAmB,UAAO,OAAO;AAAA,EACjC,oBAAsB,UAAO,OAAO;AAAA,EACpC,mBAAqB,UAAO,OAAO;AAAA,EACnC,gBAAkB,UAAO,OAAO;AAClC,CAAC;;;ADrBD,IAAM,mBAAmB,CAAC;AAAA,EACxB;AAAA,EACA,QAAQ;AAAA,EACR;AACF,MAIM;AACJ,SAAOC,QAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,WAAO,OAAO,QAAQ,MAAM;AAAA,MAC1B,QAAQ;AAAA,MACR,MAAM,UAAU,OAAO;AAAA,MACvB,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAgB,SAAM,CAAG,SAAM,kBAAkB,GAAK,WAAQ,EAAE,GAAK,WAAQ,IAAI,CAAC,CAAC;AAAA,MACnF,OAAO;AAAA,QACL,OAAO,GAAG,KAAK;AAAA,QACf,MAAM,GAAG,IAAI;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH,CAAC,EAAE,KAAKA,QAAO,IAAI,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC;AACxC;AAEO,IAAM,sBAAsB,CAAC,YAAoB;AACtD,SAAOA,QAAO,IAAI,aAAa;AAC7B,UAAM,MAA6C,CAAC;AACpD,QAAI,OAAO;AACX,QAAI,UAAU;AAEd,WAAO,SAAS;AACd,YAAM,SAAS,OAAO,iBAAiB;AAAA,QACrC;AAAA,QACA;AAAA,QACA,OAAO;AAAA,MACT,CAAC;AAED,UAAI,OAAO,QAAQ;AACjB,YAAI,KAAK,GAAG,MAAM;AAClB;AAAA,MACF,OAAO;AACL,kBAAU;AAAA,MACZ;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;","names":["z","z","z","z","Effect","Effect","Effect","z","z","Effect"]}
@@ -15,9 +15,8 @@ declare const SetProductInventoryItemSchema: z.ZodUnion<readonly [z.ZodObject<{
15
15
  sku: z.ZodString;
16
16
  quantity: z.ZodInt;
17
17
  }, z.core.$strip>]>;
18
- type SetProductInventoryItemInput = z.input<typeof SetProductInventoryItemSchema>;
19
18
 
20
- declare const setProductsInventory: (reason: string, items: SetProductInventoryItemInput[]) => Effect.Effect<{
19
+ declare const setProductsInventory: (reason: string, items: z.input<typeof SetProductInventoryItemSchema>[]) => Effect.Effect<{
21
20
  transaction_id: string;
22
21
  }[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
23
22
 
@@ -25,8 +24,7 @@ declare const UpdateProductVisibilitySchema: z.ZodObject<{
25
24
  id: z.ZodNumber;
26
25
  is_visible: z.ZodBoolean;
27
26
  }, z.core.$strip>;
28
- type UpdateProductVisibilityInput = z.input<typeof UpdateProductVisibilitySchema>;
29
27
 
30
- declare const setProductVisibility: (dtos: UpdateProductVisibilityInput[]) => effect_Effect.Effect<any[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
28
+ declare const setProductVisibility: (dtos: z.input<typeof UpdateProductVisibilitySchema>[]) => effect_Effect.Effect<any[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
31
29
 
32
30
  export { setProductVisibility, setProductsInventory };
@@ -15,9 +15,8 @@ declare const SetProductInventoryItemSchema: z.ZodUnion<readonly [z.ZodObject<{
15
15
  sku: z.ZodString;
16
16
  quantity: z.ZodInt;
17
17
  }, z.core.$strip>]>;
18
- type SetProductInventoryItemInput = z.input<typeof SetProductInventoryItemSchema>;
19
18
 
20
- declare const setProductsInventory: (reason: string, items: SetProductInventoryItemInput[]) => Effect.Effect<{
19
+ declare const setProductsInventory: (reason: string, items: z.input<typeof SetProductInventoryItemSchema>[]) => Effect.Effect<{
21
20
  transaction_id: string;
22
21
  }[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
23
22
 
@@ -25,8 +24,7 @@ declare const UpdateProductVisibilitySchema: z.ZodObject<{
25
24
  id: z.ZodNumber;
26
25
  is_visible: z.ZodBoolean;
27
26
  }, z.core.$strip>;
28
- type UpdateProductVisibilityInput = z.input<typeof UpdateProductVisibilitySchema>;
29
27
 
30
- declare const setProductVisibility: (dtos: UpdateProductVisibilityInput[]) => effect_Effect.Effect<any[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
28
+ declare const setProductVisibility: (dtos: z.input<typeof UpdateProductVisibilitySchema>[]) => effect_Effect.Effect<any[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
31
29
 
32
30
  export { setProductVisibility, setProductsInventory };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/products/index.ts","../src/bigcommerce-entities/products/set-inventory.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/products/schemas/set-inventory.schema.ts","../src/bigcommerce-entities/products/update-products.ts","../src/bigcommerce-entities/products/schemas/update-products.schema.ts","../src/bigcommerce-entities/products/set-visibility.ts"],"sourcesContent":["export * from './schemas';\nexport * from './set-inventory';\nexport * from './set-visibility';\n","import { Chunk, Effect, Stream } from 'effect';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetInventoryResponseSchema,\n SetProductInventorySchema,\n type SetProductInventoryItemInput,\n} from './schemas/set-inventory.schema';\n\nexport const setProductsInventory = (reason: string, items: SetProductInventoryItemInput[]) => {\n return Stream.fromIterable(items).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductInventory(reason, chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductInventory = (\n reason: string,\n items: Chunk.Chunk<SetProductInventoryItemInput>,\n) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(SetProductInventorySchema, {\n reason,\n items: Chunk.toArray(items),\n });\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: SetInventoryResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULT_TIMEOUT_MS = 30000;\nexport const API_BASE_URLS = {\n B2B: 'https://api-b2b.bigcommerce.com/api',\n REGULAR: 'https://api.bigcommerce.com/stores',\n} as const;\nexport const GET_ORDER_BATCH_SIZE = 250;\nexport const UPDATE_PRODUCT_BATCH_SIZE = 5;\nexport const UPDATE_INVENTORY_BATCH_SIZE = 2000;\nexport const UPDATE_INVENTORY_CONCURRENCY = 2;\nexport const DEFAULT_RETRY_TIMES = 2;\nexport const DEFAULT_RETRY_WAIT = 200;\nexport const DEFAULT_RETRY_SCHEDULE = Schedule.exponential(Duration.millis(DEFAULT_RETRY_WAIT));\nexport const RETRY_POLICY_WITH_BACKOFF = Schedule.exponential(\n Duration.millis(DEFAULT_RETRY_WAIT),\n 2,\n).pipe(Schedule.intersect(Schedule.recurs(DEFAULT_RETRY_TIMES)));\nexport const GET_CUSTOMERS_BATCH_SIZE = 100;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { API_BASE_URLS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig } from './config';\n\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number>): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${API_BASE_URLS.B2B}/${version}/io/${path}`;\n }\n return `${API_BASE_URLS.REGULAR}/[storeHash]/${version}/${path}`;\n};\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodTypeAny>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULT_TIMEOUT_MS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError, string>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULT_TIMEOUT_MS)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULT_TIMEOUT_MS),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\nexport const SetProductInventoryItemSchema = z.union([\n z.object({\n location_id: z.int(),\n product_id: z.int(),\n quantity: z.int().min(0),\n }),\n z.object({\n location_id: z.int(),\n sku: z.string(),\n quantity: z.int().min(0),\n }),\n]);\nexport const SetProductInventorySchema = z.object({\n reason: z.string(),\n items: z.array(SetProductInventoryItemSchema),\n});\nexport const SetInventoryResponseSchema = z.object({\n transaction_id: z.string(),\n});\nexport type SetProductInventoryInput = z.input<typeof SetProductInventorySchema>;\nexport type SetProductInventoryItemInput = z.input<typeof SetProductInventoryItemSchema>;\nexport type SetInventoryResponse = z.output<typeof SetInventoryResponseSchema>;\n","import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n UpdateProductResponseSchema,\n UpdateProductSchema,\n type UpdateProductInput,\n} from './schemas/update-products.schema';\nconst UpdateProductArraySchema = z.array(UpdateProductSchema);\nexport const updateProducts = (dtos: UpdateProductInput[]) => {\n return Stream.fromIterable(dtos).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductBatch(chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductBatch = (items: Chunk.Chunk<UpdateProductInput>) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(UpdateProductArraySchema, Chunk.toArray(items));\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: UpdateProductResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import * as z from 'zod';\nexport const UpdateProductVisibilitySchema = z.object({\n id: z.number(),\n is_visible: z.boolean(),\n});\n\nexport const UpdateProductSchema = z.union([UpdateProductVisibilitySchema]);\n\nexport const UpdateProductResponseSchema = z.any();\n\nexport type UpdateProductInput = z.input<typeof UpdateProductSchema>;\nexport type UpdateProductVisibilityInput = z.input<typeof UpdateProductVisibilitySchema>;\nexport type UpdateProductResponse = z.output<typeof UpdateProductResponseSchema>;\n","import type { UpdateProductVisibilityInput } from './schemas/update-products.schema';\nimport { updateProducts } from './update-products';\n\nexport const setProductVisibility = (dtos: UpdateProductVisibilityInput[]) => {\n return updateProducts(dtos);\n};\n"],"mappings":"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","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","import_effect","z","z"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/products/index.ts","../src/bigcommerce-entities/products/set-inventory.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/products/schemas/set-inventory.schema.ts","../src/bigcommerce-entities/products/update-products.ts","../src/bigcommerce-entities/products/schemas/update-products.schema.ts","../src/bigcommerce-entities/products/set-visibility.ts"],"sourcesContent":["export * from './schemas';\nexport * from './set-inventory';\nexport * from './set-visibility';\n","import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetInventoryResponseSchema,\n SetProductInventorySchema,\n type SetProductInventoryItemSchema,\n} from './schemas/set-inventory.schema';\n\nexport const setProductsInventory = (\n reason: string,\n items: z.input<typeof SetProductInventoryItemSchema>[],\n) => {\n return Stream.fromIterable(items).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductInventory(reason, chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductInventory = (\n reason: string,\n items: Chunk.Chunk<z.input<typeof SetProductInventoryItemSchema>>,\n) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(SetProductInventorySchema, {\n reason,\n items: Chunk.toArray(items),\n });\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: SetInventoryResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULT_TIMEOUT_MS = 30000;\nexport const API_BASE_URLS = {\n B2B: 'https://api-b2b.bigcommerce.com/api',\n REGULAR: 'https://api.bigcommerce.com/stores',\n} as const;\nexport const GET_ORDER_BATCH_SIZE = 250;\nexport const UPDATE_PRODUCT_BATCH_SIZE = 5;\nexport const UPDATE_INVENTORY_BATCH_SIZE = 2000;\nexport const UPDATE_INVENTORY_CONCURRENCY = 2;\nexport const DEFAULT_RETRY_TIMES = 2;\nexport const DEFAULT_RETRY_WAIT = 200;\nexport const DEFAULT_RETRY_SCHEDULE = Schedule.exponential(Duration.millis(DEFAULT_RETRY_WAIT));\nexport const RETRY_POLICY_WITH_BACKOFF = Schedule.exponential(\n Duration.millis(DEFAULT_RETRY_WAIT),\n 2,\n).pipe(Schedule.intersect(Schedule.recurs(DEFAULT_RETRY_TIMES)));\nexport const GET_CUSTOMERS_BATCH_SIZE = 100;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string>,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { API_BASE_URLS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig } from './config';\n\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number>): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${API_BASE_URLS.B2B}/${version}/io/${path}`;\n }\n return `${API_BASE_URLS.REGULAR}/[storeHash]/${version}/${path}`;\n};\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodTypeAny>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULT_TIMEOUT_MS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError, string>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError, string>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULT_TIMEOUT_MS)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULT_TIMEOUT_MS),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\nexport const SetProductInventoryItemSchema = z.union([\n z.object({\n location_id: z.int(),\n product_id: z.int(),\n quantity: z.int().min(0),\n }),\n z.object({\n location_id: z.int(),\n sku: z.string(),\n quantity: z.int().min(0),\n }),\n]);\nexport const SetProductInventorySchema = z.object({\n reason: z.string(),\n items: z.array(SetProductInventoryItemSchema),\n});\nexport const SetInventoryResponseSchema = z.object({\n transaction_id: z.string(),\n});\n","import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n UpdateProductResponseSchema,\n UpdateProductSchema,\n type UpdateProductInput,\n} from './schemas/update-products.schema';\nconst UpdateProductArraySchema = z.array(UpdateProductSchema);\nexport const updateProducts = (dtos: UpdateProductInput[]) => {\n return Stream.fromIterable(dtos).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductBatch(chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductBatch = (items: Chunk.Chunk<UpdateProductInput>) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(UpdateProductArraySchema, Chunk.toArray(items));\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: UpdateProductResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import * as z from 'zod';\nexport const UpdateProductVisibilitySchema = z.object({\n id: z.number(),\n is_visible: z.boolean(),\n});\n\nexport const UpdateProductSchema = z.union([UpdateProductVisibilitySchema]);\n\nexport const UpdateProductResponseSchema = z.any();\n","import * as z from 'zod';\nimport { UpdateProductVisibilitySchema } from './schemas/update-products.schema';\nimport { updateProducts } from './update-products';\nexport const setProductVisibility = (dtos: z.input<typeof UpdateProductVisibilitySchema>[]) => {\n return updateProducts(dtos);\n};\n"],"mappings":"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","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","import_effect","z","z"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/products/set-inventory.ts","../src/bigcommerce-entities/products/schemas/set-inventory.schema.ts","../src/bigcommerce-entities/products/update-products.ts","../src/bigcommerce-entities/products/schemas/update-products.schema.ts","../src/bigcommerce-entities/products/set-visibility.ts"],"sourcesContent":["import { Chunk, Effect, Stream } from 'effect';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetInventoryResponseSchema,\n SetProductInventorySchema,\n type SetProductInventoryItemInput,\n} from './schemas/set-inventory.schema';\n\nexport const setProductsInventory = (reason: string, items: SetProductInventoryItemInput[]) => {\n return Stream.fromIterable(items).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductInventory(reason, chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductInventory = (\n reason: string,\n items: Chunk.Chunk<SetProductInventoryItemInput>,\n) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(SetProductInventorySchema, {\n reason,\n items: Chunk.toArray(items),\n });\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: SetInventoryResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import * as z from 'zod';\nexport const SetProductInventoryItemSchema = z.union([\n z.object({\n location_id: z.int(),\n product_id: z.int(),\n quantity: z.int().min(0),\n }),\n z.object({\n location_id: z.int(),\n sku: z.string(),\n quantity: z.int().min(0),\n }),\n]);\nexport const SetProductInventorySchema = z.object({\n reason: z.string(),\n items: z.array(SetProductInventoryItemSchema),\n});\nexport const SetInventoryResponseSchema = z.object({\n transaction_id: z.string(),\n});\nexport type SetProductInventoryInput = z.input<typeof SetProductInventorySchema>;\nexport type SetProductInventoryItemInput = z.input<typeof SetProductInventoryItemSchema>;\nexport type SetInventoryResponse = z.output<typeof SetInventoryResponseSchema>;\n","import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n UpdateProductResponseSchema,\n UpdateProductSchema,\n type UpdateProductInput,\n} from './schemas/update-products.schema';\nconst UpdateProductArraySchema = z.array(UpdateProductSchema);\nexport const updateProducts = (dtos: UpdateProductInput[]) => {\n return Stream.fromIterable(dtos).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductBatch(chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductBatch = (items: Chunk.Chunk<UpdateProductInput>) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(UpdateProductArraySchema, Chunk.toArray(items));\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: UpdateProductResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import * as z from 'zod';\nexport const UpdateProductVisibilitySchema = z.object({\n id: z.number(),\n is_visible: z.boolean(),\n});\n\nexport const UpdateProductSchema = z.union([UpdateProductVisibilitySchema]);\n\nexport const UpdateProductResponseSchema = z.any();\n\nexport type UpdateProductInput = z.input<typeof UpdateProductSchema>;\nexport type UpdateProductVisibilityInput = z.input<typeof UpdateProductVisibilitySchema>;\nexport type UpdateProductResponse = z.output<typeof UpdateProductResponseSchema>;\n","import type { UpdateProductVisibilityInput } from './schemas/update-products.schema';\nimport { updateProducts } from './update-products';\n\nexport const setProductVisibility = (dtos: UpdateProductVisibilityInput[]) => {\n return updateProducts(dtos);\n};\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,OAAO,QAAQ,cAAc;;;ACAtC,YAAY,OAAO;AACZ,IAAM,gCAAkC,QAAM;AAAA,EACjD,SAAO;AAAA,IACP,aAAe,MAAI;AAAA,IACnB,YAAc,MAAI;AAAA,IAClB,UAAY,MAAI,EAAE,IAAI,CAAC;AAAA,EACzB,CAAC;AAAA,EACC,SAAO;AAAA,IACP,aAAe,MAAI;AAAA,IACnB,KAAO,SAAO;AAAA,IACd,UAAY,MAAI,EAAE,IAAI,CAAC;AAAA,EACzB,CAAC;AACH,CAAC;AACM,IAAM,4BAA8B,SAAO;AAAA,EAChD,QAAU,SAAO;AAAA,EACjB,OAAS,QAAM,6BAA6B;AAC9C,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,gBAAkB,SAAO;AAC3B,CAAC;;;ADLM,IAAM,uBAAuB,CAAC,QAAgB,UAA0C;AAC7F,SAAO,OAAO,aAAa,KAAK,EAAE;AAAA,IAChC,OAAO,QAAQ,2BAA2B;AAAA,IAC1C,OAAO,UAAU,CAAC,UAAU,uBAAuB,QAAQ,KAAK,GAAG;AAAA,MACjE,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAO;AAAA,IACP,OAAO,IAAI,MAAM,OAAO;AAAA,EAC1B;AACF;AAEA,IAAM,yBAAyB,CAC7B,QACA,UACG;AACH,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,gBAAgB,OAAO,cAAc,2BAA2B;AAAA,MACpE;AAAA,MACA,OAAO,MAAM,QAAQ,KAAK;AAAA,IAC5B,CAAC;AACD,UAAM,UAAU,OAAO;AACvB,WAAO,OAAO,OAAO;AAAA,MACnB,QAAQ,MAAM;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,QACT,MAAM;AAAA,QACN,cAAc;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AE/CA,SAAS,SAAAA,QAAO,UAAAC,SAAQ,UAAAC,eAAc;AACtC,YAAYC,QAAO;;;ACDnB,YAAYC,QAAO;AACZ,IAAM,gCAAkC,UAAO;AAAA,EACpD,IAAM,UAAO;AAAA,EACb,YAAc,WAAQ;AACxB,CAAC;AAEM,IAAM,sBAAwB,SAAM,CAAC,6BAA6B,CAAC;AAEnE,IAAM,8BAAgC,OAAI;;;ADMjD,IAAM,2BAA6B,SAAM,mBAAmB;AACrD,IAAM,iBAAiB,CAAC,SAA+B;AAC5D,SAAOC,QAAO,aAAa,IAAI,EAAE;AAAA,IAC/BA,QAAO,QAAQ,2BAA2B;AAAA,IAC1CA,QAAO,UAAU,CAAC,UAAU,mBAAmB,KAAK,GAAG;AAAA,MACrD,aAAa;AAAA,IACf,CAAC;AAAA,IACDA,QAAO;AAAA,IACPC,QAAO,IAAIC,OAAM,OAAO;AAAA,EAC1B;AACF;AAEA,IAAM,qBAAqB,CAAC,UAA2C;AACrE,SAAOD,QAAO,IAAI,aAAa;AAC7B,UAAM,gBAAgB,OAAO,cAAc,0BAA0BC,OAAM,QAAQ,KAAK,CAAC;AACzF,UAAM,UAAU,OAAO;AACvB,WAAO,OAAOD,QAAO;AAAA,MACnB,QAAQ,MAAM;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,QACT,MAAM;AAAA,QACN,cAAc;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AEvCO,IAAM,uBAAuB,CAAC,SAAyC;AAC5E,SAAO,eAAe,IAAI;AAC5B;","names":["Chunk","Effect","Stream","z","z","Stream","Effect","Chunk"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/products/set-inventory.ts","../src/bigcommerce-entities/products/schemas/set-inventory.schema.ts","../src/bigcommerce-entities/products/update-products.ts","../src/bigcommerce-entities/products/schemas/update-products.schema.ts","../src/bigcommerce-entities/products/set-visibility.ts"],"sourcesContent":["import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetInventoryResponseSchema,\n SetProductInventorySchema,\n type SetProductInventoryItemSchema,\n} from './schemas/set-inventory.schema';\n\nexport const setProductsInventory = (\n reason: string,\n items: z.input<typeof SetProductInventoryItemSchema>[],\n) => {\n return Stream.fromIterable(items).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductInventory(reason, chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductInventory = (\n reason: string,\n items: Chunk.Chunk<z.input<typeof SetProductInventoryItemSchema>>,\n) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(SetProductInventorySchema, {\n reason,\n items: Chunk.toArray(items),\n });\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: SetInventoryResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import * as z from 'zod';\nexport const SetProductInventoryItemSchema = z.union([\n z.object({\n location_id: z.int(),\n product_id: z.int(),\n quantity: z.int().min(0),\n }),\n z.object({\n location_id: z.int(),\n sku: z.string(),\n quantity: z.int().min(0),\n }),\n]);\nexport const SetProductInventorySchema = z.object({\n reason: z.string(),\n items: z.array(SetProductInventoryItemSchema),\n});\nexport const SetInventoryResponseSchema = z.object({\n transaction_id: z.string(),\n});\n","import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport {\n RETRY_POLICY_WITH_BACKOFF,\n UPDATE_INVENTORY_BATCH_SIZE,\n UPDATE_INVENTORY_CONCURRENCY,\n} from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n UpdateProductResponseSchema,\n UpdateProductSchema,\n type UpdateProductInput,\n} from './schemas/update-products.schema';\nconst UpdateProductArraySchema = z.array(UpdateProductSchema);\nexport const updateProducts = (dtos: UpdateProductInput[]) => {\n return Stream.fromIterable(dtos).pipe(\n Stream.grouped(UPDATE_INVENTORY_BATCH_SIZE),\n Stream.mapEffect((chunk) => updateProductBatch(chunk), {\n concurrency: UPDATE_INVENTORY_CONCURRENCY,\n }),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n};\n\nconst updateProductBatch = (items: Chunk.Chunk<UpdateProductInput>) => {\n return Effect.gen(function* () {\n const validatedBody = yield* validateInput(UpdateProductArraySchema, Chunk.toArray(items));\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: false,\n method: 'PUT',\n path: 'inventory/adjustments/absolute',\n version: 'v3',\n body: validatedBody,\n resultSchema: UpdateProductResponseSchema,\n }),\n RETRY_POLICY_WITH_BACKOFF,\n );\n });\n};\n","import * as z from 'zod';\nexport const UpdateProductVisibilitySchema = z.object({\n id: z.number(),\n is_visible: z.boolean(),\n});\n\nexport const UpdateProductSchema = z.union([UpdateProductVisibilitySchema]);\n\nexport const UpdateProductResponseSchema = z.any();\n","import * as z from 'zod';\nimport { UpdateProductVisibilitySchema } from './schemas/update-products.schema';\nimport { updateProducts } from './update-products';\nexport const setProductVisibility = (dtos: z.input<typeof UpdateProductVisibilitySchema>[]) => {\n return updateProducts(dtos);\n};\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,OAAO,QAAQ,cAAc;;;ACAtC,YAAY,OAAO;AACZ,IAAM,gCAAkC,QAAM;AAAA,EACjD,SAAO;AAAA,IACP,aAAe,MAAI;AAAA,IACnB,YAAc,MAAI;AAAA,IAClB,UAAY,MAAI,EAAE,IAAI,CAAC;AAAA,EACzB,CAAC;AAAA,EACC,SAAO;AAAA,IACP,aAAe,MAAI;AAAA,IACnB,KAAO,SAAO;AAAA,IACd,UAAY,MAAI,EAAE,IAAI,CAAC;AAAA,EACzB,CAAC;AACH,CAAC;AACM,IAAM,4BAA8B,SAAO;AAAA,EAChD,QAAU,SAAO;AAAA,EACjB,OAAS,QAAM,6BAA6B;AAC9C,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,gBAAkB,SAAO;AAC3B,CAAC;;;ADJM,IAAM,uBAAuB,CAClC,QACA,UACG;AACH,SAAO,OAAO,aAAa,KAAK,EAAE;AAAA,IAChC,OAAO,QAAQ,2BAA2B;AAAA,IAC1C,OAAO,UAAU,CAAC,UAAU,uBAAuB,QAAQ,KAAK,GAAG;AAAA,MACjE,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAO;AAAA,IACP,OAAO,IAAI,MAAM,OAAO;AAAA,EAC1B;AACF;AAEA,IAAM,yBAAyB,CAC7B,QACA,UACG;AACH,SAAO,OAAO,IAAI,aAAa;AAC7B,UAAM,gBAAgB,OAAO,cAAc,2BAA2B;AAAA,MACpE;AAAA,MACA,OAAO,MAAM,QAAQ,KAAK;AAAA,IAC5B,CAAC;AACD,UAAM,UAAU,OAAO;AACvB,WAAO,OAAO,OAAO;AAAA,MACnB,QAAQ,MAAM;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,QACT,MAAM;AAAA,QACN,cAAc;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AEnDA,SAAS,SAAAA,QAAO,UAAAC,SAAQ,UAAAC,eAAc;AACtC,YAAYC,QAAO;;;ACDnB,YAAYC,QAAO;AACZ,IAAM,gCAAkC,UAAO;AAAA,EACpD,IAAM,UAAO;AAAA,EACb,YAAc,WAAQ;AACxB,CAAC;AAEM,IAAM,sBAAwB,SAAM,CAAC,6BAA6B,CAAC;AAEnE,IAAM,8BAAgC,OAAI;;;ADMjD,IAAM,2BAA6B,SAAM,mBAAmB;AACrD,IAAM,iBAAiB,CAAC,SAA+B;AAC5D,SAAOC,QAAO,aAAa,IAAI,EAAE;AAAA,IAC/BA,QAAO,QAAQ,2BAA2B;AAAA,IAC1CA,QAAO,UAAU,CAAC,UAAU,mBAAmB,KAAK,GAAG;AAAA,MACrD,aAAa;AAAA,IACf,CAAC;AAAA,IACDA,QAAO;AAAA,IACPC,QAAO,IAAIC,OAAM,OAAO;AAAA,EAC1B;AACF;AAEA,IAAM,qBAAqB,CAAC,UAA2C;AACrE,SAAOD,QAAO,IAAI,aAAa;AAC7B,UAAM,gBAAgB,OAAO,cAAc,0BAA0BC,OAAM,QAAQ,KAAK,CAAC;AACzF,UAAM,UAAU,OAAO;AACvB,WAAO,OAAOD,QAAO;AAAA,MACnB,QAAQ,MAAM;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,QACT,MAAM;AAAA,QACN,cAAc;AAAA,MAChB,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AEvCO,IAAM,uBAAuB,CAAC,SAA0D;AAC7F,SAAO,eAAe,IAAI;AAC5B;","names":["Chunk","Effect","Stream","z","z","Stream","Effect","Chunk"]}
@@ -0,0 +1,39 @@
1
+ import * as z from 'zod';
2
+
3
+ declare const OrderStatusNameEnumSchema: z.ZodEnum<{
4
+ Incomplete: "Incomplete";
5
+ Pending: "Pending";
6
+ Shipped: "Shipped";
7
+ "Partially Shipped": "Partially Shipped";
8
+ Refunded: "Refunded";
9
+ Cancelled: "Cancelled";
10
+ Declined: "Declined";
11
+ "Awaiting Payment": "Awaiting Payment";
12
+ "Awaiting Pickup": "Awaiting Pickup";
13
+ "Awaiting Shipment": "Awaiting Shipment";
14
+ Completed: "Completed";
15
+ "Awaiting Fulfillment": "Awaiting Fulfillment";
16
+ "Manual Verification Required": "Manual Verification Required";
17
+ Disputed: "Disputed";
18
+ "Partially Refunded": "Partially Refunded";
19
+ }>;
20
+ declare enum OrderStatusEnum {
21
+ Incomplete = 0,
22
+ Pending = 1,
23
+ Shipped = 2,
24
+ PartiallyShipped = 3,
25
+ Refunded = 4,
26
+ Cancelled = 5,
27
+ Declined = 6,
28
+ AwaitingPayment = 7,
29
+ AwaitingPickup = 8,
30
+ AwaitingShipment = 9,
31
+ Completed = 10,
32
+ AwaitingFulfillment = 11,
33
+ ManualVerificationRequired = 12,
34
+ Disputed = 13,
35
+ PartiallyRefunded = 14
36
+ }
37
+ declare const OrderStatusSchema: z.ZodEnum<typeof OrderStatusEnum>;
38
+
39
+ export { OrderStatusEnum as O, OrderStatusNameEnumSchema as a, OrderStatusSchema as b };
@@ -0,0 +1,39 @@
1
+ import * as z from 'zod';
2
+
3
+ declare const OrderStatusNameEnumSchema: z.ZodEnum<{
4
+ Incomplete: "Incomplete";
5
+ Pending: "Pending";
6
+ Shipped: "Shipped";
7
+ "Partially Shipped": "Partially Shipped";
8
+ Refunded: "Refunded";
9
+ Cancelled: "Cancelled";
10
+ Declined: "Declined";
11
+ "Awaiting Payment": "Awaiting Payment";
12
+ "Awaiting Pickup": "Awaiting Pickup";
13
+ "Awaiting Shipment": "Awaiting Shipment";
14
+ Completed: "Completed";
15
+ "Awaiting Fulfillment": "Awaiting Fulfillment";
16
+ "Manual Verification Required": "Manual Verification Required";
17
+ Disputed: "Disputed";
18
+ "Partially Refunded": "Partially Refunded";
19
+ }>;
20
+ declare enum OrderStatusEnum {
21
+ Incomplete = 0,
22
+ Pending = 1,
23
+ Shipped = 2,
24
+ PartiallyShipped = 3,
25
+ Refunded = 4,
26
+ Cancelled = 5,
27
+ Declined = 6,
28
+ AwaitingPayment = 7,
29
+ AwaitingPickup = 8,
30
+ AwaitingShipment = 9,
31
+ Completed = 10,
32
+ AwaitingFulfillment = 11,
33
+ ManualVerificationRequired = 12,
34
+ Disputed = 13,
35
+ PartiallyRefunded = 14
36
+ }
37
+ declare const OrderStatusSchema: z.ZodEnum<typeof OrderStatusEnum>;
38
+
39
+ export { OrderStatusEnum as O, OrderStatusNameEnumSchema as a, OrderStatusSchema as b };
@@ -1,4 +1,5 @@
1
1
  import * as z from 'zod';
2
+ import { O as OrderStatusEnum } from './status.schema-BgztUtGy.mjs';
2
3
 
3
4
  declare const CustomerAddressWebhookScopeSchema: z.ZodObject<{
4
5
  scope: z.ZodEnum<{
@@ -26,26 +27,6 @@ declare const CustomerWebhookScopeSchema: z.ZodObject<{
26
27
  id: z.ZodInt;
27
28
  }, z.core.$strip>;
28
29
  }, z.core.$strip>;
29
- type CustomerAddressWebhookScope = z.output<typeof CustomerAddressWebhookScopeSchema>;
30
- type CustomerWebhookScope = z.output<typeof CustomerWebhookScopeSchema>;
31
-
32
- declare enum OrderStatusEnum {
33
- Incomplete = 0,
34
- Pending = 1,
35
- Shipped = 2,
36
- PartiallyShipped = 3,
37
- Refunded = 4,
38
- Cancelled = 5,
39
- Declined = 6,
40
- AwaitingPayment = 7,
41
- AwaitingPickup = 8,
42
- AwaitingShipment = 9,
43
- Completed = 10,
44
- AwaitingFulfillment = 11,
45
- ManualVerificationRequired = 12,
46
- Disputed = 13,
47
- PartiallyRefunded = 14
48
- }
49
30
 
50
31
  declare const OrderWebhookScopeSchema: z.ZodObject<{
51
32
  scope: z.ZodEnum<{
@@ -71,10 +52,11 @@ declare const OrderStatusWebhookScopeSchema: z.ZodObject<{
71
52
  };
72
53
  }, z.core.$strip>;
73
54
  }, z.core.$strip>;
74
- type OrderWebhookScope = z.output<typeof OrderWebhookScopeSchema>;
75
- type OrderStatusWebhookScope = z.output<typeof OrderStatusWebhookScopeSchema>;
76
55
 
77
- declare const BigCommerceWebhooksScopeSchema: z.ZodIntersection<z.ZodUnion<readonly [z.ZodObject<{
56
+ declare const BigCommerceWebhooksScopeSchema: z.ZodIntersection<z.ZodObject<{
57
+ hash: z.ZodString;
58
+ created_at: z.ZodNumber;
59
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
78
60
  scope: z.ZodEnum<{
79
61
  "store/order/created": "store/order/created";
80
62
  "store/order/updated": "store/order/updated";
@@ -120,10 +102,6 @@ declare const BigCommerceWebhooksScopeSchema: z.ZodIntersection<z.ZodUnion<reado
120
102
  customer_id: z.ZodInt;
121
103
  }, z.core.$strip>;
122
104
  }, z.core.$strip>;
123
- }, z.core.$strip>]>, z.ZodObject<{
124
- hash: string;
125
- created_at: number;
126
- }, z.core.$strip>>;
127
- type BigCommerceWebhooksScope = z.output<typeof BigCommerceWebhooksScopeSchema>;
105
+ }, z.core.$strip>], "scope">>;
128
106
 
129
- export { type BigCommerceWebhooksScope, BigCommerceWebhooksScopeSchema, type CustomerAddressWebhookScope, CustomerAddressWebhookScopeSchema, type CustomerWebhookScope, CustomerWebhookScopeSchema, type OrderStatusWebhookScope, OrderStatusWebhookScopeSchema, type OrderWebhookScope, OrderWebhookScopeSchema };
107
+ export { BigCommerceWebhooksScopeSchema, CustomerAddressWebhookScopeSchema, CustomerWebhookScopeSchema, OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema };
@@ -1,4 +1,5 @@
1
1
  import * as z from 'zod';
2
+ import { O as OrderStatusEnum } from './status.schema-BgztUtGy.js';
2
3
 
3
4
  declare const CustomerAddressWebhookScopeSchema: z.ZodObject<{
4
5
  scope: z.ZodEnum<{
@@ -26,26 +27,6 @@ declare const CustomerWebhookScopeSchema: z.ZodObject<{
26
27
  id: z.ZodInt;
27
28
  }, z.core.$strip>;
28
29
  }, z.core.$strip>;
29
- type CustomerAddressWebhookScope = z.output<typeof CustomerAddressWebhookScopeSchema>;
30
- type CustomerWebhookScope = z.output<typeof CustomerWebhookScopeSchema>;
31
-
32
- declare enum OrderStatusEnum {
33
- Incomplete = 0,
34
- Pending = 1,
35
- Shipped = 2,
36
- PartiallyShipped = 3,
37
- Refunded = 4,
38
- Cancelled = 5,
39
- Declined = 6,
40
- AwaitingPayment = 7,
41
- AwaitingPickup = 8,
42
- AwaitingShipment = 9,
43
- Completed = 10,
44
- AwaitingFulfillment = 11,
45
- ManualVerificationRequired = 12,
46
- Disputed = 13,
47
- PartiallyRefunded = 14
48
- }
49
30
 
50
31
  declare const OrderWebhookScopeSchema: z.ZodObject<{
51
32
  scope: z.ZodEnum<{
@@ -71,10 +52,11 @@ declare const OrderStatusWebhookScopeSchema: z.ZodObject<{
71
52
  };
72
53
  }, z.core.$strip>;
73
54
  }, z.core.$strip>;
74
- type OrderWebhookScope = z.output<typeof OrderWebhookScopeSchema>;
75
- type OrderStatusWebhookScope = z.output<typeof OrderStatusWebhookScopeSchema>;
76
55
 
77
- declare const BigCommerceWebhooksScopeSchema: z.ZodIntersection<z.ZodUnion<readonly [z.ZodObject<{
56
+ declare const BigCommerceWebhooksScopeSchema: z.ZodIntersection<z.ZodObject<{
57
+ hash: z.ZodString;
58
+ created_at: z.ZodNumber;
59
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
78
60
  scope: z.ZodEnum<{
79
61
  "store/order/created": "store/order/created";
80
62
  "store/order/updated": "store/order/updated";
@@ -120,10 +102,6 @@ declare const BigCommerceWebhooksScopeSchema: z.ZodIntersection<z.ZodUnion<reado
120
102
  customer_id: z.ZodInt;
121
103
  }, z.core.$strip>;
122
104
  }, z.core.$strip>;
123
- }, z.core.$strip>]>, z.ZodObject<{
124
- hash: string;
125
- created_at: number;
126
- }, z.core.$strip>>;
127
- type BigCommerceWebhooksScope = z.output<typeof BigCommerceWebhooksScopeSchema>;
105
+ }, z.core.$strip>], "scope">>;
128
106
 
129
- export { type BigCommerceWebhooksScope, BigCommerceWebhooksScopeSchema, type CustomerAddressWebhookScope, CustomerAddressWebhookScopeSchema, type CustomerWebhookScope, CustomerWebhookScopeSchema, type OrderStatusWebhookScope, OrderStatusWebhookScopeSchema, type OrderWebhookScope, OrderWebhookScopeSchema };
107
+ export { BigCommerceWebhooksScopeSchema, CustomerAddressWebhookScopeSchema, CustomerWebhookScopeSchema, OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema };
package/dist/webhooks.js CHANGED
@@ -131,17 +131,18 @@ var OrderStatusWebhookScopeSchema = z3.object({
131
131
 
132
132
  // src/bigcommerce-entities/webhooks/schemas/webhooks.schema.ts
133
133
  var z4 = __toESM(require("zod"));
134
- var SomeOf = z4.union([
134
+ var BigCommerceSomeOfSchema = z4.discriminatedUnion("scope", [
135
135
  OrderWebhookScopeSchema,
136
136
  OrderStatusWebhookScopeSchema,
137
137
  CustomerWebhookScopeSchema,
138
138
  CustomerAddressWebhookScopeSchema
139
139
  ]);
140
- var BigCommerceWebhooksScopeSchema = SomeOf.and(
140
+ var BigCommerceWebhooksScopeSchema = z4.intersection(
141
141
  z4.object({
142
- hash: "416ca9c01779515de91824aa1cac9012ee691e7a",
143
- created_at: 1561481620
144
- })
142
+ hash: z4.string(),
143
+ created_at: z4.number()
144
+ }),
145
+ BigCommerceSomeOfSchema
145
146
  );
146
147
  // Annotate the CommonJS export names for ESM import in node:
147
148
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/webhooks/index.ts","../src/bigcommerce-entities/webhooks/schemas/customer.scope.schema.ts","../src/bigcommerce-entities/webhooks/schemas/order.scope.schema.ts","../src/bigcommerce-entities/orders/schemas/status.schema.ts","../src/bigcommerce-entities/webhooks/schemas/webhooks.schema.ts"],"sourcesContent":["export * from './schemas';\n","import * as z from 'zod';\nexport const CustomerAddressWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/address/created',\n 'store/customer/address/updated',\n 'store/customer/address/deleted',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n address: z.object({\n customer_id: z.int(),\n }),\n }),\n});\nexport const CustomerWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/created',\n 'store/customer/updated',\n 'store/customer/deleted',\n 'store/customer/payment/instrument/default/updated',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n }),\n});\n\nexport type CustomerAddressWebhookScope = z.output<typeof CustomerAddressWebhookScopeSchema>;\nexport type CustomerWebhookScope = z.output<typeof CustomerWebhookScopeSchema>;\n","import * as z from 'zod';\nimport { OrderStatusSchema } from '../../orders/schemas/status.schema';\nexport const OrderWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/created', 'store/order/updated', 'store/order/archived']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n }),\n});\nexport const OrderStatusWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/statusUpdated']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n status: {\n previous_status_id: OrderStatusSchema,\n new_status_id: OrderStatusSchema,\n },\n }),\n});\nexport type OrderWebhookScope = z.output<typeof OrderWebhookScopeSchema>;\nexport type OrderStatusWebhookScope = z.output<typeof OrderStatusWebhookScopeSchema>;\n","import * as z from 'zod';\nexport const OrderStatusNameEnumSchema = z.enum([\n 'Incomplete',\n 'Pending',\n 'Shipped',\n 'Partially Shipped',\n 'Refunded',\n 'Cancelled',\n 'Declined',\n 'Awaiting Payment',\n 'Awaiting Pickup',\n 'Awaiting Shipment',\n 'Completed',\n 'Awaiting Fulfillment',\n 'Manual Verification Required',\n 'Disputed',\n 'Partially Refunded',\n]);\nexport enum OrderStatusEnum {\n Incomplete = 0,\n Pending = 1,\n Shipped = 2,\n PartiallyShipped = 3,\n Refunded = 4,\n Cancelled = 5,\n Declined = 6,\n AwaitingPayment = 7,\n AwaitingPickup = 8,\n AwaitingShipment = 9,\n Completed = 10,\n AwaitingFulfillment = 11,\n ManualVerificationRequired = 12,\n Disputed = 13,\n PartiallyRefunded = 14,\n}\nexport const OrderStatusSchema = z.enum(OrderStatusEnum);\n\nexport type OrderStatusName = z.output<typeof OrderStatusNameEnumSchema>;\nexport type OrderStatus = z.output<typeof OrderStatusSchema>;\n","import * as z from 'zod';\nimport {\n CustomerAddressWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n} from './customer.scope.schema';\nimport { OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema } from './order.scope.schema';\n\nconst SomeOf = z.union([\n OrderWebhookScopeSchema,\n OrderStatusWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n CustomerAddressWebhookScopeSchema,\n]);\n\nexport const BigCommerceWebhooksScopeSchema = SomeOf.and(\n z.object({\n hash: '416ca9c01779515de91824aa1cac9012ee691e7a',\n created_at: 1561481620,\n }),\n);\n\nexport type BigCommerceWebhooksScope = z.output<typeof BigCommerceWebhooksScopeSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,QAAmB;AACZ,IAAM,oCAAsC,SAAO;AAAA,EACxD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,IACV,SAAW,SAAO;AAAA,MAChB,aAAe,MAAI;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,EACZ,CAAC;AACH,CAAC;;;AC1BD,IAAAA,KAAmB;;;ACAnB,IAAAC,KAAmB;AACZ,IAAM,4BAA8B,QAAK;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACM,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,kCAAA,gBAAa,KAAb;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,eAAY,KAAZ;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,qBAAkB,KAAlB;AACA,EAAAA,kCAAA,oBAAiB,KAAjB;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,eAAY,MAAZ;AACA,EAAAA,kCAAA,yBAAsB,MAAtB;AACA,EAAAA,kCAAA,gCAA6B,MAA7B;AACA,EAAAA,kCAAA,cAAW,MAAX;AACA,EAAAA,kCAAA,uBAAoB,MAApB;AAfU,SAAAA;AAAA,GAAA;AAiBL,IAAM,oBAAsB,QAAK,eAAe;;;ADjChD,IAAM,0BAA4B,UAAO;AAAA,EAC9C,OAAS,QAAK,CAAC,uBAAuB,uBAAuB,sBAAsB,CAAC;AAAA,EACpF,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,EACZ,CAAC;AACH,CAAC;AACM,IAAM,gCAAkC,UAAO;AAAA,EACpD,OAAS,QAAK,CAAC,2BAA2B,CAAC;AAAA,EAC3C,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,IACV,QAAQ;AAAA,MACN,oBAAoB;AAAA,MACpB,eAAe;AAAA,IACjB;AAAA,EACF,CAAC;AACH,CAAC;;;AEnBD,IAAAC,KAAmB;AAOnB,IAAM,SAAW,SAAM;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,iCAAiC,OAAO;AAAA,EACjD,UAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,EACd,CAAC;AACH;","names":["z","z","OrderStatusEnum","z"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/webhooks/index.ts","../src/bigcommerce-entities/webhooks/schemas/customer.scope.schema.ts","../src/bigcommerce-entities/webhooks/schemas/order.scope.schema.ts","../src/bigcommerce-entities/orders/schemas/status.schema.ts","../src/bigcommerce-entities/webhooks/schemas/webhooks.schema.ts"],"sourcesContent":["export * from './schemas';\n","import * as z from 'zod';\nexport const CustomerAddressWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/address/created',\n 'store/customer/address/updated',\n 'store/customer/address/deleted',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n address: z.object({\n customer_id: z.int(),\n }),\n }),\n});\nexport const CustomerWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/created',\n 'store/customer/updated',\n 'store/customer/deleted',\n 'store/customer/payment/instrument/default/updated',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n }),\n});\n","import * as z from 'zod';\nimport { OrderStatusSchema } from '../../orders/schemas/status.schema';\nexport const OrderWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/created', 'store/order/updated', 'store/order/archived']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n }),\n});\nexport const OrderStatusWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/statusUpdated']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n status: {\n previous_status_id: OrderStatusSchema,\n new_status_id: OrderStatusSchema,\n },\n }),\n});\n","import * as z from 'zod';\nexport const OrderStatusNameEnumSchema = z.enum([\n 'Incomplete',\n 'Pending',\n 'Shipped',\n 'Partially Shipped',\n 'Refunded',\n 'Cancelled',\n 'Declined',\n 'Awaiting Payment',\n 'Awaiting Pickup',\n 'Awaiting Shipment',\n 'Completed',\n 'Awaiting Fulfillment',\n 'Manual Verification Required',\n 'Disputed',\n 'Partially Refunded',\n]);\nexport enum OrderStatusEnum {\n Incomplete = 0,\n Pending = 1,\n Shipped = 2,\n PartiallyShipped = 3,\n Refunded = 4,\n Cancelled = 5,\n Declined = 6,\n AwaitingPayment = 7,\n AwaitingPickup = 8,\n AwaitingShipment = 9,\n Completed = 10,\n AwaitingFulfillment = 11,\n ManualVerificationRequired = 12,\n Disputed = 13,\n PartiallyRefunded = 14,\n}\nexport const OrderStatusSchema = z.enum(OrderStatusEnum);\n","import * as z from 'zod';\nimport {\n CustomerAddressWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n} from './customer.scope.schema';\nimport { OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema } from './order.scope.schema';\nexport {\n CustomerAddressWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n} from './customer.scope.schema';\nexport { OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema } from './order.scope.schema';\n\nconst BigCommerceSomeOfSchema = z.discriminatedUnion('scope', [\n OrderWebhookScopeSchema,\n OrderStatusWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n CustomerAddressWebhookScopeSchema,\n]);\n\nexport const BigCommerceWebhooksScopeSchema = z.intersection(\n z.object({\n hash: z.string(),\n created_at: z.number(),\n }),\n BigCommerceSomeOfSchema,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,QAAmB;AACZ,IAAM,oCAAsC,SAAO;AAAA,EACxD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,IACV,SAAW,SAAO;AAAA,MAChB,aAAe,MAAI;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,EACZ,CAAC;AACH,CAAC;;;AC1BD,IAAAA,KAAmB;;;ACAnB,IAAAC,KAAmB;AACZ,IAAM,4BAA8B,QAAK;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACM,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,kCAAA,gBAAa,KAAb;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,eAAY,KAAZ;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,qBAAkB,KAAlB;AACA,EAAAA,kCAAA,oBAAiB,KAAjB;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,eAAY,MAAZ;AACA,EAAAA,kCAAA,yBAAsB,MAAtB;AACA,EAAAA,kCAAA,gCAA6B,MAA7B;AACA,EAAAA,kCAAA,cAAW,MAAX;AACA,EAAAA,kCAAA,uBAAoB,MAApB;AAfU,SAAAA;AAAA,GAAA;AAiBL,IAAM,oBAAsB,QAAK,eAAe;;;ADjChD,IAAM,0BAA4B,UAAO;AAAA,EAC9C,OAAS,QAAK,CAAC,uBAAuB,uBAAuB,sBAAsB,CAAC;AAAA,EACpF,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,EACZ,CAAC;AACH,CAAC;AACM,IAAM,gCAAkC,UAAO;AAAA,EACpD,OAAS,QAAK,CAAC,2BAA2B,CAAC;AAAA,EAC3C,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,IACV,QAAQ;AAAA,MACN,oBAAoB;AAAA,MACpB,eAAe;AAAA,IACjB;AAAA,EACF,CAAC;AACH,CAAC;;;AEnBD,IAAAC,KAAmB;AAYnB,IAAM,0BAA4B,sBAAmB,SAAS;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,iCAAmC;AAAA,EAC5C,UAAO;AAAA,IACP,MAAQ,UAAO;AAAA,IACf,YAAc,UAAO;AAAA,EACvB,CAAC;AAAA,EACD;AACF;","names":["z","z","OrderStatusEnum","z"]}
package/dist/webhooks.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OrderStatusSchema
3
- } from "./chunk-GYWUKI2C.mjs";
3
+ } from "./chunk-XONZC4AG.mjs";
4
4
 
5
5
  // src/bigcommerce-entities/webhooks/schemas/customer.scope.schema.ts
6
6
  import * as z from "zod";
@@ -54,17 +54,18 @@ var OrderStatusWebhookScopeSchema = z2.object({
54
54
 
55
55
  // src/bigcommerce-entities/webhooks/schemas/webhooks.schema.ts
56
56
  import * as z3 from "zod";
57
- var SomeOf = z3.union([
57
+ var BigCommerceSomeOfSchema = z3.discriminatedUnion("scope", [
58
58
  OrderWebhookScopeSchema,
59
59
  OrderStatusWebhookScopeSchema,
60
60
  CustomerWebhookScopeSchema,
61
61
  CustomerAddressWebhookScopeSchema
62
62
  ]);
63
- var BigCommerceWebhooksScopeSchema = SomeOf.and(
63
+ var BigCommerceWebhooksScopeSchema = z3.intersection(
64
64
  z3.object({
65
- hash: "416ca9c01779515de91824aa1cac9012ee691e7a",
66
- created_at: 1561481620
67
- })
65
+ hash: z3.string(),
66
+ created_at: z3.number()
67
+ }),
68
+ BigCommerceSomeOfSchema
68
69
  );
69
70
  export {
70
71
  BigCommerceWebhooksScopeSchema,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/webhooks/schemas/customer.scope.schema.ts","../src/bigcommerce-entities/webhooks/schemas/order.scope.schema.ts","../src/bigcommerce-entities/webhooks/schemas/webhooks.schema.ts"],"sourcesContent":["import * as z from 'zod';\nexport const CustomerAddressWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/address/created',\n 'store/customer/address/updated',\n 'store/customer/address/deleted',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n address: z.object({\n customer_id: z.int(),\n }),\n }),\n});\nexport const CustomerWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/created',\n 'store/customer/updated',\n 'store/customer/deleted',\n 'store/customer/payment/instrument/default/updated',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n }),\n});\n\nexport type CustomerAddressWebhookScope = z.output<typeof CustomerAddressWebhookScopeSchema>;\nexport type CustomerWebhookScope = z.output<typeof CustomerWebhookScopeSchema>;\n","import * as z from 'zod';\nimport { OrderStatusSchema } from '../../orders/schemas/status.schema';\nexport const OrderWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/created', 'store/order/updated', 'store/order/archived']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n }),\n});\nexport const OrderStatusWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/statusUpdated']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n status: {\n previous_status_id: OrderStatusSchema,\n new_status_id: OrderStatusSchema,\n },\n }),\n});\nexport type OrderWebhookScope = z.output<typeof OrderWebhookScopeSchema>;\nexport type OrderStatusWebhookScope = z.output<typeof OrderStatusWebhookScopeSchema>;\n","import * as z from 'zod';\nimport {\n CustomerAddressWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n} from './customer.scope.schema';\nimport { OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema } from './order.scope.schema';\n\nconst SomeOf = z.union([\n OrderWebhookScopeSchema,\n OrderStatusWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n CustomerAddressWebhookScopeSchema,\n]);\n\nexport const BigCommerceWebhooksScopeSchema = SomeOf.and(\n z.object({\n hash: '416ca9c01779515de91824aa1cac9012ee691e7a',\n created_at: 1561481620,\n }),\n);\n\nexport type BigCommerceWebhooksScope = z.output<typeof BigCommerceWebhooksScopeSchema>;\n"],"mappings":";;;;;AAAA,YAAY,OAAO;AACZ,IAAM,oCAAsC,SAAO;AAAA,EACxD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,IACV,SAAW,SAAO;AAAA,MAChB,aAAe,MAAI;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,EACZ,CAAC;AACH,CAAC;;;AC1BD,YAAYA,QAAO;AAEZ,IAAM,0BAA4B,UAAO;AAAA,EAC9C,OAAS,QAAK,CAAC,uBAAuB,uBAAuB,sBAAsB,CAAC;AAAA,EACpF,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,EACZ,CAAC;AACH,CAAC;AACM,IAAM,gCAAkC,UAAO;AAAA,EACpD,OAAS,QAAK,CAAC,2BAA2B,CAAC;AAAA,EAC3C,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,IACV,QAAQ;AAAA,MACN,oBAAoB;AAAA,MACpB,eAAe;AAAA,IACjB;AAAA,EACF,CAAC;AACH,CAAC;;;ACnBD,YAAYC,QAAO;AAOnB,IAAM,SAAW,SAAM;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,iCAAiC,OAAO;AAAA,EACjD,UAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,EACd,CAAC;AACH;","names":["z","z"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/webhooks/schemas/customer.scope.schema.ts","../src/bigcommerce-entities/webhooks/schemas/order.scope.schema.ts","../src/bigcommerce-entities/webhooks/schemas/webhooks.schema.ts"],"sourcesContent":["import * as z from 'zod';\nexport const CustomerAddressWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/address/created',\n 'store/customer/address/updated',\n 'store/customer/address/deleted',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n address: z.object({\n customer_id: z.int(),\n }),\n }),\n});\nexport const CustomerWebhookScopeSchema = z.object({\n scope: z.enum([\n 'store/customer/created',\n 'store/customer/updated',\n 'store/customer/deleted',\n 'store/customer/payment/instrument/default/updated',\n ]),\n data: z.object({\n type: z.literal('customer'),\n id: z.int(),\n }),\n});\n","import * as z from 'zod';\nimport { OrderStatusSchema } from '../../orders/schemas/status.schema';\nexport const OrderWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/created', 'store/order/updated', 'store/order/archived']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n }),\n});\nexport const OrderStatusWebhookScopeSchema = z.object({\n scope: z.enum(['store/order/statusUpdated']),\n data: z.object({\n type: z.literal('order'),\n id: z.int(),\n status: {\n previous_status_id: OrderStatusSchema,\n new_status_id: OrderStatusSchema,\n },\n }),\n});\n","import * as z from 'zod';\nimport {\n CustomerAddressWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n} from './customer.scope.schema';\nimport { OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema } from './order.scope.schema';\nexport {\n CustomerAddressWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n} from './customer.scope.schema';\nexport { OrderStatusWebhookScopeSchema, OrderWebhookScopeSchema } from './order.scope.schema';\n\nconst BigCommerceSomeOfSchema = z.discriminatedUnion('scope', [\n OrderWebhookScopeSchema,\n OrderStatusWebhookScopeSchema,\n CustomerWebhookScopeSchema,\n CustomerAddressWebhookScopeSchema,\n]);\n\nexport const BigCommerceWebhooksScopeSchema = z.intersection(\n z.object({\n hash: z.string(),\n created_at: z.number(),\n }),\n BigCommerceSomeOfSchema,\n);\n"],"mappings":";;;;;AAAA,YAAY,OAAO;AACZ,IAAM,oCAAsC,SAAO;AAAA,EACxD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,IACV,SAAW,SAAO;AAAA,MAChB,aAAe,MAAI;AAAA,IACrB,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,OAAS,OAAK;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,MAAQ,UAAQ,UAAU;AAAA,IAC1B,IAAM,MAAI;AAAA,EACZ,CAAC;AACH,CAAC;;;AC1BD,YAAYA,QAAO;AAEZ,IAAM,0BAA4B,UAAO;AAAA,EAC9C,OAAS,QAAK,CAAC,uBAAuB,uBAAuB,sBAAsB,CAAC;AAAA,EACpF,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,EACZ,CAAC;AACH,CAAC;AACM,IAAM,gCAAkC,UAAO;AAAA,EACpD,OAAS,QAAK,CAAC,2BAA2B,CAAC;AAAA,EAC3C,MAAQ,UAAO;AAAA,IACb,MAAQ,WAAQ,OAAO;AAAA,IACvB,IAAM,OAAI;AAAA,IACV,QAAQ;AAAA,MACN,oBAAoB;AAAA,MACpB,eAAe;AAAA,IACjB;AAAA,EACF,CAAC;AACH,CAAC;;;ACnBD,YAAYC,QAAO;AAYnB,IAAM,0BAA4B,sBAAmB,SAAS;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,iCAAmC;AAAA,EAC5C,UAAO;AAAA,IACP,MAAQ,UAAO;AAAA,IACf,YAAc,UAAO;AAAA,EACvB,CAAC;AAAA,EACD;AACF;","names":["z","z"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgebound/bigcommerce",
3
- "version": "0.0.2",
3
+ "version": "0.1.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -52,13 +52,17 @@
52
52
  "eslint": "9.39.1",
53
53
  "tsup": "8.5.1",
54
54
  "typescript": "5.9.3",
55
- "@edgebound/typescript-config": "0.0.0",
56
- "@edgebound/eslint-config": "0.0.0"
55
+ "@edgebound/eslint-config": "0.0.0",
56
+ "@edgebound/typescript-config": "0.0.0"
57
57
  },
58
58
  "dependencies": {
59
59
  "effect": "3.19.14",
60
60
  "zod": "4.3.4"
61
61
  },
62
+ "peerDependencies": {
63
+ "effect": "3.19.14",
64
+ "zod": "4.3.4"
65
+ },
62
66
  "scripts": {
63
67
  "lint": "eslint . --max-warnings 0 --fix",
64
68
  "check-types": "tsc --noEmit",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/orders/schemas/status.schema.ts"],"sourcesContent":["import * as z from 'zod';\nexport const OrderStatusNameEnumSchema = z.enum([\n 'Incomplete',\n 'Pending',\n 'Shipped',\n 'Partially Shipped',\n 'Refunded',\n 'Cancelled',\n 'Declined',\n 'Awaiting Payment',\n 'Awaiting Pickup',\n 'Awaiting Shipment',\n 'Completed',\n 'Awaiting Fulfillment',\n 'Manual Verification Required',\n 'Disputed',\n 'Partially Refunded',\n]);\nexport enum OrderStatusEnum {\n Incomplete = 0,\n Pending = 1,\n Shipped = 2,\n PartiallyShipped = 3,\n Refunded = 4,\n Cancelled = 5,\n Declined = 6,\n AwaitingPayment = 7,\n AwaitingPickup = 8,\n AwaitingShipment = 9,\n Completed = 10,\n AwaitingFulfillment = 11,\n ManualVerificationRequired = 12,\n Disputed = 13,\n PartiallyRefunded = 14,\n}\nexport const OrderStatusSchema = z.enum(OrderStatusEnum);\n\nexport type OrderStatusName = z.output<typeof OrderStatusNameEnumSchema>;\nexport type OrderStatus = z.output<typeof OrderStatusSchema>;\n"],"mappings":";AAAA,YAAY,OAAO;AACZ,IAAM,4BAA8B,OAAK;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACM,IAAK,kBAAL,kBAAKA,qBAAL;AACL,EAAAA,kCAAA,gBAAa,KAAb;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,eAAY,KAAZ;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,qBAAkB,KAAlB;AACA,EAAAA,kCAAA,oBAAiB,KAAjB;AACA,EAAAA,kCAAA,sBAAmB,KAAnB;AACA,EAAAA,kCAAA,eAAY,MAAZ;AACA,EAAAA,kCAAA,yBAAsB,MAAtB;AACA,EAAAA,kCAAA,gCAA6B,MAA7B;AACA,EAAAA,kCAAA,cAAW,MAAX;AACA,EAAAA,kCAAA,uBAAoB,MAApB;AAfU,SAAAA;AAAA,GAAA;AAiBL,IAAM,oBAAsB,OAAK,eAAe;","names":["OrderStatusEnum"]}