@celigo/api-specs 0.2.198 → 0.2.200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-agent.yml +82 -30
- package/dist/api.yml +82 -30
- package/dist/asynchelper.yml +82 -30
- package/dist/export.yml +82 -30
- package/dist/import.yml +100 -36
- package/dist/tool.yml +100 -36
- package/package.json +1 -1
- package/schemas.json +2 -2
package/dist/ai-agent.yml
CHANGED
|
@@ -2831,28 +2831,51 @@ components:
|
|
|
2831
2831
|
|
|
2832
2832
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
2833
2833
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
2834
|
-
action).
|
|
2835
|
-
|
|
2836
|
-
while a null source is still written
|
|
2837
|
-
`extract_not_empty`. Failing the record instead is
|
|
2838
|
-
fail_record_when_empty`, which excludes a default.
|
|
2834
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
2835
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
2836
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
2837
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
2838
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
2839
|
+
|
|
2840
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
2841
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
2842
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
2843
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
2844
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
2845
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
2846
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
2839
2847
|
x-celigo-ai-guidance:
|
|
2840
2848
|
- |-
|
|
2841
2849
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
2842
2850
|
absent keys: null renders the destination field as JSON null and the
|
|
2843
2851
|
empty string renders it as `""` when the extract yields nothing.
|
|
2844
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
2845
|
-
the
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
`conditional.when` is
|
|
2852
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
2853
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
2854
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
2855
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
2856
|
+
null source is written as null unless `conditional.when` is
|
|
2857
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
2858
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
2859
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
2860
|
+
with null.
|
|
2849
2861
|
- |-
|
|
2850
2862
|
The four "Action to take if source field has no value" choices map to:
|
|
2851
|
-
do nothing → no `default` key
|
|
2852
|
-
|
|
2853
|
-
source is written as null); use null →
|
|
2854
|
-
|
|
2863
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
2864
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
2865
|
+
be omitted, but a null source is then still written as null); use null →
|
|
2866
|
+
`"default": null`; use empty string or a custom value →
|
|
2867
|
+
`"default": "<value>"`; cause the record to fail →
|
|
2855
2868
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
2869
|
+
- |-
|
|
2870
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
2871
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
2872
|
+
after the save — create or update — so the destination is written as
|
|
2873
|
+
null; never express "Do nothing" by omission there. A stored
|
|
2874
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
2875
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
2876
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
2877
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
2878
|
+
present in mapping simultaneously.`
|
|
2856
2879
|
examples:
|
|
2857
2880
|
- N/A
|
|
2858
2881
|
- '0'
|
|
@@ -3259,7 +3282,10 @@ components:
|
|
|
3259
3282
|
not found in the input data.
|
|
3260
3283
|
|
|
3261
3284
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
3262
|
-
JSON null); omitting the key means no fallback is applied
|
|
3285
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
3286
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
3287
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
3288
|
+
does on leaf rows.
|
|
3263
3289
|
examples:
|
|
3264
3290
|
- N/A
|
|
3265
3291
|
- '0'
|
|
@@ -3929,28 +3955,51 @@ components:
|
|
|
3929
3955
|
|
|
3930
3956
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
3931
3957
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
3932
|
-
action).
|
|
3933
|
-
|
|
3934
|
-
while a null source is still written
|
|
3935
|
-
`extract_not_empty`. Failing the record instead is
|
|
3936
|
-
fail_record_when_empty`, which excludes a default.
|
|
3958
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
3959
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
3960
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
3961
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
3962
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
3963
|
+
|
|
3964
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
3965
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
3966
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
3967
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
3968
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
3969
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
3970
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
3937
3971
|
x-celigo-ai-guidance:
|
|
3938
3972
|
- |-
|
|
3939
3973
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
3940
3974
|
absent keys: null renders the destination field as JSON null and the
|
|
3941
3975
|
empty string renders it as `""` when the extract yields nothing.
|
|
3942
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
3943
|
-
the
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
`conditional.when` is
|
|
3976
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
3977
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
3978
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
3979
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
3980
|
+
null source is written as null unless `conditional.when` is
|
|
3981
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
3982
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
3983
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
3984
|
+
with null.
|
|
3947
3985
|
- |-
|
|
3948
3986
|
The four "Action to take if source field has no value" choices map to:
|
|
3949
|
-
do nothing → no `default` key
|
|
3950
|
-
|
|
3951
|
-
source is written as null); use null →
|
|
3952
|
-
|
|
3987
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
3988
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
3989
|
+
be omitted, but a null source is then still written as null); use null →
|
|
3990
|
+
`"default": null`; use empty string or a custom value →
|
|
3991
|
+
`"default": "<value>"`; cause the record to fail →
|
|
3953
3992
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
3993
|
+
- |-
|
|
3994
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
3995
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
3996
|
+
after the save — create or update — so the destination is written as
|
|
3997
|
+
null; never express "Do nothing" by omission there. A stored
|
|
3998
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
3999
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
4000
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
4001
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
4002
|
+
present in mapping simultaneously.`
|
|
3954
4003
|
examples:
|
|
3955
4004
|
- N/A
|
|
3956
4005
|
- '0'
|
|
@@ -4357,7 +4406,10 @@ components:
|
|
|
4357
4406
|
not found in the input data.
|
|
4358
4407
|
|
|
4359
4408
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
4360
|
-
JSON null); omitting the key means no fallback is applied
|
|
4409
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
4410
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
4411
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
4412
|
+
does on leaf rows.
|
|
4361
4413
|
examples:
|
|
4362
4414
|
- N/A
|
|
4363
4415
|
- '0'
|
package/dist/api.yml
CHANGED
|
@@ -2909,28 +2909,51 @@ components:
|
|
|
2909
2909
|
|
|
2910
2910
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
2911
2911
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
2912
|
-
action).
|
|
2913
|
-
|
|
2914
|
-
while a null source is still written
|
|
2915
|
-
`extract_not_empty`. Failing the record instead is
|
|
2916
|
-
fail_record_when_empty`, which excludes a default.
|
|
2912
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
2913
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
2914
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
2915
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
2916
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
2917
|
+
|
|
2918
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
2919
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
2920
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
2921
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
2922
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
2923
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
2924
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
2917
2925
|
x-celigo-ai-guidance:
|
|
2918
2926
|
- |-
|
|
2919
2927
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
2920
2928
|
absent keys: null renders the destination field as JSON null and the
|
|
2921
2929
|
empty string renders it as `""` when the extract yields nothing.
|
|
2922
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
2923
|
-
the
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
`conditional.when` is
|
|
2930
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
2931
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
2932
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
2933
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
2934
|
+
null source is written as null unless `conditional.when` is
|
|
2935
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
2936
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
2937
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
2938
|
+
with null.
|
|
2927
2939
|
- |-
|
|
2928
2940
|
The four "Action to take if source field has no value" choices map to:
|
|
2929
|
-
do nothing → no `default` key
|
|
2930
|
-
|
|
2931
|
-
source is written as null); use null →
|
|
2932
|
-
|
|
2941
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
2942
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
2943
|
+
be omitted, but a null source is then still written as null); use null →
|
|
2944
|
+
`"default": null`; use empty string or a custom value →
|
|
2945
|
+
`"default": "<value>"`; cause the record to fail →
|
|
2933
2946
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
2947
|
+
- |-
|
|
2948
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
2949
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
2950
|
+
after the save — create or update — so the destination is written as
|
|
2951
|
+
null; never express "Do nothing" by omission there. A stored
|
|
2952
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
2953
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
2954
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
2955
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
2956
|
+
present in mapping simultaneously.`
|
|
2934
2957
|
examples:
|
|
2935
2958
|
- N/A
|
|
2936
2959
|
- '0'
|
|
@@ -3337,7 +3360,10 @@ components:
|
|
|
3337
3360
|
not found in the input data.
|
|
3338
3361
|
|
|
3339
3362
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
3340
|
-
JSON null); omitting the key means no fallback is applied
|
|
3363
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
3364
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
3365
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
3366
|
+
does on leaf rows.
|
|
3341
3367
|
examples:
|
|
3342
3368
|
- N/A
|
|
3343
3369
|
- '0'
|
|
@@ -4007,28 +4033,51 @@ components:
|
|
|
4007
4033
|
|
|
4008
4034
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
4009
4035
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
4010
|
-
action).
|
|
4011
|
-
|
|
4012
|
-
while a null source is still written
|
|
4013
|
-
`extract_not_empty`. Failing the record instead is
|
|
4014
|
-
fail_record_when_empty`, which excludes a default.
|
|
4036
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
4037
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
4038
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
4039
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
4040
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
4041
|
+
|
|
4042
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
4043
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
4044
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
4045
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
4046
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
4047
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
4048
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
4015
4049
|
x-celigo-ai-guidance:
|
|
4016
4050
|
- |-
|
|
4017
4051
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
4018
4052
|
absent keys: null renders the destination field as JSON null and the
|
|
4019
4053
|
empty string renders it as `""` when the extract yields nothing.
|
|
4020
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
4021
|
-
the
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
`conditional.when` is
|
|
4054
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
4055
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
4056
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
4057
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
4058
|
+
null source is written as null unless `conditional.when` is
|
|
4059
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
4060
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
4061
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
4062
|
+
with null.
|
|
4025
4063
|
- |-
|
|
4026
4064
|
The four "Action to take if source field has no value" choices map to:
|
|
4027
|
-
do nothing → no `default` key
|
|
4028
|
-
|
|
4029
|
-
source is written as null); use null →
|
|
4030
|
-
|
|
4065
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
4066
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
4067
|
+
be omitted, but a null source is then still written as null); use null →
|
|
4068
|
+
`"default": null`; use empty string or a custom value →
|
|
4069
|
+
`"default": "<value>"`; cause the record to fail →
|
|
4031
4070
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
4071
|
+
- |-
|
|
4072
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
4073
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
4074
|
+
after the save — create or update — so the destination is written as
|
|
4075
|
+
null; never express "Do nothing" by omission there. A stored
|
|
4076
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
4077
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
4078
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
4079
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
4080
|
+
present in mapping simultaneously.`
|
|
4032
4081
|
examples:
|
|
4033
4082
|
- N/A
|
|
4034
4083
|
- '0'
|
|
@@ -4435,7 +4484,10 @@ components:
|
|
|
4435
4484
|
not found in the input data.
|
|
4436
4485
|
|
|
4437
4486
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
4438
|
-
JSON null); omitting the key means no fallback is applied
|
|
4487
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
4488
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
4489
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
4490
|
+
does on leaf rows.
|
|
4439
4491
|
examples:
|
|
4440
4492
|
- N/A
|
|
4441
4493
|
- '0'
|
package/dist/asynchelper.yml
CHANGED
|
@@ -805,28 +805,51 @@ components:
|
|
|
805
805
|
|
|
806
806
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
807
807
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
808
|
-
action).
|
|
809
|
-
|
|
810
|
-
while a null source is still written
|
|
811
|
-
`extract_not_empty`. Failing the record instead is
|
|
812
|
-
fail_record_when_empty`, which excludes a default.
|
|
808
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
809
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
810
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
811
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
812
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
813
|
+
|
|
814
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
815
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
816
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
817
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
818
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
819
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
820
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
813
821
|
x-celigo-ai-guidance:
|
|
814
822
|
- |-
|
|
815
823
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
816
824
|
absent keys: null renders the destination field as JSON null and the
|
|
817
825
|
empty string renders it as `""` when the extract yields nothing.
|
|
818
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
819
|
-
the
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
`conditional.when` is
|
|
826
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
827
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
828
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
829
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
830
|
+
null source is written as null unless `conditional.when` is
|
|
831
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
832
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
833
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
834
|
+
with null.
|
|
823
835
|
- |-
|
|
824
836
|
The four "Action to take if source field has no value" choices map to:
|
|
825
|
-
do nothing → no `default` key
|
|
826
|
-
|
|
827
|
-
source is written as null); use null →
|
|
828
|
-
|
|
837
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
838
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
839
|
+
be omitted, but a null source is then still written as null); use null →
|
|
840
|
+
`"default": null`; use empty string or a custom value →
|
|
841
|
+
`"default": "<value>"`; cause the record to fail →
|
|
829
842
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
843
|
+
- |-
|
|
844
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
845
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
846
|
+
after the save — create or update — so the destination is written as
|
|
847
|
+
null; never express "Do nothing" by omission there. A stored
|
|
848
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
849
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
850
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
851
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
852
|
+
present in mapping simultaneously.`
|
|
830
853
|
examples:
|
|
831
854
|
- N/A
|
|
832
855
|
- '0'
|
|
@@ -1233,7 +1256,10 @@ components:
|
|
|
1233
1256
|
not found in the input data.
|
|
1234
1257
|
|
|
1235
1258
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
1236
|
-
JSON null); omitting the key means no fallback is applied
|
|
1259
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
1260
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
1261
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
1262
|
+
does on leaf rows.
|
|
1237
1263
|
examples:
|
|
1238
1264
|
- N/A
|
|
1239
1265
|
- '0'
|
|
@@ -1903,28 +1929,51 @@ components:
|
|
|
1903
1929
|
|
|
1904
1930
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
1905
1931
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
1906
|
-
action).
|
|
1907
|
-
|
|
1908
|
-
while a null source is still written
|
|
1909
|
-
`extract_not_empty`. Failing the record instead is
|
|
1910
|
-
fail_record_when_empty`, which excludes a default.
|
|
1932
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
1933
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
1934
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
1935
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
1936
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
1937
|
+
|
|
1938
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
1939
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
1940
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
1941
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
1942
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
1943
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
1944
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
1911
1945
|
x-celigo-ai-guidance:
|
|
1912
1946
|
- |-
|
|
1913
1947
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
1914
1948
|
absent keys: null renders the destination field as JSON null and the
|
|
1915
1949
|
empty string renders it as `""` when the extract yields nothing.
|
|
1916
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
1917
|
-
the
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
`conditional.when` is
|
|
1950
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
1951
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
1952
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
1953
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
1954
|
+
null source is written as null unless `conditional.when` is
|
|
1955
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
1956
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
1957
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
1958
|
+
with null.
|
|
1921
1959
|
- |-
|
|
1922
1960
|
The four "Action to take if source field has no value" choices map to:
|
|
1923
|
-
do nothing → no `default` key
|
|
1924
|
-
|
|
1925
|
-
source is written as null); use null →
|
|
1926
|
-
|
|
1961
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
1962
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
1963
|
+
be omitted, but a null source is then still written as null); use null →
|
|
1964
|
+
`"default": null`; use empty string or a custom value →
|
|
1965
|
+
`"default": "<value>"`; cause the record to fail →
|
|
1927
1966
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
1967
|
+
- |-
|
|
1968
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
1969
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
1970
|
+
after the save — create or update — so the destination is written as
|
|
1971
|
+
null; never express "Do nothing" by omission there. A stored
|
|
1972
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
1973
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
1974
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
1975
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
1976
|
+
present in mapping simultaneously.`
|
|
1928
1977
|
examples:
|
|
1929
1978
|
- N/A
|
|
1930
1979
|
- '0'
|
|
@@ -2331,7 +2380,10 @@ components:
|
|
|
2331
2380
|
not found in the input data.
|
|
2332
2381
|
|
|
2333
2382
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
2334
|
-
JSON null); omitting the key means no fallback is applied
|
|
2383
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
2384
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
2385
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
2386
|
+
does on leaf rows.
|
|
2335
2387
|
examples:
|
|
2336
2388
|
- N/A
|
|
2337
2389
|
- '0'
|
package/dist/export.yml
CHANGED
|
@@ -12979,28 +12979,51 @@ components:
|
|
|
12979
12979
|
|
|
12980
12980
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
12981
12981
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
12982
|
-
action).
|
|
12983
|
-
|
|
12984
|
-
while a null source is still written
|
|
12985
|
-
`extract_not_empty`. Failing the record instead is
|
|
12986
|
-
fail_record_when_empty`, which excludes a default.
|
|
12982
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
12983
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
12984
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
12985
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
12986
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
12987
|
+
|
|
12988
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
12989
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
12990
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
12991
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
12992
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
12993
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
12994
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
12987
12995
|
x-celigo-ai-guidance:
|
|
12988
12996
|
- |-
|
|
12989
12997
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
12990
12998
|
absent keys: null renders the destination field as JSON null and the
|
|
12991
12999
|
empty string renders it as `""` when the extract yields nothing.
|
|
12992
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
12993
|
-
the
|
|
12994
|
-
|
|
12995
|
-
|
|
12996
|
-
`conditional.when` is
|
|
13000
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
13001
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
13002
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
13003
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
13004
|
+
null source is written as null unless `conditional.when` is
|
|
13005
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
13006
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
13007
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
13008
|
+
with null.
|
|
12997
13009
|
- |-
|
|
12998
13010
|
The four "Action to take if source field has no value" choices map to:
|
|
12999
|
-
do nothing → no `default` key
|
|
13000
|
-
|
|
13001
|
-
source is written as null); use null →
|
|
13002
|
-
|
|
13011
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
13012
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
13013
|
+
be omitted, but a null source is then still written as null); use null →
|
|
13014
|
+
`"default": null`; use empty string or a custom value →
|
|
13015
|
+
`"default": "<value>"`; cause the record to fail →
|
|
13003
13016
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
13017
|
+
- |-
|
|
13018
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
13019
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
13020
|
+
after the save — create or update — so the destination is written as
|
|
13021
|
+
null; never express "Do nothing" by omission there. A stored
|
|
13022
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
13023
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
13024
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
13025
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
13026
|
+
present in mapping simultaneously.`
|
|
13004
13027
|
examples:
|
|
13005
13028
|
- N/A
|
|
13006
13029
|
- '0'
|
|
@@ -13407,7 +13430,10 @@ components:
|
|
|
13407
13430
|
not found in the input data.
|
|
13408
13431
|
|
|
13409
13432
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
13410
|
-
JSON null); omitting the key means no fallback is applied
|
|
13433
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
13434
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
13435
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
13436
|
+
does on leaf rows.
|
|
13411
13437
|
examples:
|
|
13412
13438
|
- N/A
|
|
13413
13439
|
- '0'
|
|
@@ -14077,28 +14103,51 @@ components:
|
|
|
14077
14103
|
|
|
14078
14104
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
14079
14105
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
14080
|
-
action).
|
|
14081
|
-
|
|
14082
|
-
while a null source is still written
|
|
14083
|
-
`extract_not_empty`. Failing the record instead is
|
|
14084
|
-
fail_record_when_empty`, which excludes a default.
|
|
14106
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
14107
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
14108
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
14109
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
14110
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
14111
|
+
|
|
14112
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
14113
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
14114
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
14115
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
14116
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
14117
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
14118
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
14085
14119
|
x-celigo-ai-guidance:
|
|
14086
14120
|
- |-
|
|
14087
14121
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
14088
14122
|
absent keys: null renders the destination field as JSON null and the
|
|
14089
14123
|
empty string renders it as `""` when the extract yields nothing.
|
|
14090
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
14091
|
-
the
|
|
14092
|
-
|
|
14093
|
-
|
|
14094
|
-
`conditional.when` is
|
|
14124
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
14125
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
14126
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
14127
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
14128
|
+
null source is written as null unless `conditional.when` is
|
|
14129
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
14130
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
14131
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
14132
|
+
with null.
|
|
14095
14133
|
- |-
|
|
14096
14134
|
The four "Action to take if source field has no value" choices map to:
|
|
14097
|
-
do nothing → no `default` key
|
|
14098
|
-
|
|
14099
|
-
source is written as null); use null →
|
|
14100
|
-
|
|
14135
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
14136
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
14137
|
+
be omitted, but a null source is then still written as null); use null →
|
|
14138
|
+
`"default": null`; use empty string or a custom value →
|
|
14139
|
+
`"default": "<value>"`; cause the record to fail →
|
|
14101
14140
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
14141
|
+
- |-
|
|
14142
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
14143
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
14144
|
+
after the save — create or update — so the destination is written as
|
|
14145
|
+
null; never express "Do nothing" by omission there. A stored
|
|
14146
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
14147
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
14148
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
14149
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
14150
|
+
present in mapping simultaneously.`
|
|
14102
14151
|
examples:
|
|
14103
14152
|
- N/A
|
|
14104
14153
|
- '0'
|
|
@@ -14505,7 +14554,10 @@ components:
|
|
|
14505
14554
|
not found in the input data.
|
|
14506
14555
|
|
|
14507
14556
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
14508
|
-
JSON null); omitting the key means no fallback is applied
|
|
14557
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
14558
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
14559
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
14560
|
+
does on leaf rows.
|
|
14509
14561
|
examples:
|
|
14510
14562
|
- N/A
|
|
14511
14563
|
- '0'
|
package/dist/import.yml
CHANGED
|
@@ -4160,10 +4160,17 @@ components:
|
|
|
4160
4160
|
- string
|
|
4161
4161
|
- 'null'
|
|
4162
4162
|
description: |
|
|
4163
|
-
Path in the source record to extract the value from
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4163
|
+
Path in the source record to extract the value from, in
|
|
4164
|
+
dot notation for nested fields (e.g., "address.city").
|
|
4165
|
+
A bare string is always read as a path, never as a
|
|
4166
|
+
constant — a path that matches no field sets the
|
|
4167
|
+
destination field to an empty string (""), written,
|
|
4168
|
+
not omitted and not the path text, and `discardIfEmpty`
|
|
4169
|
+
is what skips it; constants belong in `hardCodedValue`,
|
|
4170
|
+
and the platform stores `null` here on fields driven by
|
|
4171
|
+
it. A Handlebars template (contains `{{`) reads the
|
|
4172
|
+
record's fields by bare name; `{{record.<field>}}`
|
|
4173
|
+
renders an empty string, not the value.
|
|
4167
4174
|
examples:
|
|
4168
4175
|
- address.city
|
|
4169
4176
|
generate:
|
|
@@ -4410,9 +4417,14 @@ components:
|
|
|
4410
4417
|
Path from the source record root that produces
|
|
4411
4418
|
the value for this sublist column. Paths are
|
|
4412
4419
|
always anchored at the source record root —
|
|
4413
|
-
never relative to a pre-iterated row
|
|
4420
|
+
never relative to a pre-iterated row — and a
|
|
4421
|
+
bare string is always read as a path, never as a
|
|
4422
|
+
constant: a path that matches no field leaves the
|
|
4423
|
+
column absent from every line (unlike a body
|
|
4424
|
+
field, which is set to ""), never the text
|
|
4425
|
+
itself. Constants belong in `hardCodedValue`; the
|
|
4414
4426
|
platform stores `null` here on fields driven by
|
|
4415
|
-
|
|
4427
|
+
it.
|
|
4416
4428
|
x-celigo-ai-guidance:
|
|
4417
4429
|
- |-
|
|
4418
4430
|
Two extract patterns, often mixed in the same
|
|
@@ -13177,28 +13189,51 @@ components:
|
|
|
13177
13189
|
|
|
13178
13190
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
13179
13191
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
13180
|
-
action).
|
|
13181
|
-
|
|
13182
|
-
while a null source is still written
|
|
13183
|
-
`extract_not_empty`. Failing the record instead is
|
|
13184
|
-
fail_record_when_empty`, which excludes a default.
|
|
13192
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
13193
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
13194
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
13195
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
13196
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
13197
|
+
|
|
13198
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
13199
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
13200
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
13201
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
13202
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
13203
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
13204
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
13185
13205
|
x-celigo-ai-guidance:
|
|
13186
13206
|
- |-
|
|
13187
13207
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
13188
13208
|
absent keys: null renders the destination field as JSON null and the
|
|
13189
13209
|
empty string renders it as `""` when the extract yields nothing.
|
|
13190
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
13191
|
-
the
|
|
13192
|
-
|
|
13193
|
-
|
|
13194
|
-
`conditional.when` is
|
|
13210
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
13211
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
13212
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
13213
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
13214
|
+
null source is written as null unless `conditional.when` is
|
|
13215
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
13216
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
13217
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
13218
|
+
with null.
|
|
13195
13219
|
- |-
|
|
13196
13220
|
The four "Action to take if source field has no value" choices map to:
|
|
13197
|
-
do nothing → no `default` key
|
|
13198
|
-
|
|
13199
|
-
source is written as null); use null →
|
|
13200
|
-
|
|
13221
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
13222
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
13223
|
+
be omitted, but a null source is then still written as null); use null →
|
|
13224
|
+
`"default": null`; use empty string or a custom value →
|
|
13225
|
+
`"default": "<value>"`; cause the record to fail →
|
|
13201
13226
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
13227
|
+
- |-
|
|
13228
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
13229
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
13230
|
+
after the save — create or update — so the destination is written as
|
|
13231
|
+
null; never express "Do nothing" by omission there. A stored
|
|
13232
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
13233
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
13234
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
13235
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
13236
|
+
present in mapping simultaneously.`
|
|
13202
13237
|
examples:
|
|
13203
13238
|
- N/A
|
|
13204
13239
|
- '0'
|
|
@@ -13605,7 +13640,10 @@ components:
|
|
|
13605
13640
|
not found in the input data.
|
|
13606
13641
|
|
|
13607
13642
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
13608
|
-
JSON null); omitting the key means no fallback is applied
|
|
13643
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
13644
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
13645
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
13646
|
+
does on leaf rows.
|
|
13609
13647
|
examples:
|
|
13610
13648
|
- N/A
|
|
13611
13649
|
- '0'
|
|
@@ -14275,28 +14313,51 @@ components:
|
|
|
14275
14313
|
|
|
14276
14314
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
14277
14315
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
14278
|
-
action).
|
|
14279
|
-
|
|
14280
|
-
while a null source is still written
|
|
14281
|
-
`extract_not_empty`. Failing the record instead is
|
|
14282
|
-
fail_record_when_empty`, which excludes a default.
|
|
14316
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
14317
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
14318
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
14319
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
14320
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
14321
|
+
|
|
14322
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
14323
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
14324
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
14325
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
14326
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
14327
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
14328
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
14283
14329
|
x-celigo-ai-guidance:
|
|
14284
14330
|
- |-
|
|
14285
14331
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
14286
14332
|
absent keys: null renders the destination field as JSON null and the
|
|
14287
14333
|
empty string renders it as `""` when the extract yields nothing.
|
|
14288
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
14289
|
-
the
|
|
14290
|
-
|
|
14291
|
-
|
|
14292
|
-
`conditional.when` is
|
|
14334
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
14335
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
14336
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
14337
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
14338
|
+
null source is written as null unless `conditional.when` is
|
|
14339
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
14340
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
14341
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
14342
|
+
with null.
|
|
14293
14343
|
- |-
|
|
14294
14344
|
The four "Action to take if source field has no value" choices map to:
|
|
14295
|
-
do nothing → no `default` key
|
|
14296
|
-
|
|
14297
|
-
source is written as null); use null →
|
|
14298
|
-
|
|
14345
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
14346
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
14347
|
+
be omitted, but a null source is then still written as null); use null →
|
|
14348
|
+
`"default": null`; use empty string or a custom value →
|
|
14349
|
+
`"default": "<value>"`; cause the record to fail →
|
|
14299
14350
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
14351
|
+
- |-
|
|
14352
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
14353
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
14354
|
+
after the save — create or update — so the destination is written as
|
|
14355
|
+
null; never express "Do nothing" by omission there. A stored
|
|
14356
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
14357
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
14358
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
14359
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
14360
|
+
present in mapping simultaneously.`
|
|
14300
14361
|
examples:
|
|
14301
14362
|
- N/A
|
|
14302
14363
|
- '0'
|
|
@@ -14703,7 +14764,10 @@ components:
|
|
|
14703
14764
|
not found in the input data.
|
|
14704
14765
|
|
|
14705
14766
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
14706
|
-
JSON null); omitting the key means no fallback is applied
|
|
14767
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
14768
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
14769
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
14770
|
+
does on leaf rows.
|
|
14707
14771
|
examples:
|
|
14708
14772
|
- N/A
|
|
14709
14773
|
- '0'
|
package/dist/tool.yml
CHANGED
|
@@ -3849,28 +3849,51 @@ components:
|
|
|
3849
3849
|
|
|
3850
3850
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
3851
3851
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
3852
|
-
action).
|
|
3853
|
-
|
|
3854
|
-
while a null source is still written
|
|
3855
|
-
`extract_not_empty`. Failing the record instead is
|
|
3856
|
-
fail_record_when_empty`, which excludes a default.
|
|
3852
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
3853
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
3854
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
3855
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
3856
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
3857
|
+
|
|
3858
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
3859
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
3860
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
3861
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
3862
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
3863
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
3864
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
3857
3865
|
x-celigo-ai-guidance:
|
|
3858
3866
|
- |-
|
|
3859
3867
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
3860
3868
|
absent keys: null renders the destination field as JSON null and the
|
|
3861
3869
|
empty string renders it as `""` when the extract yields nothing.
|
|
3862
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
3863
|
-
the
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
`conditional.when` is
|
|
3870
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
3871
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
3872
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
3873
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
3874
|
+
null source is written as null unless `conditional.when` is
|
|
3875
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
3876
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
3877
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
3878
|
+
with null.
|
|
3867
3879
|
- |-
|
|
3868
3880
|
The four "Action to take if source field has no value" choices map to:
|
|
3869
|
-
do nothing → no `default` key
|
|
3870
|
-
|
|
3871
|
-
source is written as null); use null →
|
|
3872
|
-
|
|
3881
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
3882
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
3883
|
+
be omitted, but a null source is then still written as null); use null →
|
|
3884
|
+
`"default": null`; use empty string or a custom value →
|
|
3885
|
+
`"default": "<value>"`; cause the record to fail →
|
|
3873
3886
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
3887
|
+
- |-
|
|
3888
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
3889
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
3890
|
+
after the save — create or update — so the destination is written as
|
|
3891
|
+
null; never express "Do nothing" by omission there. A stored
|
|
3892
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
3893
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
3894
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
3895
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
3896
|
+
present in mapping simultaneously.`
|
|
3874
3897
|
examples:
|
|
3875
3898
|
- N/A
|
|
3876
3899
|
- '0'
|
|
@@ -4277,7 +4300,10 @@ components:
|
|
|
4277
4300
|
not found in the input data.
|
|
4278
4301
|
|
|
4279
4302
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
4280
|
-
JSON null); omitting the key means no fallback is applied
|
|
4303
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
4304
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
4305
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
4306
|
+
does on leaf rows.
|
|
4281
4307
|
examples:
|
|
4282
4308
|
- N/A
|
|
4283
4309
|
- '0'
|
|
@@ -4947,28 +4973,51 @@ components:
|
|
|
4947
4973
|
|
|
4948
4974
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
4949
4975
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
4950
|
-
action).
|
|
4951
|
-
|
|
4952
|
-
while a null source is still written
|
|
4953
|
-
`extract_not_empty`. Failing the record instead is
|
|
4954
|
-
fail_record_when_empty`, which excludes a default.
|
|
4976
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
4977
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
4978
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
4979
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
4980
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
4981
|
+
|
|
4982
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
4983
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
4984
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
4985
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
4986
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
4987
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
4988
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
4955
4989
|
x-celigo-ai-guidance:
|
|
4956
4990
|
- |-
|
|
4957
4991
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
4958
4992
|
absent keys: null renders the destination field as JSON null and the
|
|
4959
4993
|
empty string renders it as `""` when the extract yields nothing.
|
|
4960
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
4961
|
-
the
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
`conditional.when` is
|
|
4994
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
4995
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
4996
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
4997
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
4998
|
+
null source is written as null unless `conditional.when` is
|
|
4999
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
5000
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
5001
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
5002
|
+
with null.
|
|
4965
5003
|
- |-
|
|
4966
5004
|
The four "Action to take if source field has no value" choices map to:
|
|
4967
|
-
do nothing → no `default` key
|
|
4968
|
-
|
|
4969
|
-
source is written as null); use null →
|
|
4970
|
-
|
|
5005
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
5006
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
5007
|
+
be omitted, but a null source is then still written as null); use null →
|
|
5008
|
+
`"default": null`; use empty string or a custom value →
|
|
5009
|
+
`"default": "<value>"`; cause the record to fail →
|
|
4971
5010
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
5011
|
+
- |-
|
|
5012
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
5013
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
5014
|
+
after the save — create or update — so the destination is written as
|
|
5015
|
+
null; never express "Do nothing" by omission there. A stored
|
|
5016
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
5017
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
5018
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
5019
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
5020
|
+
present in mapping simultaneously.`
|
|
4972
5021
|
examples:
|
|
4973
5022
|
- N/A
|
|
4974
5023
|
- '0'
|
|
@@ -5375,7 +5424,10 @@ components:
|
|
|
5375
5424
|
not found in the input data.
|
|
5376
5425
|
|
|
5377
5426
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
5378
|
-
JSON null); omitting the key means no fallback is applied
|
|
5427
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
5428
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
5429
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
5430
|
+
does on leaf rows.
|
|
5379
5431
|
examples:
|
|
5380
5432
|
- N/A
|
|
5381
5433
|
- '0'
|
|
@@ -16177,10 +16229,17 @@ components:
|
|
|
16177
16229
|
- string
|
|
16178
16230
|
- 'null'
|
|
16179
16231
|
description: |
|
|
16180
|
-
Path in the source record to extract the value from
|
|
16181
|
-
|
|
16182
|
-
|
|
16183
|
-
|
|
16232
|
+
Path in the source record to extract the value from, in
|
|
16233
|
+
dot notation for nested fields (e.g., "address.city").
|
|
16234
|
+
A bare string is always read as a path, never as a
|
|
16235
|
+
constant — a path that matches no field sets the
|
|
16236
|
+
destination field to an empty string (""), written,
|
|
16237
|
+
not omitted and not the path text, and `discardIfEmpty`
|
|
16238
|
+
is what skips it; constants belong in `hardCodedValue`,
|
|
16239
|
+
and the platform stores `null` here on fields driven by
|
|
16240
|
+
it. A Handlebars template (contains `{{`) reads the
|
|
16241
|
+
record's fields by bare name; `{{record.<field>}}`
|
|
16242
|
+
renders an empty string, not the value.
|
|
16184
16243
|
examples:
|
|
16185
16244
|
- address.city
|
|
16186
16245
|
generate:
|
|
@@ -16427,9 +16486,14 @@ components:
|
|
|
16427
16486
|
Path from the source record root that produces
|
|
16428
16487
|
the value for this sublist column. Paths are
|
|
16429
16488
|
always anchored at the source record root —
|
|
16430
|
-
never relative to a pre-iterated row
|
|
16489
|
+
never relative to a pre-iterated row — and a
|
|
16490
|
+
bare string is always read as a path, never as a
|
|
16491
|
+
constant: a path that matches no field leaves the
|
|
16492
|
+
column absent from every line (unlike a body
|
|
16493
|
+
field, which is set to ""), never the text
|
|
16494
|
+
itself. Constants belong in `hardCodedValue`; the
|
|
16431
16495
|
platform stores `null` here on fields driven by
|
|
16432
|
-
|
|
16496
|
+
it.
|
|
16433
16497
|
x-celigo-ai-guidance:
|
|
16434
16498
|
- |-
|
|
16435
16499
|
Two extract patterns, often mixed in the same
|
package/package.json
CHANGED