n8n-nodes-byteplant 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +134 -63
- package/dist/credentials/ByteplantAddressValidatorApi.credentials.d.ts +2 -2
- package/dist/credentials/ByteplantAddressValidatorApi.credentials.js +4 -12
- package/dist/credentials/ByteplantAddressValidatorApi.credentials.js.map +1 -1
- package/dist/credentials/ByteplantEmailValidatorApi.credentials.d.ts +2 -2
- package/dist/credentials/ByteplantEmailValidatorApi.credentials.js +2 -2
- package/dist/credentials/ByteplantEmailValidatorApi.credentials.js.map +1 -1
- package/dist/credentials/ByteplantPhoneValidatorApi.credentials.d.ts +2 -2
- package/dist/credentials/ByteplantPhoneValidatorApi.credentials.js +2 -10
- package/dist/credentials/ByteplantPhoneValidatorApi.credentials.js.map +1 -1
- package/dist/nodes/{ByteplantEmailValidator/ByteplantEmailValidator.node.d.ts → Byteplant/Byteplant.node.d.ts} +1 -1
- package/dist/nodes/Byteplant/Byteplant.node.js +121 -0
- package/dist/nodes/Byteplant/Byteplant.node.js.map +1 -0
- package/dist/nodes/Byteplant/Byteplant.node.json +26 -0
- package/dist/nodes/Byteplant/actions/address-validator/index.d.ts +3 -0
- package/dist/nodes/Byteplant/actions/address-validator/index.js +26 -0
- package/dist/nodes/Byteplant/actions/address-validator/index.js.map +1 -0
- package/dist/nodes/Byteplant/actions/address-validator/validate.operation.d.ts +26 -0
- package/dist/nodes/Byteplant/actions/address-validator/validate.operation.js +144 -0
- package/dist/nodes/Byteplant/actions/address-validator/validate.operation.js.map +1 -0
- package/dist/nodes/Byteplant/actions/common.descriptions.d.ts +14 -0
- package/dist/{utils/common-fields.js → nodes/Byteplant/actions/common.descriptions.js} +1 -1
- package/dist/nodes/Byteplant/actions/common.descriptions.js.map +1 -0
- package/dist/nodes/Byteplant/actions/email-validator/index.d.ts +3 -0
- package/dist/nodes/Byteplant/actions/email-validator/index.js +26 -0
- package/dist/nodes/Byteplant/actions/email-validator/index.js.map +1 -0
- package/dist/nodes/Byteplant/actions/email-validator/validate.operation.d.ts +26 -0
- package/dist/nodes/Byteplant/actions/email-validator/validate.operation.js +55 -0
- package/dist/nodes/Byteplant/actions/email-validator/validate.operation.js.map +1 -0
- package/dist/nodes/Byteplant/actions/phone-validator/index.d.ts +3 -0
- package/dist/nodes/Byteplant/actions/phone-validator/index.js +26 -0
- package/dist/nodes/Byteplant/actions/phone-validator/index.js.map +1 -0
- package/dist/nodes/Byteplant/actions/phone-validator/validate.operation.d.ts +26 -0
- package/dist/nodes/Byteplant/actions/phone-validator/validate.operation.js +89 -0
- package/dist/nodes/Byteplant/actions/phone-validator/validate.operation.js.map +1 -0
- package/dist/nodes/Byteplant/byteplant.png +0 -0
- package/dist/nodes/{ByteplantEmailValidator/status-codes.js → Byteplant/helpers/ev-status-codes.js} +1 -1
- package/dist/nodes/Byteplant/helpers/ev-status-codes.js.map +1 -0
- package/dist/package.json +2 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -4
- package/dist/nodes/ByteplantAddressValidator/ByteplantAddressValidator.node.d.ts +0 -5
- package/dist/nodes/ByteplantAddressValidator/ByteplantAddressValidator.node.js +0 -196
- package/dist/nodes/ByteplantAddressValidator/ByteplantAddressValidator.node.js.map +0 -1
- package/dist/nodes/ByteplantEmailValidator/ByteplantEmailValidator.node.js +0 -115
- package/dist/nodes/ByteplantEmailValidator/ByteplantEmailValidator.node.js.map +0 -1
- package/dist/nodes/ByteplantEmailValidator/status-codes.js.map +0 -1
- package/dist/nodes/ByteplantPhoneValidator/ByteplantPhoneValidator.node.d.ts +0 -5
- package/dist/nodes/ByteplantPhoneValidator/ByteplantPhoneValidator.node.js +0 -142
- package/dist/nodes/ByteplantPhoneValidator/ByteplantPhoneValidator.node.js.map +0 -1
- package/dist/utils/common-fields.d.ts +0 -2
- package/dist/utils/common-fields.js.map +0 -1
- /package/dist/nodes/{ByteplantAddressValidator → Byteplant}/byteplant-address-validator.png +0 -0
- /package/dist/nodes/{ByteplantEmailValidator → Byteplant}/byteplant-email-validator.png +0 -0
- /package/dist/nodes/{ByteplantPhoneValidator → Byteplant}/byteplant-phone-validator.png +0 -0
- /package/dist/nodes/{ByteplantEmailValidator/status-codes.d.ts → Byteplant/helpers/ev-status-codes.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,87 +1,158 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://www.byteplant.com/img/logo.png" alt="Byteplant" width="400">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">n8n-nodes-byteplant</h1>
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
Validate email addresses, phone numbers and postal addresses in your <a href="https://n8n.io/">n8n</a> workflows,<br>
|
|
9
|
+
with unparalleled precision in 240+ countries worldwide.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.npmjs.com/package/n8n-nodes-byteplant"><img src="https://img.shields.io/npm/v/n8n-nodes-byteplant" alt="npm version"></a>
|
|
14
|
+
<a href="https://www.npmjs.com/package/n8n-nodes-byteplant"><img src="https://img.shields.io/npm/dm/n8n-nodes-byteplant" alt="npm downloads"></a>
|
|
15
|
+
<a href="LICENSE.md"><img src="https://img.shields.io/npm/l/n8n-nodes-byteplant" alt="License"></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="#installation">Installation</a> ·
|
|
20
|
+
<a href="#operations">Operations</a> ·
|
|
21
|
+
<a href="#credentials">Credentials</a> ·
|
|
22
|
+
<a href="#usage">Usage</a> ·
|
|
23
|
+
<a href="#compatibility">Compatibility</a> ·
|
|
24
|
+
<a href="#resources">Resources</a>
|
|
25
|
+
</p>
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
This is an n8n community node. It adds a single **Byteplant** node that connects to the Byteplant validation APIs. It runs once for every input item, and AI Agent nodes can use it as a tool.
|
|
6
30
|
|
|
7
31
|
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
8
32
|
|
|
9
|
-
|
|
10
|
-
[Operations](#operations)
|
|
11
|
-
[Credentials](#credentials)
|
|
12
|
-
[Compatibility](#compatibility)
|
|
13
|
-
[Usage](#usage)
|
|
14
|
-
[Resources](#resources)
|
|
33
|
+
> **Upgrading from 0.1.x?** Version 0.2.0 replaces the three separate nodes (Byteplant Address Validator, Email Validator and Phone Validator) with one **Byteplant** node. Your existing credentials keep working. In your workflows, replace each old node with the Byteplant node and select the matching resource.
|
|
15
34
|
|
|
16
35
|
## Installation
|
|
17
36
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
37
|
+
1. In n8n, go to **Settings → Community Nodes**.
|
|
38
|
+
2. Select **Install**.
|
|
39
|
+
3. Enter `n8n-nodes-byteplant` and confirm.
|
|
21
40
|
|
|
22
|
-
|
|
23
|
-
- **Validate Address**: Validates and standardizes addresses with geocoding support
|
|
41
|
+
For more options, such as installing on a self-hosted instance from the command line, see the [community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).
|
|
24
42
|
|
|
25
|
-
|
|
26
|
-
- **Validate Email**: Validates email addresses and checks for deliverability
|
|
43
|
+
## Operations
|
|
27
44
|
|
|
28
|
-
|
|
29
|
-
|
|
45
|
+
| Resource | Operation | What it does |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| **Address Validator** | Validate | Validates and standardizes a postal address, with optional geocoding |
|
|
48
|
+
| **Email Validator** | Validate | Checks whether an email address is deliverable and detects freemail providers |
|
|
49
|
+
| **Phone Validator** | Validate | Validates a phone number in express or extensive mode |
|
|
30
50
|
|
|
31
51
|
## Credentials
|
|
32
52
|
|
|
33
|
-
|
|
53
|
+
Each resource uses its own API key. Sign up for the service you need to get one:
|
|
54
|
+
|
|
55
|
+
| Credential | Used by | Get an API key |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| Byteplant Address Validator API | Address Validator | [Byteplant account](https://www.byteplant.com/address-validator/api.html) |
|
|
58
|
+
| Byteplant Email Validator API | Email Validator | [Byteplant account](https://www.byteplant.com/email-validator/api.html) |
|
|
59
|
+
| Byteplant Phone Validator API | Phone Validator | [Byteplant account](https://www.byteplant.com/phone-validator/api.html) |
|
|
34
60
|
|
|
35
|
-
|
|
36
|
-
1. Sign up for the respective Byteplant service:
|
|
37
|
-
- [Address Validator](https://www.address-validator.net/api.html) - for address validation
|
|
38
|
-
- [Email Validator](https://www.email-validator.net/api.html) - for email validation
|
|
39
|
-
- [Phone Validator](https://www.phone-validator.net/api.html) - for phone validation
|
|
61
|
+
In n8n, create the credential and paste your API key. The node sends the key as a query parameter with every request. If you save a key that is invalid or has no credits left, the credential test fails.
|
|
40
62
|
|
|
41
|
-
|
|
42
|
-
Each node requires its own API key credential:
|
|
43
|
-
- **Byteplant Address Validator API**: Enter your address-validator API key
|
|
44
|
-
- **Byteplant Email Validator API**: Enter your email-validator API key
|
|
45
|
-
- **Byteplant Phone Validator API**: Enter your phone-validator API key
|
|
63
|
+
## Usage
|
|
46
64
|
|
|
47
|
-
|
|
65
|
+
Every resource has a **Timeout** field, which sets how long the API may take to respond: 5–300 seconds, 10 by default.
|
|
66
|
+
|
|
67
|
+
### Address Validator - [API Docs](https://www.byteplant.com/address-validator/api.html)
|
|
68
|
+
|
|
69
|
+
| Field | Required | Description |
|
|
70
|
+
| --- | :---: | --- |
|
|
71
|
+
| Country Code | ✅ | Two-letter ISO 3166-1 country code. Use `XX` for international addresses. |
|
|
72
|
+
| Street Address | ✅ | Street, house number and building. May include the unit or apartment. |
|
|
73
|
+
| City | | City or locality |
|
|
74
|
+
| Additional Address Info | | Building, unit, apartment or floor |
|
|
75
|
+
| Postal Code | | ZIP or postal code |
|
|
76
|
+
| State | | State or province |
|
|
77
|
+
| Street Number | | House or building number, if it isn't part of Street Address |
|
|
78
|
+
| Geocoding | | Whether to return coordinates for the address. Off by default. |
|
|
79
|
+
| Locale | | Output language for countries with more than one postal language. Use it only to translate addresses, and leave it empty for address validation. |
|
|
80
|
+
| Output Charset | | `utf-8` (default) or `us-ascii` |
|
|
81
|
+
|
|
82
|
+
#### Output
|
|
83
|
+
|
|
84
|
+
| Field | Description |
|
|
85
|
+
| --- | --- |
|
|
86
|
+
| `status` | `VALID`: the address is correct and deliverable. `SUSPECT`: the address needs corrections to be deliverable, and a suggested correction is provided. `INVALID`: the address is not deliverable and can't be corrected automatically. Other values: `DELAYED`, `NO_COUNTRY`, `RATE_LIMIT_EXCEEDED`, `RESTRICTED`, `INTERNAL_ERROR` |
|
|
87
|
+
| `formattedaddress` | Full address in standardized format |
|
|
88
|
+
| `supplement` | Additional address details (building, unit, apartment, suite) |
|
|
89
|
+
| `street` | Street in standardized format |
|
|
90
|
+
| `streetnumber` | Street number in standardized format |
|
|
91
|
+
| `postalcode` | ZIP or postal code in standardized format |
|
|
92
|
+
| `city` | City in standardized format |
|
|
93
|
+
| `district` | District in standardized format |
|
|
94
|
+
| `county` | County in standardized format |
|
|
95
|
+
| `state` | State or province in standardized format |
|
|
96
|
+
| `country` | Two-letter ISO 3166-1 country code |
|
|
97
|
+
| `type` | Address type: `S` for a street address, `P` for a P.O. box, pick-up or other delivery service |
|
|
98
|
+
| `rdi` | Residential Delivery Indicator: commercial or residential |
|
|
99
|
+
| `diagnostics` | Hints about errors in the address input. See the [full list of diagnostic hints](https://www.byteplant.com/address-validator/validation-diagnostic-hints.html). |
|
|
100
|
+
| `corrections` | Hints about which parts of the address input were fixed. See the [full list of correction hints](https://www.byteplant.com/address-validator/validation-diagnostic-hints.html). |
|
|
101
|
+
| `latitude`, `longitude` | Coordinates. Only returned for valid addresses when **Geocoding** is on. |
|
|
102
|
+
|
|
103
|
+
### Email Validator - [API Docs](https://www.byteplant.com/email-validator/api.html)
|
|
104
|
+
|
|
105
|
+
| Field | Required | Description |
|
|
106
|
+
| --- | :---: | --- |
|
|
107
|
+
| Email Address | ✅ | The email address to validate |
|
|
108
|
+
|
|
109
|
+
#### Output
|
|
110
|
+
|
|
111
|
+
| Field | Description |
|
|
112
|
+
| --- | --- |
|
|
113
|
+
| `status` | Numeric result code, e.g. `200` for a valid address. See the [full list of result codes](https://www.byteplant.com/email-validator/validation-results.html). |
|
|
114
|
+
| `info` | [Short status description](https://www.byteplant.com/email-validator/validation-results.html) |
|
|
115
|
+
| `details` | [Full status description](https://www.byteplant.com/email-validator/validation-results.html) |
|
|
116
|
+
| `freemail` | `true` if the address belongs to a freemail provider (Gmail, Yahoo, Outlook/Hotmail/Live, AOL, …) |
|
|
117
|
+
| `category` | Added by the node: `valid`, `invalid`, `suspect` or `indeterminate`, based on `status`. Use it to route items with an **If** or **Switch** node. |
|
|
118
|
+
|
|
119
|
+
### Phone Validator - [API Docs](https://www.byteplant.com/phone-validator/api.html)
|
|
120
|
+
|
|
121
|
+
| Field | Required | Description |
|
|
122
|
+
| --- | :---: | --- |
|
|
123
|
+
| Phone Number | ✅ | The phone number to validate, in national format or in international format with a leading `+` |
|
|
124
|
+
| Country Code | | Two-letter ISO 3166-1 country code. Optional if the phone number is in international format. |
|
|
125
|
+
| Locale | | IETF language tag for geocoding results. Defaults to `en-US`. |
|
|
126
|
+
| Mode | | **Extensive** (default) runs full validation. **Express** runs static checks only and is faster. |
|
|
127
|
+
|
|
128
|
+
#### Output
|
|
129
|
+
|
|
130
|
+
| Field | Description |
|
|
131
|
+
| --- | --- |
|
|
132
|
+
| `status` | `VALID_CONFIRMED`, `VALID_UNCONFIRMED`, `INVALID`, `DELAYED` or `RATE_LIMIT_EXCEEDED` |
|
|
133
|
+
| `linetype` | `FIXED_LINE`, `MOBILE`, `VOIP`, `TOLL_FREE`, `PREMIUM_RATE`, `SHARED_COST`, `PERSONAL_NUMBER`, `PAGER`, `UAN` or `VOICEMAIL` |
|
|
134
|
+
| `location` | Geographical location (city, county, state) |
|
|
135
|
+
| `countrycode` | Two-letter ISO 3166-1 country code |
|
|
136
|
+
| `formatnational` | Phone number in national format |
|
|
137
|
+
| `formatinternational` | Phone number in international format |
|
|
138
|
+
| `mcc` | Mobile country code, which identifies the mobile network operator (carrier) |
|
|
139
|
+
| `mnc` | Mobile network code, which identifies the mobile network operator (carrier) |
|
|
48
140
|
|
|
49
141
|
## Compatibility
|
|
50
142
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
143
|
+
| Requirement | Version |
|
|
144
|
+
| --- | --- |
|
|
145
|
+
| n8n | 1.0.0 or later |
|
|
146
|
+
| Node.js | 20.15 or later |
|
|
54
147
|
|
|
55
|
-
##
|
|
148
|
+
## Resources
|
|
56
149
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
- **Timeout**: Configurable between 5-300 seconds (default: 10s)
|
|
63
|
-
|
|
64
|
-
### Email Validator
|
|
65
|
-
The Email Validator node validates email addresses with comprehensive checks:
|
|
66
|
-
- **Required fields**: Email Address
|
|
67
|
-
- **Features**: Deliverability checking, freemail detection, detailed status codes
|
|
68
|
-
- **Timeout**: Configurable between 5-300 seconds (default: 10s)
|
|
69
|
-
|
|
70
|
-
### Phone Validator
|
|
71
|
-
The Phone Validator node validates phone numbers with two validation modes:
|
|
72
|
-
- **Required fields**: Phone Number
|
|
73
|
-
- **Optional fields**: Country Code, Locale
|
|
74
|
-
- **Modes**:
|
|
75
|
-
- **Extensive**: Comprehensive validation with detailed results
|
|
76
|
-
- **Express**: Fast validation for basic checks
|
|
77
|
-
- **Timeout**: Configurable between 5-300 seconds (default: 10s)
|
|
78
|
-
|
|
79
|
-
All nodes support batch processing and can be used as tools in n8n workflows.
|
|
150
|
+
- [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
|
|
151
|
+
- [Address Validator API documentation](https://www.byteplant.com/address-validator/api.html)
|
|
152
|
+
- [Email Validator API documentation](https://www.byteplant.com/email-validator/api.html)
|
|
153
|
+
- [Phone Validator API documentation](https://www.byteplant.com/phone-validator/api.html)
|
|
154
|
+
- [Byteplant website](https://www.byteplant.com/)
|
|
80
155
|
|
|
81
|
-
##
|
|
156
|
+
## License
|
|
82
157
|
|
|
83
|
-
|
|
84
|
-
* [Byteplant Address Validator API](https://www.address-validator.net/api.html)
|
|
85
|
-
* [Byteplant Email Validator API](https://www.email-validator.net/api.html)
|
|
86
|
-
* [Byteplant Phone Validator API](https://www.phone-validator.net/api.html)
|
|
87
|
-
* [Byteplant Website](https://www.byteplant.com/)
|
|
158
|
+
[MIT](LICENSE.md)
|
|
@@ -4,8 +4,8 @@ export declare class ByteplantAddressValidatorApi implements ICredentialType {
|
|
|
4
4
|
displayName: string;
|
|
5
5
|
documentationUrl: string;
|
|
6
6
|
icon: {
|
|
7
|
-
readonly light: "file:../nodes/
|
|
8
|
-
readonly dark: "file:../nodes/
|
|
7
|
+
readonly light: "file:../nodes/Byteplant/byteplant-address-validator.png";
|
|
8
|
+
readonly dark: "file:../nodes/Byteplant/byteplant-address-validator.png";
|
|
9
9
|
};
|
|
10
10
|
properties: INodeProperties[];
|
|
11
11
|
authenticate: IAuthenticateGeneric;
|
|
@@ -7,8 +7,8 @@ class ByteplantAddressValidatorApi {
|
|
|
7
7
|
this.displayName = 'Byteplant Address Validator API';
|
|
8
8
|
this.documentationUrl = 'https://www.byteplant.com/address-validator/api.html';
|
|
9
9
|
this.icon = {
|
|
10
|
-
light: 'file:../nodes/
|
|
11
|
-
dark: 'file:../nodes/
|
|
10
|
+
light: 'file:../nodes/Byteplant/byteplant-address-validator.png',
|
|
11
|
+
dark: 'file:../nodes/Byteplant/byteplant-address-validator.png',
|
|
12
12
|
};
|
|
13
13
|
this.properties = [
|
|
14
14
|
{
|
|
@@ -35,20 +35,12 @@ class ByteplantAddressValidatorApi {
|
|
|
35
35
|
baseURL: 'https://api.address-validator.net',
|
|
36
36
|
url: '/api/verify',
|
|
37
37
|
qs: {
|
|
38
|
-
StreetAddress:
|
|
39
|
-
CountryCode:
|
|
38
|
+
StreetAddress: 'test',
|
|
39
|
+
CountryCode: 'DE',
|
|
40
40
|
},
|
|
41
41
|
json: true,
|
|
42
42
|
},
|
|
43
43
|
rules: [
|
|
44
|
-
{
|
|
45
|
-
type: 'responseSuccessBody',
|
|
46
|
-
properties: {
|
|
47
|
-
key: 'status',
|
|
48
|
-
value: 'VALID',
|
|
49
|
-
message: 'API key is valid',
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
44
|
{
|
|
53
45
|
type: 'responseSuccessBody',
|
|
54
46
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByteplantAddressValidatorApi.credentials.js","sourceRoot":"","sources":["../../credentials/ByteplantAddressValidatorApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,4BAA4B;IAAzC;QACC,SAAI,GAAG,8BAA8B,CAAC;QACtC,gBAAW,GAAG,iCAAiC,CAAC;QAEhD,qBAAgB,GAAG,sDAAsD,CAAC;QAE1E,SAAI,GAAG;YACN,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ByteplantAddressValidatorApi.credentials.js","sourceRoot":"","sources":["../../credentials/ByteplantAddressValidatorApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,4BAA4B;IAAzC;QACC,SAAI,GAAG,8BAA8B,CAAC;QACtC,gBAAW,GAAG,iCAAiC,CAAC;QAEhD,qBAAgB,GAAG,sDAAsD,CAAC;QAE1E,SAAI,GAAG;YACN,KAAK,EAAE,yDAAyD;YAChE,IAAI,EAAE,yDAAyD;SACtD,CAAC;QAEX,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EACV,kLAAkL;gBACnL,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;aACX;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,EAAE,EAAE;oBACH,MAAM,EAAE,4BAA4B;iBACpC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,mCAAmC;gBAC5C,GAAG,EAAE,aAAa;gBAClB,EAAE,EAAE;oBACH,aAAa,EAAE,MAAM;oBACrB,WAAW,EAAE,IAAI;iBACjB;gBACD,IAAI,EAAE,IAAI;aACV;YACD,KAAK,EAAE;gBACN;oBACC,IAAI,EAAE,qBAAqB;oBAC3B,UAAU,EAAE;wBACX,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,6BAA6B;wBACpC,OAAO,EAAE,gCAAgC;qBACzC;iBACD;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAvDD,oEAuDC"}
|
|
@@ -4,8 +4,8 @@ export declare class ByteplantEmailValidatorApi implements ICredentialType {
|
|
|
4
4
|
displayName: string;
|
|
5
5
|
documentationUrl: string;
|
|
6
6
|
icon: {
|
|
7
|
-
readonly light: "file:../nodes/
|
|
8
|
-
readonly dark: "file:../nodes/
|
|
7
|
+
readonly light: "file:../nodes/Byteplant/byteplant-email-validator.png";
|
|
8
|
+
readonly dark: "file:../nodes/Byteplant/byteplant-email-validator.png";
|
|
9
9
|
};
|
|
10
10
|
properties: INodeProperties[];
|
|
11
11
|
authenticate: IAuthenticateGeneric;
|
|
@@ -7,8 +7,8 @@ class ByteplantEmailValidatorApi {
|
|
|
7
7
|
this.displayName = 'Byteplant Email Validator API';
|
|
8
8
|
this.documentationUrl = 'https://www.byteplant.com/email-validator/api.html';
|
|
9
9
|
this.icon = {
|
|
10
|
-
light: 'file:../nodes/
|
|
11
|
-
dark: 'file:../nodes/
|
|
10
|
+
light: 'file:../nodes/Byteplant/byteplant-email-validator.png',
|
|
11
|
+
dark: 'file:../nodes/Byteplant/byteplant-email-validator.png',
|
|
12
12
|
};
|
|
13
13
|
this.properties = [
|
|
14
14
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByteplantEmailValidatorApi.credentials.js","sourceRoot":"","sources":["../../credentials/ByteplantEmailValidatorApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,0BAA0B;IAAvC;QACC,SAAI,GAAG,4BAA4B,CAAC;QACpC,gBAAW,GAAG,+BAA+B,CAAC;QAE9C,qBAAgB,GAAG,oDAAoD,CAAC;QAExE,SAAI,GAAG;YACN,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ByteplantEmailValidatorApi.credentials.js","sourceRoot":"","sources":["../../credentials/ByteplantEmailValidatorApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,0BAA0B;IAAvC;QACC,SAAI,GAAG,4BAA4B,CAAC;QACpC,gBAAW,GAAG,+BAA+B,CAAC;QAE9C,qBAAgB,GAAG,oDAAoD,CAAC;QAExE,SAAI,GAAG;YACN,KAAK,EAAE,uDAAuD;YAC9D,IAAI,EAAE,uDAAuD;SACpD,CAAC;QAEX,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EACV,4KAA4K;gBAC7K,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;aACX;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,EAAE,EAAE;oBACH,MAAM,EAAE,4BAA4B;iBACpC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,iCAAiC;gBAC1C,GAAG,EAAE,aAAa;gBAClB,EAAE,EAAE;oBACH,YAAY,EAAE,MAAM;iBACpB;gBACD,IAAI,EAAE,IAAI;aACV;YACD,KAAK,EAAE;gBACN;oBACC,IAAI,EAAE,qBAAqB;oBAC3B,UAAU,EAAE;wBACX,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,gCAAgC;qBACzC;iBACD;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAtDD,gEAsDC"}
|
|
@@ -4,8 +4,8 @@ export declare class ByteplantPhoneValidatorApi implements ICredentialType {
|
|
|
4
4
|
displayName: string;
|
|
5
5
|
documentationUrl: string;
|
|
6
6
|
icon: {
|
|
7
|
-
readonly light: "file:../nodes/
|
|
8
|
-
readonly dark: "file:../nodes/
|
|
7
|
+
readonly light: "file:../nodes/Byteplant/byteplant-phone-validator.png";
|
|
8
|
+
readonly dark: "file:../nodes/Byteplant/byteplant-phone-validator.png";
|
|
9
9
|
};
|
|
10
10
|
properties: INodeProperties[];
|
|
11
11
|
authenticate: IAuthenticateGeneric;
|
|
@@ -7,8 +7,8 @@ class ByteplantPhoneValidatorApi {
|
|
|
7
7
|
this.displayName = 'Byteplant Phone Validator API';
|
|
8
8
|
this.documentationUrl = 'https://www.byteplant.com/phone-validator/api.html';
|
|
9
9
|
this.icon = {
|
|
10
|
-
light: 'file:../nodes/
|
|
11
|
-
dark: 'file:../nodes/
|
|
10
|
+
light: 'file:../nodes/Byteplant/byteplant-phone-validator.png',
|
|
11
|
+
dark: 'file:../nodes/Byteplant/byteplant-phone-validator.png',
|
|
12
12
|
};
|
|
13
13
|
this.properties = [
|
|
14
14
|
{
|
|
@@ -40,14 +40,6 @@ class ByteplantPhoneValidatorApi {
|
|
|
40
40
|
json: true,
|
|
41
41
|
},
|
|
42
42
|
rules: [
|
|
43
|
-
{
|
|
44
|
-
type: 'responseSuccessBody',
|
|
45
|
-
properties: {
|
|
46
|
-
key: 'status',
|
|
47
|
-
value: 'VALID',
|
|
48
|
-
message: 'API key is valid',
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
43
|
{
|
|
52
44
|
type: 'responseSuccessBody',
|
|
53
45
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByteplantPhoneValidatorApi.credentials.js","sourceRoot":"","sources":["../../credentials/ByteplantPhoneValidatorApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,0BAA0B;IAAvC;QACC,SAAI,GAAG,4BAA4B,CAAC;QACpC,gBAAW,GAAG,+BAA+B,CAAC;QAE9C,qBAAgB,GAAG,oDAAoD,CAAC;QAExE,SAAI,GAAG;YACN,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ByteplantPhoneValidatorApi.credentials.js","sourceRoot":"","sources":["../../credentials/ByteplantPhoneValidatorApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,0BAA0B;IAAvC;QACC,SAAI,GAAG,4BAA4B,CAAC;QACpC,gBAAW,GAAG,+BAA+B,CAAC;QAE9C,qBAAgB,GAAG,oDAAoD,CAAC;QAExE,SAAI,GAAG;YACN,KAAK,EAAE,uDAAuD;YAC9D,IAAI,EAAE,uDAAuD;SACpD,CAAC;QAEX,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EACV,4KAA4K;gBAC7K,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;aACX;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,EAAE,EAAE;oBACH,MAAM,EAAE,4BAA4B;iBACpC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,iCAAiC;gBAC1C,GAAG,EAAE,gBAAgB;gBACrB,EAAE,EAAE;oBACH,WAAW,EAAE,MAAM;iBACnB;gBACD,IAAI,EAAE,IAAI;aACV;YACD,KAAK,EAAE;gBACN;oBACC,IAAI,EAAE,qBAAqB;oBAC3B,UAAU,EAAE;wBACX,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,6BAA6B;wBACpC,OAAO,EAAE,gCAAgC;qBACzC;iBACD;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAtDD,gEAsDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class Byteplant implements INodeType {
|
|
3
3
|
description: INodeTypeDescription;
|
|
4
4
|
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
5
|
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Byteplant = void 0;
|
|
37
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
38
|
+
const address = __importStar(require("./actions/address-validator"));
|
|
39
|
+
const email = __importStar(require("./actions/email-validator"));
|
|
40
|
+
const phone = __importStar(require("./actions/phone-validator"));
|
|
41
|
+
const resources = { address, email, phone };
|
|
42
|
+
class Byteplant {
|
|
43
|
+
constructor() {
|
|
44
|
+
this.description = {
|
|
45
|
+
displayName: 'Byteplant',
|
|
46
|
+
name: 'byteplant',
|
|
47
|
+
icon: {
|
|
48
|
+
light: 'file:byteplant.png',
|
|
49
|
+
dark: 'file:byteplant.png',
|
|
50
|
+
},
|
|
51
|
+
group: [],
|
|
52
|
+
version: 1,
|
|
53
|
+
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
54
|
+
description: 'Validate email addresses, phone numbers and postal addresses',
|
|
55
|
+
defaults: {
|
|
56
|
+
name: 'Byteplant',
|
|
57
|
+
},
|
|
58
|
+
inputs: ["main"],
|
|
59
|
+
outputs: ["main"],
|
|
60
|
+
usableAsTool: true,
|
|
61
|
+
credentials: [
|
|
62
|
+
{
|
|
63
|
+
name: 'byteplantAddressValidatorApi',
|
|
64
|
+
required: true,
|
|
65
|
+
displayOptions: { show: { resource: ['address'] } },
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: 'byteplantEmailValidatorApi',
|
|
69
|
+
required: true,
|
|
70
|
+
displayOptions: { show: { resource: ['email'] } },
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'byteplantPhoneValidatorApi',
|
|
74
|
+
required: true,
|
|
75
|
+
displayOptions: { show: { resource: ['phone'] } },
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
properties: [
|
|
79
|
+
{
|
|
80
|
+
displayName: 'Resource',
|
|
81
|
+
name: 'resource',
|
|
82
|
+
type: 'options',
|
|
83
|
+
noDataExpression: true,
|
|
84
|
+
options: [
|
|
85
|
+
{ name: 'Address Validator', value: 'address' },
|
|
86
|
+
{ name: 'Email Validator', value: 'email' },
|
|
87
|
+
{ name: 'Phone Validator', value: 'phone' },
|
|
88
|
+
],
|
|
89
|
+
default: 'email',
|
|
90
|
+
},
|
|
91
|
+
...address.description,
|
|
92
|
+
...email.description,
|
|
93
|
+
...phone.description,
|
|
94
|
+
],
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
async execute() {
|
|
98
|
+
const items = this.getInputData();
|
|
99
|
+
const returnData = [];
|
|
100
|
+
const resource = this.getNodeParameter('resource', 0);
|
|
101
|
+
const operation = this.getNodeParameter('operation', 0);
|
|
102
|
+
for (let i = 0; i < items.length; i++) {
|
|
103
|
+
try {
|
|
104
|
+
const json = await resources[resource][operation].call(this, i);
|
|
105
|
+
returnData.push({ ...items[i], json, pairedItem: { item: i } });
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
if (this.continueOnFail()) {
|
|
109
|
+
returnData.push({ json: { error: error.message }, pairedItem: { item: i } });
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
throw error instanceof n8n_workflow_1.NodeApiError
|
|
113
|
+
? error
|
|
114
|
+
: new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex: i });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return [returnData];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.Byteplant = Byteplant;
|
|
121
|
+
//# sourceMappingURL=Byteplant.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Byteplant.node.js","sourceRoot":"","sources":["../../../nodes/Byteplant/Byteplant.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,+CAAoF;AACpF,qEAAuD;AACvD,iEAAmD;AACnD,iEAAmD;AAEnD,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAE5C,MAAa,SAAS;IAAtB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE;gBACL,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,oBAAoB;aAC1B;YACD,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,8DAA8D;YAC3E,QAAQ,EAAE;gBACT,IAAI,EAAE,WAAW;aACjB;YACD,MAAM,EAAE,QAAyB;YACjC,OAAO,EAAE,QAAyB;YAClC,YAAY,EAAE,IAAI;YAElB,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,8BAA8B;oBACpC,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;iBACnD;gBACD;oBACC,IAAI,EAAE,4BAA4B;oBAClC,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;iBACjD;gBACD;oBACC,IAAI,EAAE,4BAA4B;oBAClC,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;iBACjD;aACD;YAED,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;wBAC/C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE;wBAC3C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE;qBAC3C;oBACD,OAAO,EAAE,OAAO;iBAChB;gBACD,GAAG,OAAO,CAAC,WAAW;gBACtB,GAAG,KAAK,CAAC,WAAW;gBACpB,GAAG,KAAK,CAAC,WAAW;aACpB;SACD,CAAC;IAyBH,CAAC;IAvBA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAA2B,CAAC;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAe,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7E,SAAS;gBACV,CAAC;gBACD,MAAM,KAAK,YAAY,2BAAY;oBAClC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAc,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AA/ED,8BA+EC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-byteplant.byteplant",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Data & Storage", "Utility"],
|
|
6
|
+
"alias": [
|
|
7
|
+
"Email Validator",
|
|
8
|
+
"Phone Validator",
|
|
9
|
+
"Address Validator",
|
|
10
|
+
"Email Verification",
|
|
11
|
+
"Phone Verification",
|
|
12
|
+
"Address Verification",
|
|
13
|
+
"Validate",
|
|
14
|
+
"Verify",
|
|
15
|
+
"Email",
|
|
16
|
+
"Phone",
|
|
17
|
+
"Address"
|
|
18
|
+
],
|
|
19
|
+
"resources": {
|
|
20
|
+
"primaryDocumentation": [
|
|
21
|
+
{
|
|
22
|
+
"url": "https://github.com/byteplant-devops/n8n-nodes-byteplant/blob/main/README.md"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = exports.validate = void 0;
|
|
4
|
+
const validate_operation_1 = require("./validate.operation");
|
|
5
|
+
var validate_operation_2 = require("./validate.operation");
|
|
6
|
+
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_operation_2.execute; } });
|
|
7
|
+
exports.description = [
|
|
8
|
+
{
|
|
9
|
+
displayName: 'Operation',
|
|
10
|
+
name: 'operation',
|
|
11
|
+
type: 'options',
|
|
12
|
+
noDataExpression: true,
|
|
13
|
+
displayOptions: { show: { resource: ['address'] } },
|
|
14
|
+
options: [
|
|
15
|
+
{
|
|
16
|
+
name: 'Validate',
|
|
17
|
+
value: 'validate',
|
|
18
|
+
action: 'Validate an address',
|
|
19
|
+
description: 'Check and standardize a postal address and get details about it',
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
default: 'validate',
|
|
23
|
+
},
|
|
24
|
+
...validate_operation_1.description,
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Byteplant/actions/address-validator/index.ts"],"names":[],"mappings":";;;AACA,6DAA0E;AAE1E,2DAA2D;AAAlD,8GAAA,OAAO,OAAY;AAEf,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;QACnD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,qBAAqB;gBAC7B,WAAW,EAAE,iEAAiE;aAC9E;SACD;QACD,OAAO,EAAE,UAAU;KACnB;IACD,GAAG,gCAAmB;CACtB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { IDataObject, IExecuteFunctions, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare const description: {
|
|
3
|
+
displayOptions: import("n8n-workflow").IDisplayOptions;
|
|
4
|
+
displayName: string;
|
|
5
|
+
name: string;
|
|
6
|
+
type: import("n8n-workflow").NodePropertyTypes;
|
|
7
|
+
typeOptions?: import("n8n-workflow").INodePropertyTypeOptions;
|
|
8
|
+
default: import("n8n-workflow").NodeParameterValueType;
|
|
9
|
+
description?: string;
|
|
10
|
+
hint?: string;
|
|
11
|
+
disabledOptions?: import("n8n-workflow").IDisplayOptions;
|
|
12
|
+
options?: Array<import("n8n-workflow").INodePropertyOptions | INodeProperties | import("n8n-workflow").INodePropertyCollection>;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
isNodeSetting?: boolean;
|
|
15
|
+
noDataExpression?: boolean;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
routing?: import("n8n-workflow").INodePropertyRouting;
|
|
18
|
+
credentialTypes?: Array<"extends:oAuth2Api" | "extends:oAuth1Api" | "has:authenticate" | "has:genericAuth">;
|
|
19
|
+
extractValue?: import("n8n-workflow").INodePropertyValueExtractor;
|
|
20
|
+
modes?: import("n8n-workflow").INodePropertyMode[];
|
|
21
|
+
requiresDataPath?: "single" | "multiple";
|
|
22
|
+
doNotInherit?: boolean;
|
|
23
|
+
validateType?: import("n8n-workflow").FieldType;
|
|
24
|
+
ignoreValidationDuringExecution?: boolean;
|
|
25
|
+
}[];
|
|
26
|
+
export declare function execute(this: IExecuteFunctions, itemIndex: number): Promise<IDataObject>;
|