@fluentcommerce/fc-connect-sdk 0.1.54 → 0.1.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/clients/fluent-client.js +13 -6
- package/dist/cjs/utils/pagination-helpers.js +38 -2
- package/dist/cjs/versori/fluent-versori-client.js +11 -5
- package/dist/esm/clients/fluent-client.js +13 -6
- package/dist/esm/utils/pagination-helpers.js +38 -2
- package/dist/esm/versori/fluent-versori-client.js +11 -5
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/docs/00-START-HERE/EXPORT-VALIDATION.md +158 -158
- package/docs/00-START-HERE/cli-analyze-source-structure-guide.md +655 -655
- package/docs/00-START-HERE/cli-documentation-index.md +202 -202
- package/docs/00-START-HERE/cli-quick-reference.md +252 -252
- package/docs/00-START-HERE/decision-tree.md +552 -552
- package/docs/00-START-HERE/getting-started.md +1070 -1070
- package/docs/00-START-HERE/mapper-quick-decision-guide.md +235 -235
- package/docs/00-START-HERE/readme.md +237 -237
- package/docs/00-START-HERE/retailerid-configuration.md +404 -404
- package/docs/00-START-HERE/sdk-philosophy.md +794 -794
- package/docs/00-START-HERE/troubleshooting-quick-reference.md +1086 -1086
- package/docs/01-TEMPLATES/faq.md +686 -686
- package/docs/01-TEMPLATES/patterns/pattern-templates-guide.md +68 -68
- package/docs/01-TEMPLATES/patterns/patterns-csv-schema-validation-and-rejection-report.md +233 -233
- package/docs/01-TEMPLATES/patterns/patterns-custom-resolvers.md +407 -407
- package/docs/01-TEMPLATES/patterns/patterns-error-handling-retry.md +511 -511
- package/docs/01-TEMPLATES/patterns/patterns-field-mapping-universal.md +701 -701
- package/docs/01-TEMPLATES/patterns/patterns-large-file-splitting.md +1430 -1430
- package/docs/01-TEMPLATES/patterns/patterns-master-data-etl.md +2399 -2399
- package/docs/01-TEMPLATES/patterns/patterns-pagination-streaming.md +447 -447
- package/docs/01-TEMPLATES/patterns/patterns-state-duplicate-prevention.md +385 -385
- package/docs/01-TEMPLATES/readme.md +957 -957
- package/docs/01-TEMPLATES/standalone/standalone-asn-inbound-processing.md +1209 -1209
- package/docs/01-TEMPLATES/standalone/standalone-graphql-query-export.md +1140 -1140
- package/docs/01-TEMPLATES/standalone/standalone-graphql-to-parquet-partitioned-s3.md +432 -432
- package/docs/01-TEMPLATES/standalone/standalone-multi-channel-inventory-sync.md +1185 -1185
- package/docs/01-TEMPLATES/standalone/standalone-multi-source-aggregation.md +1462 -1462
- package/docs/01-TEMPLATES/standalone/standalone-s3-csv-batch-api.md +1390 -1390
- package/docs/01-TEMPLATES/standalone/standalone-s3-csv-inventory-to-batch.md +330 -330
- package/docs/01-TEMPLATES/standalone/standalone-scripts-guide.md +87 -87
- package/docs/01-TEMPLATES/standalone/standalone-sftp-xml-graphql.md +1444 -1444
- package/docs/01-TEMPLATES/standalone/standalone-webhook-payload-processing.md +688 -688
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-dropship-order-routing.md +193 -193
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-graphql-parquet-extraction.md +518 -518
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-inter-location-transfers.md +2162 -2162
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-pre-order-allocation.md +2226 -2226
- package/docs/01-TEMPLATES/versori/business-examples/business-scenarios-guide.md +87 -87
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-connection-validation-pattern.md +656 -656
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-dual-workflow-connector.md +835 -835
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-guide.md +108 -108
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-kv-state-management.md +1533 -1533
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-xml-response-patterns.md +1160 -1160
- package/docs/01-TEMPLATES/versori/versori-platform-guide.md +201 -201
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-asn-purchase-order.md +1906 -1906
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-dropship-routing.md +1074 -1074
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-flash-sale-reserve.md +1395 -1395
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-generic-xml-order.md +888 -888
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-payment-gateway-integration.md +2478 -2478
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-rma-returns-comprehensive.md +2240 -2240
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-xml-order-ingestion.md +2029 -2029
- package/docs/01-TEMPLATES/versori/webhooks/webhook-templates-guide.md +140 -140
- package/docs/01-TEMPLATES/versori/workflows/_examples/sample-data/inventory-mapping.json +20 -20
- package/docs/01-TEMPLATES/versori/workflows/_examples/sample-data/products_2025-01-22.csv +11 -11
- package/docs/01-TEMPLATES/versori/workflows/_examples/sample-data/sample-data-guide.md +34 -34
- package/docs/01-TEMPLATES/versori/workflows/_examples/workflow-examples-guide.md +36 -36
- package/docs/01-TEMPLATES/versori/workflows/extraction/extraction-modes-guide.md +1038 -1038
- package/docs/01-TEMPLATES/versori/workflows/extraction/extraction-workflows-guide.md +138 -138
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/graphql-extraction-guide.md +63 -63
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-fulfillments-to-sftp-csv.md +2062 -2062
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-fulfillments-to-sftp-xml.md +2294 -2294
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-positions-to-s3-csv.md +2461 -2461
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-positions-to-sftp-xml.md +2529 -2529
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-quantities-to-s3-csv.md +2464 -2464
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-quantities-to-s3-json.md +1959 -1959
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-orders-to-s3-csv.md +1953 -1953
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-orders-to-sftp-xml.md +2541 -2541
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-products-to-s3-json.md +2384 -2384
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-products-to-sftp-xml.md +2445 -2445
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-virtual-positions-to-s3-csv.md +2355 -2355
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-virtual-positions-to-s3-json.md +2042 -2042
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-virtual-positions-to-sftp-xml.md +2726 -2726
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/batch-api-guide.md +206 -206
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-cycle-count-reconciliation.md +2030 -2030
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-multi-channel-inventory-sync.md +1882 -1882
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md +2827 -2827
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-json-inventory-batch.md +1952 -1952
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-xml-inventory-batch.md +3289 -3289
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-csv-inventory-batch.md +3064 -3064
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-json-inventory-batch.md +3238 -3238
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-xml-inventory-batch.md +2977 -2977
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/event-api-guide.md +321 -321
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-payload-json-order-cancel-event.md +959 -959
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-payload-xml-order-cancel-event.md +1170 -1170
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-csv-product-event.md +2312 -2312
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-json-product-event.md +2999 -2999
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-parquet-product-event.md +2836 -2836
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-xml-product-event.md +2395 -2395
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-csv-product-event.md +2295 -2295
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-json-product-event.md +2602 -2602
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-parquet-product-event.md +2589 -2589
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-xml-product-event.md +3578 -3578
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/graphql-mutations-guide.md +93 -93
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-payload-json-order-update-graphql.md +1260 -1260
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-payload-xml-order-update-graphql.md +1472 -1472
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-csv-control-graphql.md +2417 -2417
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-csv-location-graphql.md +2811 -2811
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-csv-price-graphql.md +2619 -2619
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-json-location-graphql.md +2807 -2807
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-xml-location-graphql.md +2373 -2373
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-sftp-csv-control-graphql.md +2740 -2740
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-sftp-csv-location-graphql.md +2760 -2760
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-sftp-json-location-graphql.md +1710 -1710
- package/docs/01-TEMPLATES/versori/workflows/ingestion/ingestion-workflows-guide.md +136 -136
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/rubix-webhooks-guide.md +520 -520
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/template-webhook-rubix-fulfilment-to-sftp-xml-inline.md +1418 -1418
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/template-webhook-rubix-fulfilment-to-sftp-xml-universal-mapper.md +1785 -1785
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/template-webhook-rubix-order-attribute-update.md +824 -824
- package/docs/01-TEMPLATES/versori/workflows/workflows-overview-guide.md +646 -646
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-batch-archival.md +724 -724
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-job-tracker.md +627 -627
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-partial-batch-recovery.md +561 -561
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-quick-reference.md +367 -367
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-readme.md +407 -407
- package/docs/02-CORE-GUIDES/advanced-services/readme.md +49 -49
- package/docs/02-CORE-GUIDES/api-reference/api-reference-quick-reference.md +548 -548
- package/docs/02-CORE-GUIDES/api-reference/event-api-input-output-reference.md +702 -1171
- package/docs/02-CORE-GUIDES/api-reference/examples/client-initialization.ts +286 -286
- package/docs/02-CORE-GUIDES/api-reference/graphql-error-classification.md +337 -337
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-01-client-api.md +399 -520
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-03-authentication.md +199 -199
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-04-graphql-mapping.md +925 -925
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-05-services.md +1198 -1198
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-06-data-sources.md +1083 -1083
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-07-parsers.md +1097 -1097
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-08-pagination.md +513 -513
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-08-types.md +545 -597
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-09-error-handling.md +527 -527
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-09-webhook-validation.md +514 -514
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-10-extraction.md +557 -557
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-10-utilities.md +412 -412
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-11-cli-tools.md +423 -423
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-11-error-handling.md +716 -716
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-analyze-source-structure.md +518 -518
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-partial-responses.md +212 -212
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-testing.md +300 -300
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-13-resolver-builder.md +322 -322
- package/docs/02-CORE-GUIDES/api-reference/readme.md +279 -279
- package/docs/02-CORE-GUIDES/auto-pagination/auto-pagination-quick-reference.md +351 -351
- package/docs/02-CORE-GUIDES/auto-pagination/auto-pagination-readme.md +277 -277
- package/docs/02-CORE-GUIDES/auto-pagination/examples/auto-pagination-readme.md +178 -178
- package/docs/02-CORE-GUIDES/auto-pagination/examples/common-patterns.ts +351 -351
- package/docs/02-CORE-GUIDES/auto-pagination/examples/paginate-products.ts +384 -384
- package/docs/02-CORE-GUIDES/auto-pagination/examples/paginate-virtual-positions.ts +308 -308
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md +470 -470
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-02-quick-start.md +713 -713
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-03-configuration.md +754 -754
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-04-advanced-patterns.md +732 -732
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-05-sdk-integration.md +847 -847
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-06-troubleshooting.md +359 -359
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-07-api-reference.md +462 -462
- package/docs/02-CORE-GUIDES/auto-pagination/readme.md +54 -54
- package/docs/02-CORE-GUIDES/data-sources/data-sources-file-operations-error-handling.md +1487 -1487
- package/docs/02-CORE-GUIDES/data-sources/data-sources-quick-reference.md +836 -836
- package/docs/02-CORE-GUIDES/data-sources/data-sources-readme.md +276 -276
- package/docs/02-CORE-GUIDES/data-sources/data-sources-sftp-credential-access-security.md +553 -553
- package/docs/02-CORE-GUIDES/data-sources/examples/common-patterns.ts +409 -409
- package/docs/02-CORE-GUIDES/data-sources/examples/data-sources-readme.md +178 -178
- package/docs/02-CORE-GUIDES/data-sources/examples/s3-operations.ts +308 -308
- package/docs/02-CORE-GUIDES/data-sources/examples/sftp-operations.ts +371 -371
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-01-foundations.md +735 -735
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-02-s3-operations.md +1302 -1302
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-03-sftp-operations.md +1379 -1379
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-04-file-patterns.md +941 -941
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-05-advanced-topics.md +813 -813
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-06-integration-patterns.md +486 -486
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-07-troubleshooting.md +387 -387
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-08-api-reference.md +417 -417
- package/docs/02-CORE-GUIDES/data-sources/readme.md +77 -77
- package/docs/02-CORE-GUIDES/error-handling-guide.md +936 -936
- package/docs/02-CORE-GUIDES/extraction/examples/02-core-guides-extraction-readme.md +116 -116
- package/docs/02-CORE-GUIDES/extraction/examples/common-patterns.ts +428 -428
- package/docs/02-CORE-GUIDES/extraction/examples/extract-inventory-basic.ts +187 -187
- package/docs/02-CORE-GUIDES/extraction/extraction-quick-reference.md +596 -596
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-01-foundations.md +514 -514
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-02-basic-extraction.md +823 -823
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-03-parquet-processing.md +507 -507
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-04-data-enrichment.md +546 -546
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-05-transformation.md +494 -494
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-06-export-formats.md +458 -458
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-06-performance.md +138 -138
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-07-api-reference.md +148 -148
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-07-optimization.md +692 -692
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md +1008 -1008
- package/docs/02-CORE-GUIDES/extraction/readme.md +151 -151
- package/docs/02-CORE-GUIDES/ingestion/examples/_simple-kv-store.ts +40 -40
- package/docs/02-CORE-GUIDES/ingestion/examples/error-recovery.ts +728 -728
- package/docs/02-CORE-GUIDES/ingestion/examples/event-driven.ts +501 -501
- package/docs/02-CORE-GUIDES/ingestion/examples/local-file-ingestion.ts +88 -88
- package/docs/02-CORE-GUIDES/ingestion/examples/parquet-ingestion.ts +117 -117
- package/docs/02-CORE-GUIDES/ingestion/examples/performance-optimized.ts +647 -647
- package/docs/02-CORE-GUIDES/ingestion/examples/s3-csv-ingestion.ts +169 -169
- package/docs/02-CORE-GUIDES/ingestion/examples/sftp-csv-ingestion.ts +134 -134
- package/docs/02-CORE-GUIDES/ingestion/ingestion-quick-reference.md +546 -546
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-01-introduction.md +626 -626
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-02-quick-start.md +658 -658
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-03-data-sources.md +1052 -1052
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-04-field-mapping.md +763 -763
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-05-advanced-parsers.md +676 -676
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-06-batch-api.md +1295 -1295
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-07-api-reference.md +138 -138
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-07-state-management.md +1037 -1037
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-08-performance-optimization.md +1349 -1349
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-09-best-practices.md +1893 -1893
- package/docs/02-CORE-GUIDES/ingestion/readme.md +160 -160
- package/docs/02-CORE-GUIDES/logging-guide.md +585 -585
- package/docs/02-CORE-GUIDES/mapping/error-handling-patterns.md +401 -401
- package/docs/02-CORE-GUIDES/mapping/examples/02-core-guides-mapping-readme.md +128 -128
- package/docs/02-CORE-GUIDES/mapping/examples/common-patterns.ts +273 -273
- package/docs/02-CORE-GUIDES/mapping/examples/csv-location-ingestion.json +36 -36
- package/docs/02-CORE-GUIDES/mapping/examples/csv-mapping.ts +242 -242
- package/docs/02-CORE-GUIDES/mapping/examples/graphql-to-parquet-extraction.json +36 -36
- package/docs/02-CORE-GUIDES/mapping/examples/json-mapping.ts +213 -213
- package/docs/02-CORE-GUIDES/mapping/examples/json-product-to-mutation.json +48 -48
- package/docs/02-CORE-GUIDES/mapping/examples/xml-mapping.ts +291 -291
- package/docs/02-CORE-GUIDES/mapping/examples/xml-order-to-mutation.json +45 -45
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/graphql-mutation-mapping-quick-reference.md +463 -463
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/graphql-mutation-mapping-readme.md +227 -227
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-01-introduction.md +222 -222
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-02-quick-start.md +351 -351
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-03-schema-validation.md +569 -569
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-04-mapping-patterns.md +471 -471
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-05-configuration-reference.md +611 -611
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-06-advanced-xpath.md +148 -148
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-06-path-syntax.md +464 -464
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-07-api-reference.md +94 -94
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-07-array-handling.md +307 -307
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-08-custom-resolvers.md +544 -544
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-09-advanced-patterns.md +427 -427
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-10-hooks-and-variables.md +336 -336
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-11-error-handling.md +488 -488
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-12-arguments-vs-nodes.md +383 -383
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-13-best-practices.md +477 -477
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/readme.md +62 -62
- package/docs/02-CORE-GUIDES/mapping/mapping-format-decision-tree.md +480 -480
- package/docs/02-CORE-GUIDES/mapping/mapping-graphql-alias-batching-guide.md +820 -820
- package/docs/02-CORE-GUIDES/mapping/mapping-javascript-objects.md +2369 -2369
- package/docs/02-CORE-GUIDES/mapping/mapping-mapper-comparison-guide.md +682 -682
- package/docs/02-CORE-GUIDES/mapping/modules/02-core-guides-mapping-07-api-reference.md +1327 -1327
- package/docs/02-CORE-GUIDES/mapping/modules/02-core-guides-mapping-08-error-handling.md +1142 -1142
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-04-use-cases.md +891 -891
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-06-helpers-resolvers.md +1126 -1126
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-06-sdk-resolvers.md +199 -199
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-07-api-reference.md +1319 -1319
- package/docs/02-CORE-GUIDES/mapping/readme.md +178 -178
- package/docs/02-CORE-GUIDES/mapping/resolver-registration.md +410 -410
- package/docs/02-CORE-GUIDES/mapping/resolvers/examples/common-patterns.ts +226 -226
- package/docs/02-CORE-GUIDES/mapping/resolvers/examples/custom-resolvers.ts +227 -227
- package/docs/02-CORE-GUIDES/mapping/resolvers/examples/sdk-resolvers-usage.ts +203 -203
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-readme.md +274 -274
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-api-reference.md +679 -679
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-cookbook.md +826 -826
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-guide.md +1330 -1330
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-helpers-reference.md +1437 -1437
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-parameters-reference.md +553 -553
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-troubleshooting.md +854 -854
- package/docs/02-CORE-GUIDES/mapping/resolvers/readme.md +75 -75
- package/docs/02-CORE-GUIDES/parsers/examples/02-core-guides-parsers-readme.md +161 -161
- package/docs/02-CORE-GUIDES/parsers/examples/csv-parser-examples.ts +110 -110
- package/docs/02-CORE-GUIDES/parsers/examples/json-parser-examples.ts +33 -33
- package/docs/02-CORE-GUIDES/parsers/examples/parquet-parser-examples.ts +47 -47
- package/docs/02-CORE-GUIDES/parsers/examples/xml-parser-examples.ts +38 -38
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-01-foundations.md +355 -355
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-02-csv-parser.md +772 -772
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-03-json-parser.md +789 -789
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-04-xml-parser.md +857 -857
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-05-parquet-parser.md +603 -603
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-06-integration-patterns.md +702 -702
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-06-streaming.md +121 -121
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-07-api-reference.md +89 -89
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-07-troubleshooting.md +727 -727
- package/docs/02-CORE-GUIDES/parsers/parsers-quick-reference.md +482 -482
- package/docs/02-CORE-GUIDES/parsers/parsers-readme.md +258 -258
- package/docs/02-CORE-GUIDES/parsers/readme.md +65 -65
- package/docs/02-CORE-GUIDES/readme.md +194 -194
- package/docs/02-CORE-GUIDES/webhook-validation/examples/basic-validation.ts +108 -108
- package/docs/02-CORE-GUIDES/webhook-validation/examples/common-patterns.ts +316 -316
- package/docs/02-CORE-GUIDES/webhook-validation/examples/webhook-validation-readme.md +61 -61
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-01-foundations.md +440 -440
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-02-quick-start.md +525 -525
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-03-versori-integration.md +741 -741
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-04-platform-integration.md +629 -629
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-05-configuration.md +535 -535
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-06-error-handling.md +611 -611
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-06-troubleshooting.md +124 -124
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-07-api-reference.md +511 -511
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-08-rubix-webhooks.md +590 -590
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-09-rubix-event-vs-http-call.md +432 -432
- package/docs/02-CORE-GUIDES/webhook-validation/readme.md +239 -239
- package/docs/02-CORE-GUIDES/webhook-validation/webhook-validation-quick-reference.md +392 -392
- package/docs/03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-quick-reference.md +498 -498
- package/docs/03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-readme.md +313 -313
- package/docs/03-PATTERN-GUIDES/connector-scenarios/examples/common-patterns.ts +612 -612
- package/docs/03-PATTERN-GUIDES/connector-scenarios/examples/connector-scenarios-readme.md +253 -253
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-01-foundations.md +452 -452
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-02-simple-scenarios.md +681 -681
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-03-intermediate-scenarios.md +637 -637
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-04-advanced-scenarios.md +650 -650
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-05-bidirectional-sync.md +233 -233
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-06-production-patterns.md +442 -442
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-07-reference.md +445 -445
- package/docs/03-PATTERN-GUIDES/connector-scenarios/readme.md +31 -31
- package/docs/03-PATTERN-GUIDES/enterprise-integration-patterns.md +1528 -1528
- package/docs/03-PATTERN-GUIDES/error-handling/comprehensive-error-handling-guide.md +1437 -1437
- package/docs/03-PATTERN-GUIDES/error-handling/error-handling-quick-reference.md +390 -390
- package/docs/03-PATTERN-GUIDES/error-handling/examples/common-patterns.ts +438 -438
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-01-foundations.md +362 -362
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-02-error-types.md +850 -850
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-03-utf8-handling.md +456 -456
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-04-error-scenarios.md +658 -658
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-05-calling-patterns.md +671 -671
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-06-retry-strategies.md +1034 -1034
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-07-monitoring.md +653 -653
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-08-api-reference.md +847 -847
- package/docs/03-PATTERN-GUIDES/error-handling/readme.md +36 -36
- package/docs/03-PATTERN-GUIDES/examples/__tests__/readme.md +40 -40
- package/docs/03-PATTERN-GUIDES/examples/__tests__/resolver-examples.test.js +282 -282
- package/docs/03-PATTERN-GUIDES/examples/test-data/03-pattern-guides-readme.md +110 -110
- package/docs/03-PATTERN-GUIDES/examples/test-data/canonical-inventory.json +123 -123
- package/docs/03-PATTERN-GUIDES/examples/test-data/canonical-order.json +171 -171
- package/docs/03-PATTERN-GUIDES/examples/test-data/readme.md +28 -28
- package/docs/03-PATTERN-GUIDES/extraction/extraction-readme.md +15 -15
- package/docs/03-PATTERN-GUIDES/extraction/readme.md +25 -25
- package/docs/03-PATTERN-GUIDES/file-operations/examples/common-patterns.ts +407 -407
- package/docs/03-PATTERN-GUIDES/file-operations/examples/file-operations-readme.md +142 -142
- package/docs/03-PATTERN-GUIDES/file-operations/file-operations-quick-reference.md +462 -462
- package/docs/03-PATTERN-GUIDES/file-operations/file-operations-readme.md +379 -379
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-01-foundations.md +430 -430
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-02-quick-start.md +484 -484
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-03-s3-operations.md +507 -507
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-04-sftp-operations.md +963 -963
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-05-streaming-performance.md +503 -503
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-06-archive-patterns.md +386 -386
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-06-error-handling.md +117 -117
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-07-api-reference.md +78 -78
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-07-testing-troubleshooting.md +567 -567
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-08-api-reference.md +1055 -1055
- package/docs/03-PATTERN-GUIDES/file-operations/readme.md +32 -32
- package/docs/03-PATTERN-GUIDES/ingestion/ingestion-readme.md +15 -15
- package/docs/03-PATTERN-GUIDES/ingestion/readme.md +25 -25
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/batch-processing.ts +130 -130
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/common-patterns.ts +360 -360
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/delta-sync.ts +130 -130
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/integration-patterns-readme.md +100 -100
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/real-time-webhook.ts +398 -398
- package/docs/03-PATTERN-GUIDES/integration-patterns/integration-patterns-quick-reference.md +962 -962
- package/docs/03-PATTERN-GUIDES/integration-patterns/integration-patterns-readme.md +134 -134
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-01-real-time-processing.md +991 -991
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-02-batch-processing.md +1547 -1547
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-03-delta-sync.md +1108 -1108
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-04-webhook-patterns.md +1181 -1181
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-05-error-handling.md +1061 -1061
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-06-advanced-integration-services.md +1547 -1547
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-06-performance.md +109 -109
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-07-api-reference.md +34 -34
- package/docs/03-PATTERN-GUIDES/integration-patterns/readme.md +30 -30
- package/docs/03-PATTERN-GUIDES/logging-minimal-mode.md +128 -128
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/common-patterns.ts +380 -380
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/multiple-connections-readme.md +139 -139
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/parallel-root-connections.ts +149 -149
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/real-world-scenarios.ts +405 -405
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-01-foundations.md +378 -378
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-02-quick-start.md +566 -566
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-03-targeting-connections.md +659 -659
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-04-parallel-queries.md +656 -656
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-05-best-practices.md +624 -624
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-06-api-reference.md +824 -824
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-06-versori.md +119 -119
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-07-api-reference.md +87 -87
- package/docs/03-PATTERN-GUIDES/multiple-connections/multiple-connections-quick-reference.md +353 -353
- package/docs/03-PATTERN-GUIDES/multiple-connections/multiple-connections-readme.md +270 -270
- package/docs/03-PATTERN-GUIDES/multiple-connections/readme.md +30 -30
- package/docs/03-PATTERN-GUIDES/pagination/pagination-readme.md +14 -14
- package/docs/03-PATTERN-GUIDES/pagination/readme.md +24 -24
- package/docs/03-PATTERN-GUIDES/parquet/examples/common-patterns.ts +180 -180
- package/docs/03-PATTERN-GUIDES/parquet/examples/read-parquet.ts +48 -48
- package/docs/03-PATTERN-GUIDES/parquet/examples/write-parquet.ts +65 -65
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-01-introduction.md +393 -393
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-02-quick-start.md +572 -572
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-03-reading-parquet.md +525 -525
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-04-writing-parquet.md +554 -554
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-05-graphql-extraction.md +405 -405
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-06-performance.md +104 -104
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-06-s3-integration.md +511 -511
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-07-api-reference.md +90 -90
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-07-performance-optimization.md +525 -525
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-08-best-practices.md +712 -712
- package/docs/03-PATTERN-GUIDES/parquet/parquet-quick-reference.md +683 -683
- package/docs/03-PATTERN-GUIDES/parquet/parquet-readme.md +248 -248
- package/docs/03-PATTERN-GUIDES/parquet/readme.md +32 -32
- package/docs/03-PATTERN-GUIDES/parsers/parsers-readme.md +12 -12
- package/docs/03-PATTERN-GUIDES/parsers/readme.md +24 -24
- package/docs/03-PATTERN-GUIDES/readme.md +159 -159
- package/docs/03-PATTERN-GUIDES/webhooks/readme.md +24 -24
- package/docs/03-PATTERN-GUIDES/webhooks/webhooks-readme.md +8 -8
- package/docs/04-REFERENCE/architecture/architecture-01-overview.md +427 -427
- package/docs/04-REFERENCE/architecture/architecture-02-client-architecture.md +424 -424
- package/docs/04-REFERENCE/architecture/architecture-03-data-flow.md +690 -690
- package/docs/04-REFERENCE/architecture/architecture-04-service-layer.md +834 -834
- package/docs/04-REFERENCE/architecture/architecture-05-integration-architecture.md +655 -655
- package/docs/04-REFERENCE/architecture/architecture-06-state-management.md +653 -653
- package/docs/04-REFERENCE/architecture/architecture-adding-new-data-sources.md +686 -686
- package/docs/04-REFERENCE/architecture/readme.md +279 -279
- package/docs/04-REFERENCE/platforms/deno/readme.md +117 -117
- package/docs/04-REFERENCE/platforms/nodejs/readme.md +146 -146
- package/docs/04-REFERENCE/platforms/readme.md +135 -135
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-01-introduction.md +398 -398
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-02-quick-start.md +560 -560
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-03-authentication.md +757 -757
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-04-workflows.md +2476 -2476
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-05-connections.md +1167 -1167
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-06-kv-storage.md +990 -990
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-06-state-management.md +121 -121
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-07-api-reference.md +68 -68
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-07-deployment.md +731 -731
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-08-best-practices.md +1111 -1111
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-09-signature-reference.md +766 -766
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-readme.md +299 -299
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-s3-sftp-configuration-guide.md +1425 -1425
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-webhook-api-key-security.md +816 -816
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-webhook-connection-security.md +681 -681
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-workflow-task-types.md +708 -708
- package/docs/04-REFERENCE/platforms/versori/readme.md +108 -108
- package/docs/04-REFERENCE/readme.md +148 -148
- package/docs/04-REFERENCE/resolver-signature/examples/advanced-resolvers.ts +482 -482
- package/docs/04-REFERENCE/resolver-signature/examples/async-resolvers.ts +496 -496
- package/docs/04-REFERENCE/resolver-signature/examples/basic-resolvers.ts +343 -343
- package/docs/04-REFERENCE/resolver-signature/examples/resolver-signature-readme.md +188 -188
- package/docs/04-REFERENCE/resolver-signature/examples/testing-resolvers.ts +463 -463
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-01-foundations.md +286 -286
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-02-parameter-reference.md +643 -643
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-03-basic-examples.md +521 -521
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-04-advanced-patterns.md +739 -739
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-05-sdk-resolvers.md +531 -531
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-06-migration-guide.md +650 -650
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-06-testing.md +125 -125
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-07-api-reference.md +794 -794
- package/docs/04-REFERENCE/resolver-signature/readme.md +64 -64
- package/docs/04-REFERENCE/resolver-signature/resolver-signature-quick-reference.md +270 -270
- package/docs/04-REFERENCE/resolver-signature/resolver-signature-readme.md +351 -351
- package/docs/04-REFERENCE/schema/fluent-commerce-schema.json +764 -764
- package/docs/04-REFERENCE/schema/readme.md +141 -141
- package/docs/04-REFERENCE/testing/examples/04-reference-testing-readme.md +158 -158
- package/docs/04-REFERENCE/testing/examples/fluent-testing.ts +62 -62
- package/docs/04-REFERENCE/testing/examples/health-check.ts +155 -155
- package/docs/04-REFERENCE/testing/examples/integration-test.ts +119 -119
- package/docs/04-REFERENCE/testing/examples/performance-test.ts +183 -183
- package/docs/04-REFERENCE/testing/examples/s3-testing.ts +127 -127
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-01-foundations.md +267 -267
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-02-s3-testing.md +599 -599
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-03-fluent-testing.md +589 -589
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-04-integration-testing.md +699 -699
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-05-debugging.md +478 -478
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-06-cicd-integration.md +463 -463
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-06-preflight-validation.md +131 -131
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-07-best-practices.md +499 -499
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-07-coverage-ci.md +165 -165
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-08-api-reference.md +634 -634
- package/docs/04-REFERENCE/testing/readme.md +86 -86
- package/docs/04-REFERENCE/testing/testing-quick-reference.md +667 -667
- package/docs/04-REFERENCE/testing/testing-readme.md +286 -286
- package/docs/04-REFERENCE/troubleshooting/readme.md +144 -144
- package/docs/04-REFERENCE/troubleshooting/troubleshooting-deno-sftp-compatibility.md +392 -392
- package/docs/template-loading-matrix.md +242 -242
- package/package.json +5 -3
- package/docs/02-CORE-GUIDES/api-reference/cli-profile-integration.md +0 -377
|
@@ -1,286 +1,286 @@
|
|
|
1
|
-
# Module 1: Foundations
|
|
2
|
-
|
|
3
|
-
**Level:** Beginner
|
|
4
|
-
**Estimated Time:** 10 minutes
|
|
5
|
-
|
|
6
|
-
## Overview
|
|
7
|
-
|
|
8
|
-
This module introduces the standard 4-parameter resolver signature used consistently across ALL mappers in the Fluent Connect SDK. You'll understand why this signature exists and how it ensures predictability and ease of use.
|
|
9
|
-
|
|
10
|
-
## Learning Objectives
|
|
11
|
-
|
|
12
|
-
By the end of this module, you will:
|
|
13
|
-
- ✅ Understand the standard 4-parameter resolver signature
|
|
14
|
-
- ✅ Know why the SDK uses 4 parameters instead of 3
|
|
15
|
-
- ✅ Recognize how consistency benefits your development workflow
|
|
16
|
-
- ✅ Identify which mappers use this signature
|
|
17
|
-
|
|
18
|
-
## The Standard Resolver Signature
|
|
19
|
-
|
|
20
|
-
Every resolver function in the FC Connect SDK follows this exact signature:
|
|
21
|
-
|
|
22
|
-
```typescript
|
|
23
|
-
type ResolverFunction = (
|
|
24
|
-
value: any, // Parameter 1: The field value being transformed
|
|
25
|
-
sourceData: any, // Parameter 2: Full source object for context
|
|
26
|
-
config: any, // Parameter 3: Resolver-specific configuration
|
|
27
|
-
helpers: ResolverHelpers // Parameter 4: SDK utilities and user context
|
|
28
|
-
) => any | Promise<any>;
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### Quick Example
|
|
32
|
-
|
|
33
|
-
```typescript
|
|
34
|
-
// This signature works everywhere in the SDK
|
|
35
|
-
const customResolver = (value, sourceData, config, helpers) => {
|
|
36
|
-
// Transform the value
|
|
37
|
-
return String(value).toUpperCase();
|
|
38
|
-
};
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Why 4 Parameters?
|
|
42
|
-
|
|
43
|
-
The SDK evolved from a 3-parameter signature to the current 4-parameter design for critical architectural reasons:
|
|
44
|
-
|
|
45
|
-
### 1. Separation of Concerns
|
|
46
|
-
|
|
47
|
-
**Before (3 parameters):**
|
|
48
|
-
```typescript
|
|
49
|
-
// ❌ Configuration and helpers were mixed
|
|
50
|
-
(value, sourceData, helpers) => {
|
|
51
|
-
const taxRate = helpers.context?.taxRate; // Unclear source
|
|
52
|
-
return value * (1 + taxRate);
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**After (4 parameters):**
|
|
57
|
-
```typescript
|
|
58
|
-
// ✅ Clear separation: config for business rules, helpers for utilities
|
|
59
|
-
(value, sourceData, config, helpers) => {
|
|
60
|
-
const taxRate = config.taxRate; // Business rule
|
|
61
|
-
const safe = helpers.parseFloatSafe(value, 0); // Utility function
|
|
62
|
-
return safe * (1 + taxRate);
|
|
63
|
-
}
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### 2. Type Safety
|
|
67
|
-
|
|
68
|
-
With dedicated parameters, TypeScript can provide better type inference:
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
interface ResolverHelpers {
|
|
72
|
-
// 48+ utility functions
|
|
73
|
-
get(obj: any, path: string): any;
|
|
74
|
-
parseFloatSafe(value: any, defaultValue: number): number;
|
|
75
|
-
formatDate(date: any, format?: string): string;
|
|
76
|
-
// ... 45 more
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// TypeScript knows exactly what's in helpers
|
|
80
|
-
(value, sourceData, config, helpers) => {
|
|
81
|
-
helpers.parseFloatSafe(value, 0); // ✅ Autocomplete works!
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 3. Predictability Across Mappers
|
|
86
|
-
|
|
87
|
-
The 4-parameter signature is used by BOTH major mappers:
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
import { UniversalMapper, GraphQLMutationMapper } from '@fluentcommerce/fc-connect-sdk';
|
|
91
|
-
|
|
92
|
-
// Define once
|
|
93
|
-
const resolvers = {
|
|
94
|
-
'custom.transform': (value, sourceData, config, helpers) => {
|
|
95
|
-
return String(value).toUpperCase();
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
// Use everywhere
|
|
100
|
-
const mapper1 = new UniversalMapper(mapping, { customResolvers: resolvers });
|
|
101
|
-
const mapper2 = new GraphQLMutationMapper(mapping, { customResolvers: resolvers });
|
|
102
|
-
|
|
103
|
-
// Same signature, same behavior, zero surprises
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### 4. Future-Proof Design
|
|
107
|
-
|
|
108
|
-
The 4-parameter design allows the SDK to grow without breaking changes:
|
|
109
|
-
|
|
110
|
-
```typescript
|
|
111
|
-
// Today: config contains business rules
|
|
112
|
-
(value, sourceData, config, helpers) => {
|
|
113
|
-
const rate = config.taxRate;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// Tomorrow: SDK can add more to config without breaking your code
|
|
117
|
-
(value, sourceData, config, helpers) => {
|
|
118
|
-
const rate = config.taxRate;
|
|
119
|
-
const region = config.region; // New field added by SDK
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Consistency Across the SDK
|
|
124
|
-
|
|
125
|
-
### Used by ALL Mappers
|
|
126
|
-
|
|
127
|
-
| Mapper | Purpose | Uses 4-Param Signature |
|
|
128
|
-
|--------|---------|----------------------|
|
|
129
|
-
| **UniversalMapper** | CSV/JSON/Parquet/XML transformations | ✅ Yes |
|
|
130
|
-
| **GraphQLMutationMapper** | XML/JSON → GraphQL mutations | ✅ Yes |
|
|
131
|
-
|
|
132
|
-
### Used by SDK Resolvers
|
|
133
|
-
|
|
134
|
-
All built-in SDK resolvers follow the same signature:
|
|
135
|
-
|
|
136
|
-
```typescript
|
|
137
|
-
// SDK resolver: sdk.parseFloat
|
|
138
|
-
'sdk.parseFloat': (value, sourceData, config, helpers) => {
|
|
139
|
-
return helpers.parseFloatSafe(value, 0);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Your custom resolver: custom.parseFloat
|
|
143
|
-
'custom.parseFloat': (value, sourceData, config, helpers) => {
|
|
144
|
-
return helpers.parseFloatSafe(value, 0);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// Identical signature = consistent behavior
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## What This Means for You
|
|
151
|
-
|
|
152
|
-
### As a Developer
|
|
153
|
-
|
|
154
|
-
**You write resolvers once, use them everywhere:**
|
|
155
|
-
```typescript
|
|
156
|
-
const resolvers = {
|
|
157
|
-
'custom.formatSKU': (value, sourceData, config, helpers) => {
|
|
158
|
-
return `${config.prefix}-${value}`;
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
// Works in CSV ingestion
|
|
163
|
-
const csvMapper = new UniversalMapper(csvMapping, {
|
|
164
|
-
customResolvers: resolvers,
|
|
165
|
-
context: { prefix: 'CSV' }
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
// Works in XML order processing
|
|
169
|
-
const xmlMapper = new GraphQLMutationMapper(xmlMapping, {
|
|
170
|
-
customResolvers: resolvers,
|
|
171
|
-
context: { prefix: 'XML' }
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
// Works in Parquet extraction
|
|
175
|
-
const parquetMapper = new UniversalMapper(parquetMapping, {
|
|
176
|
-
customResolvers: resolvers,
|
|
177
|
-
context: { prefix: 'PQT' }
|
|
178
|
-
});
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### As a Team
|
|
182
|
-
|
|
183
|
-
**Everyone learns one pattern:**
|
|
184
|
-
- New developers learn 4 parameters once
|
|
185
|
-
- Code reviews check for 4 parameters
|
|
186
|
-
- Testing frameworks expect 4 parameters
|
|
187
|
-
- Documentation consistently shows 4 parameters
|
|
188
|
-
|
|
189
|
-
### As a System
|
|
190
|
-
|
|
191
|
-
**The SDK is predictable:**
|
|
192
|
-
- Error messages reference the same parameters
|
|
193
|
-
- Debugging tools understand the signature
|
|
194
|
-
- Type systems enforce consistency
|
|
195
|
-
- Performance optimizations work uniformly
|
|
196
|
-
|
|
197
|
-
## Real-World Analogy
|
|
198
|
-
|
|
199
|
-
Think of the 4-parameter signature like a standardized electrical outlet:
|
|
200
|
-
|
|
201
|
-
**Without Standard (3-param, varies):**
|
|
202
|
-
- Every resolver has different parameters
|
|
203
|
-
- Need adapters to share resolvers between mappers
|
|
204
|
-
- Hard to remember which parameter order is correct
|
|
205
|
-
- Type safety is difficult to enforce
|
|
206
|
-
|
|
207
|
-
**With Standard (4-param, consistent):**
|
|
208
|
-
- Every resolver uses the same "plug shape"
|
|
209
|
-
- Resolvers work in any mapper "socket"
|
|
210
|
-
- Clear documentation applies universally
|
|
211
|
-
- TypeScript enforces correct usage automatically
|
|
212
|
-
|
|
213
|
-
## Quick Reference
|
|
214
|
-
|
|
215
|
-
```typescript
|
|
216
|
-
// ✅ ALWAYS use this signature
|
|
217
|
-
(value, sourceData, config, helpers) => {
|
|
218
|
-
// Your transformation logic
|
|
219
|
-
return transformedValue;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
// ❌ NEVER use these variations
|
|
223
|
-
(value, helpers) => { ... } // Missing parameters
|
|
224
|
-
(value, sourceData, helpers) => { ... } // Old 3-param style
|
|
225
|
-
(val, src, cfg, hlp) => { ... } // Non-standard names
|
|
226
|
-
(value, config, sourceData, helpers) => { ... } // Wrong parameter order
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
## Parameter Preview
|
|
230
|
-
|
|
231
|
-
Here's a quick preview of each parameter (covered in detail in Module 2):
|
|
232
|
-
|
|
233
|
-
1. **value** - The extracted field value to transform
|
|
234
|
-
2. **sourceData** - Complete source object for accessing related fields
|
|
235
|
-
3. **config** - Business rules and configuration passed to the mapper
|
|
236
|
-
4. **helpers** - 48+ SDK utility functions plus fluentClient and logger
|
|
237
|
-
|
|
238
|
-
## Key Takeaways
|
|
239
|
-
|
|
240
|
-
- 🎯 **Standard Signature**: `(value, sourceData, config, helpers) => any`
|
|
241
|
-
- 🎯 **Used Everywhere**: UniversalMapper AND GraphQLMutationMapper
|
|
242
|
-
- 🎯 **Consistent Behavior**: Same signature = same mental model
|
|
243
|
-
- 🎯 **Type Safe**: TypeScript enforces correct usage
|
|
244
|
-
- 🎯 **Future Proof**: Design allows growth without breaking changes
|
|
245
|
-
|
|
246
|
-
## Practice Exercise
|
|
247
|
-
|
|
248
|
-
Convert this old 3-parameter resolver to the new 4-parameter signature:
|
|
249
|
-
|
|
250
|
-
```typescript
|
|
251
|
-
// OLD (3 parameters)
|
|
252
|
-
const oldResolver = (value, sourceData, helpers) => {
|
|
253
|
-
const prefix = helpers.context?.prefix || 'SKU';
|
|
254
|
-
return `${prefix}-${value}`;
|
|
255
|
-
};
|
|
256
|
-
|
|
257
|
-
// YOUR TASK: Convert to 4 parameters
|
|
258
|
-
// HINT: Move context access to config parameter
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
<details>
|
|
262
|
-
<summary>Show Solution</summary>
|
|
263
|
-
|
|
264
|
-
```typescript
|
|
265
|
-
// NEW (4 parameters)
|
|
266
|
-
const newResolver = (value, sourceData, config, helpers) => {
|
|
267
|
-
const prefix = config.prefix || 'SKU';
|
|
268
|
-
return `${prefix}-${value}`;
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
// Usage with mapper
|
|
272
|
-
const mapper = new UniversalMapper(mapping, {
|
|
273
|
-
customResolvers: { 'custom.format': newResolver },
|
|
274
|
-
context: { prefix: 'PROD' } // Becomes 'config' parameter
|
|
275
|
-
});
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
**Key changes:**
|
|
279
|
-
1. Added `config` parameter (3rd position)
|
|
280
|
-
2. Changed `helpers.context?.prefix` to `config.prefix`
|
|
281
|
-
3. Context passed via mapper options becomes the `config` parameter
|
|
282
|
-
</details>
|
|
283
|
-
|
|
284
|
-
## Next Steps
|
|
285
|
-
|
|
286
|
-
Continue to [Module 2: Parameter Reference](./resolver-signature-02-parameter-reference.md) to learn what each parameter does and how to use them effectively.
|
|
1
|
+
# Module 1: Foundations
|
|
2
|
+
|
|
3
|
+
**Level:** Beginner
|
|
4
|
+
**Estimated Time:** 10 minutes
|
|
5
|
+
|
|
6
|
+
## Overview
|
|
7
|
+
|
|
8
|
+
This module introduces the standard 4-parameter resolver signature used consistently across ALL mappers in the Fluent Connect SDK. You'll understand why this signature exists and how it ensures predictability and ease of use.
|
|
9
|
+
|
|
10
|
+
## Learning Objectives
|
|
11
|
+
|
|
12
|
+
By the end of this module, you will:
|
|
13
|
+
- ✅ Understand the standard 4-parameter resolver signature
|
|
14
|
+
- ✅ Know why the SDK uses 4 parameters instead of 3
|
|
15
|
+
- ✅ Recognize how consistency benefits your development workflow
|
|
16
|
+
- ✅ Identify which mappers use this signature
|
|
17
|
+
|
|
18
|
+
## The Standard Resolver Signature
|
|
19
|
+
|
|
20
|
+
Every resolver function in the FC Connect SDK follows this exact signature:
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
type ResolverFunction = (
|
|
24
|
+
value: any, // Parameter 1: The field value being transformed
|
|
25
|
+
sourceData: any, // Parameter 2: Full source object for context
|
|
26
|
+
config: any, // Parameter 3: Resolver-specific configuration
|
|
27
|
+
helpers: ResolverHelpers // Parameter 4: SDK utilities and user context
|
|
28
|
+
) => any | Promise<any>;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Quick Example
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
// This signature works everywhere in the SDK
|
|
35
|
+
const customResolver = (value, sourceData, config, helpers) => {
|
|
36
|
+
// Transform the value
|
|
37
|
+
return String(value).toUpperCase();
|
|
38
|
+
};
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Why 4 Parameters?
|
|
42
|
+
|
|
43
|
+
The SDK evolved from a 3-parameter signature to the current 4-parameter design for critical architectural reasons:
|
|
44
|
+
|
|
45
|
+
### 1. Separation of Concerns
|
|
46
|
+
|
|
47
|
+
**Before (3 parameters):**
|
|
48
|
+
```typescript
|
|
49
|
+
// ❌ Configuration and helpers were mixed
|
|
50
|
+
(value, sourceData, helpers) => {
|
|
51
|
+
const taxRate = helpers.context?.taxRate; // Unclear source
|
|
52
|
+
return value * (1 + taxRate);
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**After (4 parameters):**
|
|
57
|
+
```typescript
|
|
58
|
+
// ✅ Clear separation: config for business rules, helpers for utilities
|
|
59
|
+
(value, sourceData, config, helpers) => {
|
|
60
|
+
const taxRate = config.taxRate; // Business rule
|
|
61
|
+
const safe = helpers.parseFloatSafe(value, 0); // Utility function
|
|
62
|
+
return safe * (1 + taxRate);
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 2. Type Safety
|
|
67
|
+
|
|
68
|
+
With dedicated parameters, TypeScript can provide better type inference:
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
interface ResolverHelpers {
|
|
72
|
+
// 48+ utility functions
|
|
73
|
+
get(obj: any, path: string): any;
|
|
74
|
+
parseFloatSafe(value: any, defaultValue: number): number;
|
|
75
|
+
formatDate(date: any, format?: string): string;
|
|
76
|
+
// ... 45 more
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// TypeScript knows exactly what's in helpers
|
|
80
|
+
(value, sourceData, config, helpers) => {
|
|
81
|
+
helpers.parseFloatSafe(value, 0); // ✅ Autocomplete works!
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 3. Predictability Across Mappers
|
|
86
|
+
|
|
87
|
+
The 4-parameter signature is used by BOTH major mappers:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import { UniversalMapper, GraphQLMutationMapper } from '@fluentcommerce/fc-connect-sdk';
|
|
91
|
+
|
|
92
|
+
// Define once
|
|
93
|
+
const resolvers = {
|
|
94
|
+
'custom.transform': (value, sourceData, config, helpers) => {
|
|
95
|
+
return String(value).toUpperCase();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
// Use everywhere
|
|
100
|
+
const mapper1 = new UniversalMapper(mapping, { customResolvers: resolvers });
|
|
101
|
+
const mapper2 = new GraphQLMutationMapper(mapping, { customResolvers: resolvers });
|
|
102
|
+
|
|
103
|
+
// Same signature, same behavior, zero surprises
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 4. Future-Proof Design
|
|
107
|
+
|
|
108
|
+
The 4-parameter design allows the SDK to grow without breaking changes:
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
// Today: config contains business rules
|
|
112
|
+
(value, sourceData, config, helpers) => {
|
|
113
|
+
const rate = config.taxRate;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Tomorrow: SDK can add more to config without breaking your code
|
|
117
|
+
(value, sourceData, config, helpers) => {
|
|
118
|
+
const rate = config.taxRate;
|
|
119
|
+
const region = config.region; // New field added by SDK
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Consistency Across the SDK
|
|
124
|
+
|
|
125
|
+
### Used by ALL Mappers
|
|
126
|
+
|
|
127
|
+
| Mapper | Purpose | Uses 4-Param Signature |
|
|
128
|
+
|--------|---------|----------------------|
|
|
129
|
+
| **UniversalMapper** | CSV/JSON/Parquet/XML transformations | ✅ Yes |
|
|
130
|
+
| **GraphQLMutationMapper** | XML/JSON → GraphQL mutations | ✅ Yes |
|
|
131
|
+
|
|
132
|
+
### Used by SDK Resolvers
|
|
133
|
+
|
|
134
|
+
All built-in SDK resolvers follow the same signature:
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
// SDK resolver: sdk.parseFloat
|
|
138
|
+
'sdk.parseFloat': (value, sourceData, config, helpers) => {
|
|
139
|
+
return helpers.parseFloatSafe(value, 0);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Your custom resolver: custom.parseFloat
|
|
143
|
+
'custom.parseFloat': (value, sourceData, config, helpers) => {
|
|
144
|
+
return helpers.parseFloatSafe(value, 0);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Identical signature = consistent behavior
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## What This Means for You
|
|
151
|
+
|
|
152
|
+
### As a Developer
|
|
153
|
+
|
|
154
|
+
**You write resolvers once, use them everywhere:**
|
|
155
|
+
```typescript
|
|
156
|
+
const resolvers = {
|
|
157
|
+
'custom.formatSKU': (value, sourceData, config, helpers) => {
|
|
158
|
+
return `${config.prefix}-${value}`;
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
// Works in CSV ingestion
|
|
163
|
+
const csvMapper = new UniversalMapper(csvMapping, {
|
|
164
|
+
customResolvers: resolvers,
|
|
165
|
+
context: { prefix: 'CSV' }
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
// Works in XML order processing
|
|
169
|
+
const xmlMapper = new GraphQLMutationMapper(xmlMapping, {
|
|
170
|
+
customResolvers: resolvers,
|
|
171
|
+
context: { prefix: 'XML' }
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
// Works in Parquet extraction
|
|
175
|
+
const parquetMapper = new UniversalMapper(parquetMapping, {
|
|
176
|
+
customResolvers: resolvers,
|
|
177
|
+
context: { prefix: 'PQT' }
|
|
178
|
+
});
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### As a Team
|
|
182
|
+
|
|
183
|
+
**Everyone learns one pattern:**
|
|
184
|
+
- New developers learn 4 parameters once
|
|
185
|
+
- Code reviews check for 4 parameters
|
|
186
|
+
- Testing frameworks expect 4 parameters
|
|
187
|
+
- Documentation consistently shows 4 parameters
|
|
188
|
+
|
|
189
|
+
### As a System
|
|
190
|
+
|
|
191
|
+
**The SDK is predictable:**
|
|
192
|
+
- Error messages reference the same parameters
|
|
193
|
+
- Debugging tools understand the signature
|
|
194
|
+
- Type systems enforce consistency
|
|
195
|
+
- Performance optimizations work uniformly
|
|
196
|
+
|
|
197
|
+
## Real-World Analogy
|
|
198
|
+
|
|
199
|
+
Think of the 4-parameter signature like a standardized electrical outlet:
|
|
200
|
+
|
|
201
|
+
**Without Standard (3-param, varies):**
|
|
202
|
+
- Every resolver has different parameters
|
|
203
|
+
- Need adapters to share resolvers between mappers
|
|
204
|
+
- Hard to remember which parameter order is correct
|
|
205
|
+
- Type safety is difficult to enforce
|
|
206
|
+
|
|
207
|
+
**With Standard (4-param, consistent):**
|
|
208
|
+
- Every resolver uses the same "plug shape"
|
|
209
|
+
- Resolvers work in any mapper "socket"
|
|
210
|
+
- Clear documentation applies universally
|
|
211
|
+
- TypeScript enforces correct usage automatically
|
|
212
|
+
|
|
213
|
+
## Quick Reference
|
|
214
|
+
|
|
215
|
+
```typescript
|
|
216
|
+
// ✅ ALWAYS use this signature
|
|
217
|
+
(value, sourceData, config, helpers) => {
|
|
218
|
+
// Your transformation logic
|
|
219
|
+
return transformedValue;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// ❌ NEVER use these variations
|
|
223
|
+
(value, helpers) => { ... } // Missing parameters
|
|
224
|
+
(value, sourceData, helpers) => { ... } // Old 3-param style
|
|
225
|
+
(val, src, cfg, hlp) => { ... } // Non-standard names
|
|
226
|
+
(value, config, sourceData, helpers) => { ... } // Wrong parameter order
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Parameter Preview
|
|
230
|
+
|
|
231
|
+
Here's a quick preview of each parameter (covered in detail in Module 2):
|
|
232
|
+
|
|
233
|
+
1. **value** - The extracted field value to transform
|
|
234
|
+
2. **sourceData** - Complete source object for accessing related fields
|
|
235
|
+
3. **config** - Business rules and configuration passed to the mapper
|
|
236
|
+
4. **helpers** - 48+ SDK utility functions plus fluentClient and logger
|
|
237
|
+
|
|
238
|
+
## Key Takeaways
|
|
239
|
+
|
|
240
|
+
- 🎯 **Standard Signature**: `(value, sourceData, config, helpers) => any`
|
|
241
|
+
- 🎯 **Used Everywhere**: UniversalMapper AND GraphQLMutationMapper
|
|
242
|
+
- 🎯 **Consistent Behavior**: Same signature = same mental model
|
|
243
|
+
- 🎯 **Type Safe**: TypeScript enforces correct usage
|
|
244
|
+
- 🎯 **Future Proof**: Design allows growth without breaking changes
|
|
245
|
+
|
|
246
|
+
## Practice Exercise
|
|
247
|
+
|
|
248
|
+
Convert this old 3-parameter resolver to the new 4-parameter signature:
|
|
249
|
+
|
|
250
|
+
```typescript
|
|
251
|
+
// OLD (3 parameters)
|
|
252
|
+
const oldResolver = (value, sourceData, helpers) => {
|
|
253
|
+
const prefix = helpers.context?.prefix || 'SKU';
|
|
254
|
+
return `${prefix}-${value}`;
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
// YOUR TASK: Convert to 4 parameters
|
|
258
|
+
// HINT: Move context access to config parameter
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
<details>
|
|
262
|
+
<summary>Show Solution</summary>
|
|
263
|
+
|
|
264
|
+
```typescript
|
|
265
|
+
// NEW (4 parameters)
|
|
266
|
+
const newResolver = (value, sourceData, config, helpers) => {
|
|
267
|
+
const prefix = config.prefix || 'SKU';
|
|
268
|
+
return `${prefix}-${value}`;
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
// Usage with mapper
|
|
272
|
+
const mapper = new UniversalMapper(mapping, {
|
|
273
|
+
customResolvers: { 'custom.format': newResolver },
|
|
274
|
+
context: { prefix: 'PROD' } // Becomes 'config' parameter
|
|
275
|
+
});
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Key changes:**
|
|
279
|
+
1. Added `config` parameter (3rd position)
|
|
280
|
+
2. Changed `helpers.context?.prefix` to `config.prefix`
|
|
281
|
+
3. Context passed via mapper options becomes the `config` parameter
|
|
282
|
+
</details>
|
|
283
|
+
|
|
284
|
+
## Next Steps
|
|
285
|
+
|
|
286
|
+
Continue to [Module 2: Parameter Reference](./resolver-signature-02-parameter-reference.md) to learn what each parameter does and how to use them effectively.
|