@memberjunction/core-actions 2.48.0 → 2.49.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/dist/custom/business-days-calculator.action.d.ts +65 -0
- package/dist/custom/business-days-calculator.action.d.ts.map +1 -0
- package/dist/custom/business-days-calculator.action.js +299 -0
- package/dist/custom/business-days-calculator.action.js.map +1 -0
- package/dist/custom/calculate-expression.action.d.ts +56 -0
- package/dist/custom/calculate-expression.action.d.ts.map +1 -0
- package/dist/custom/calculate-expression.action.js +226 -0
- package/dist/custom/calculate-expression.action.js.map +1 -0
- package/dist/custom/census-data-lookup.action.d.ts +54 -0
- package/dist/custom/census-data-lookup.action.d.ts.map +1 -0
- package/dist/custom/census-data-lookup.action.js +378 -0
- package/dist/custom/census-data-lookup.action.js.map +1 -0
- package/dist/custom/color-converter.action.d.ts +59 -0
- package/dist/custom/color-converter.action.d.ts.map +1 -0
- package/dist/custom/color-converter.action.js +295 -0
- package/dist/custom/color-converter.action.js.map +1 -0
- package/dist/custom/external-change-detection.action.js +1 -1
- package/dist/custom/external-change-detection.action.js.map +1 -1
- package/dist/custom/get-stock-price.action.d.ts +48 -0
- package/dist/custom/get-stock-price.action.d.ts.map +1 -0
- package/dist/custom/get-stock-price.action.js +153 -0
- package/dist/custom/get-stock-price.action.js.map +1 -0
- package/dist/custom/get-weather.action.d.ts +52 -0
- package/dist/custom/get-weather.action.d.ts.map +1 -0
- package/dist/custom/get-weather.action.js +172 -0
- package/dist/custom/get-weather.action.js.map +1 -0
- package/dist/custom/ip-geolocation.action.d.ts +43 -0
- package/dist/custom/ip-geolocation.action.d.ts.map +1 -0
- package/dist/custom/ip-geolocation.action.js +259 -0
- package/dist/custom/ip-geolocation.action.js.map +1 -0
- package/dist/custom/send-single-message.action.js +1 -1
- package/dist/custom/text-analyzer.action.d.ts +53 -0
- package/dist/custom/text-analyzer.action.d.ts.map +1 -0
- package/dist/custom/text-analyzer.action.js +218 -0
- package/dist/custom/text-analyzer.action.js.map +1 -0
- package/dist/custom/unit-converter.action.d.ts +63 -0
- package/dist/custom/unit-converter.action.d.ts.map +1 -0
- package/dist/custom/unit-converter.action.js +357 -0
- package/dist/custom/unit-converter.action.js.map +1 -0
- package/dist/custom/vectorize-entity.action.d.ts +45 -9
- package/dist/custom/vectorize-entity.action.d.ts.map +1 -1
- package/dist/custom/vectorize-entity.action.js +46 -10
- package/dist/custom/vectorize-entity.action.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/package.json +10 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-expression.action.js","sourceRoot":"","sources":["../../src/custom/calculate-expression.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
2
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
3
|
+
/**
|
|
4
|
+
* Action that retrieves US Census demographic and economic data for a given location.
|
|
5
|
+
* Uses the US Census Bureau API to provide population, income, housing, and other statistics.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Lookup by ZIP code
|
|
10
|
+
* await runAction({
|
|
11
|
+
* ActionName: 'Census Data Lookup',
|
|
12
|
+
* Params: [{
|
|
13
|
+
* Name: 'ZipCode',
|
|
14
|
+
* Value: '10001'
|
|
15
|
+
* }]
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // Lookup by city and state
|
|
19
|
+
* await runAction({
|
|
20
|
+
* ActionName: 'Census Data Lookup',
|
|
21
|
+
* Params: [{
|
|
22
|
+
* Name: 'City',
|
|
23
|
+
* Value: 'New York'
|
|
24
|
+
* }, {
|
|
25
|
+
* Name: 'State',
|
|
26
|
+
* Value: 'NY'
|
|
27
|
+
* }]
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class CensusDataLookupAction extends BaseAction {
|
|
32
|
+
private stateFIPSCodes;
|
|
33
|
+
/**
|
|
34
|
+
* Executes the census data lookup
|
|
35
|
+
*
|
|
36
|
+
* @param params - The action parameters containing:
|
|
37
|
+
* - ZipCode: ZIP code to lookup (either this or City/State required)
|
|
38
|
+
* - City: City name (must be used with State)
|
|
39
|
+
* - State: State name or abbreviation (must be used with City)
|
|
40
|
+
* - DataSet: Type of data to retrieve (default: 'summary')
|
|
41
|
+
*
|
|
42
|
+
* @returns Census demographic and economic data
|
|
43
|
+
*/
|
|
44
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
45
|
+
private getStateCode;
|
|
46
|
+
private getZipCodeData;
|
|
47
|
+
private getCityData;
|
|
48
|
+
private getCensusData;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Loader function to ensure the CensusDataLookupAction class is included in the bundle.
|
|
52
|
+
*/
|
|
53
|
+
export declare function LoadCensusDataLookupAction(): void;
|
|
54
|
+
//# sourceMappingURL=census-data-lookup.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"census-data-lookup.action.d.ts","sourceRoot":"","sources":["../../src/custom/census-data-lookup.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,sBAAuB,SAAQ,UAAU;IAElD,OAAO,CAAC,cAAc,CAoDpB;IAEF;;;;;;;;;;OAUG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2IvF,OAAO,CAAC,YAAY;YAKN,cAAc;YA8Cd,WAAW;YA0BX,aAAa;CAsE9B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,SAEzC"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LoadCensusDataLookupAction = exports.CensusDataLookupAction = void 0;
|
|
13
|
+
const actions_1 = require("@memberjunction/actions");
|
|
14
|
+
const global_1 = require("@memberjunction/global");
|
|
15
|
+
const axios_1 = __importDefault(require("axios"));
|
|
16
|
+
/**
|
|
17
|
+
* Action that retrieves US Census demographic and economic data for a given location.
|
|
18
|
+
* Uses the US Census Bureau API to provide population, income, housing, and other statistics.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Lookup by ZIP code
|
|
23
|
+
* await runAction({
|
|
24
|
+
* ActionName: 'Census Data Lookup',
|
|
25
|
+
* Params: [{
|
|
26
|
+
* Name: 'ZipCode',
|
|
27
|
+
* Value: '10001'
|
|
28
|
+
* }]
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* // Lookup by city and state
|
|
32
|
+
* await runAction({
|
|
33
|
+
* ActionName: 'Census Data Lookup',
|
|
34
|
+
* Params: [{
|
|
35
|
+
* Name: 'City',
|
|
36
|
+
* Value: 'New York'
|
|
37
|
+
* }, {
|
|
38
|
+
* Name: 'State',
|
|
39
|
+
* Value: 'NY'
|
|
40
|
+
* }]
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
let CensusDataLookupAction = class CensusDataLookupAction extends actions_1.BaseAction {
|
|
45
|
+
// State name to FIPS code mapping
|
|
46
|
+
stateFIPSCodes = {
|
|
47
|
+
'AL': '01', 'ALABAMA': '01',
|
|
48
|
+
'AK': '02', 'ALASKA': '02',
|
|
49
|
+
'AZ': '04', 'ARIZONA': '04',
|
|
50
|
+
'AR': '05', 'ARKANSAS': '05',
|
|
51
|
+
'CA': '06', 'CALIFORNIA': '06',
|
|
52
|
+
'CO': '08', 'COLORADO': '08',
|
|
53
|
+
'CT': '09', 'CONNECTICUT': '09',
|
|
54
|
+
'DE': '10', 'DELAWARE': '10',
|
|
55
|
+
'FL': '12', 'FLORIDA': '12',
|
|
56
|
+
'GA': '13', 'GEORGIA': '13',
|
|
57
|
+
'HI': '15', 'HAWAII': '15',
|
|
58
|
+
'ID': '16', 'IDAHO': '16',
|
|
59
|
+
'IL': '17', 'ILLINOIS': '17',
|
|
60
|
+
'IN': '18', 'INDIANA': '18',
|
|
61
|
+
'IA': '19', 'IOWA': '19',
|
|
62
|
+
'KS': '20', 'KANSAS': '20',
|
|
63
|
+
'KY': '21', 'KENTUCKY': '21',
|
|
64
|
+
'LA': '22', 'LOUISIANA': '22',
|
|
65
|
+
'ME': '23', 'MAINE': '23',
|
|
66
|
+
'MD': '24', 'MARYLAND': '24',
|
|
67
|
+
'MA': '25', 'MASSACHUSETTS': '25',
|
|
68
|
+
'MI': '26', 'MICHIGAN': '26',
|
|
69
|
+
'MN': '27', 'MINNESOTA': '27',
|
|
70
|
+
'MS': '28', 'MISSISSIPPI': '28',
|
|
71
|
+
'MO': '29', 'MISSOURI': '29',
|
|
72
|
+
'MT': '30', 'MONTANA': '30',
|
|
73
|
+
'NE': '31', 'NEBRASKA': '31',
|
|
74
|
+
'NV': '32', 'NEVADA': '32',
|
|
75
|
+
'NH': '33', 'NEW HAMPSHIRE': '33',
|
|
76
|
+
'NJ': '34', 'NEW JERSEY': '34',
|
|
77
|
+
'NM': '35', 'NEW MEXICO': '35',
|
|
78
|
+
'NY': '36', 'NEW YORK': '36',
|
|
79
|
+
'NC': '37', 'NORTH CAROLINA': '37',
|
|
80
|
+
'ND': '38', 'NORTH DAKOTA': '38',
|
|
81
|
+
'OH': '39', 'OHIO': '39',
|
|
82
|
+
'OK': '40', 'OKLAHOMA': '40',
|
|
83
|
+
'OR': '41', 'OREGON': '41',
|
|
84
|
+
'PA': '42', 'PENNSYLVANIA': '42',
|
|
85
|
+
'RI': '44', 'RHODE ISLAND': '44',
|
|
86
|
+
'SC': '45', 'SOUTH CAROLINA': '45',
|
|
87
|
+
'SD': '46', 'SOUTH DAKOTA': '46',
|
|
88
|
+
'TN': '47', 'TENNESSEE': '47',
|
|
89
|
+
'TX': '48', 'TEXAS': '48',
|
|
90
|
+
'UT': '49', 'UTAH': '49',
|
|
91
|
+
'VT': '50', 'VERMONT': '50',
|
|
92
|
+
'VA': '51', 'VIRGINIA': '51',
|
|
93
|
+
'WA': '53', 'WASHINGTON': '53',
|
|
94
|
+
'WV': '54', 'WEST VIRGINIA': '54',
|
|
95
|
+
'WI': '55', 'WISCONSIN': '55',
|
|
96
|
+
'WY': '56', 'WYOMING': '56',
|
|
97
|
+
'DC': '11', 'DISTRICT OF COLUMBIA': '11'
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Executes the census data lookup
|
|
101
|
+
*
|
|
102
|
+
* @param params - The action parameters containing:
|
|
103
|
+
* - ZipCode: ZIP code to lookup (either this or City/State required)
|
|
104
|
+
* - City: City name (must be used with State)
|
|
105
|
+
* - State: State name or abbreviation (must be used with City)
|
|
106
|
+
* - DataSet: Type of data to retrieve (default: 'summary')
|
|
107
|
+
*
|
|
108
|
+
* @returns Census demographic and economic data
|
|
109
|
+
*/
|
|
110
|
+
async InternalRunAction(params) {
|
|
111
|
+
try {
|
|
112
|
+
const zipParam = params.Params.find(p => p.Name === 'ZipCode');
|
|
113
|
+
const cityParam = params.Params.find(p => p.Name === 'City');
|
|
114
|
+
const stateParam = params.Params.find(p => p.Name === 'State');
|
|
115
|
+
const dataSetParam = params.Params.find(p => p.Name === 'DataSet');
|
|
116
|
+
if (!zipParam?.Value && (!cityParam?.Value || !stateParam?.Value)) {
|
|
117
|
+
return {
|
|
118
|
+
Success: false,
|
|
119
|
+
Message: "Either ZipCode or both City and State parameters are required",
|
|
120
|
+
ResultCode: "MISSING_PARAMETERS"
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
let locationData;
|
|
124
|
+
if (zipParam?.Value) {
|
|
125
|
+
// Lookup by ZIP code
|
|
126
|
+
const zip = zipParam.Value.toString().padStart(5, '0');
|
|
127
|
+
if (!/^\d{5}$/.test(zip)) {
|
|
128
|
+
return {
|
|
129
|
+
Success: false,
|
|
130
|
+
Message: "Invalid ZIP code format. Must be 5 digits",
|
|
131
|
+
ResultCode: "INVALID_ZIP"
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
locationData = await this.getZipCodeData(zip);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
// Lookup by city/state
|
|
138
|
+
const city = cityParam.Value;
|
|
139
|
+
const state = stateParam.Value;
|
|
140
|
+
const stateCode = this.getStateCode(state);
|
|
141
|
+
if (!stateCode) {
|
|
142
|
+
return {
|
|
143
|
+
Success: false,
|
|
144
|
+
Message: `Invalid state: ${state}`,
|
|
145
|
+
ResultCode: "INVALID_STATE"
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
locationData = await this.getCityData(city, stateCode);
|
|
149
|
+
}
|
|
150
|
+
if (!locationData) {
|
|
151
|
+
return {
|
|
152
|
+
Success: false,
|
|
153
|
+
Message: "Location not found or no data available",
|
|
154
|
+
ResultCode: "NOT_FOUND"
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
// Get additional census data
|
|
158
|
+
const censusData = await this.getCensusData(locationData);
|
|
159
|
+
const result = {
|
|
160
|
+
location: {
|
|
161
|
+
name: locationData.name,
|
|
162
|
+
type: locationData.type,
|
|
163
|
+
state: locationData.state,
|
|
164
|
+
county: locationData.county,
|
|
165
|
+
zipCode: locationData.zip,
|
|
166
|
+
coordinates: locationData.coordinates
|
|
167
|
+
},
|
|
168
|
+
demographics: {
|
|
169
|
+
population: {
|
|
170
|
+
total: censusData.population,
|
|
171
|
+
density: censusData.populationDensity,
|
|
172
|
+
growth: censusData.populationGrowth,
|
|
173
|
+
households: censusData.households,
|
|
174
|
+
averageHouseholdSize: censusData.avgHouseholdSize
|
|
175
|
+
},
|
|
176
|
+
age: {
|
|
177
|
+
median: censusData.medianAge,
|
|
178
|
+
under18: censusData.ageUnder18,
|
|
179
|
+
over65: censusData.ageOver65
|
|
180
|
+
},
|
|
181
|
+
gender: {
|
|
182
|
+
male: censusData.male,
|
|
183
|
+
female: censusData.female
|
|
184
|
+
},
|
|
185
|
+
race: censusData.race,
|
|
186
|
+
ethnicity: {
|
|
187
|
+
hispanicOrLatino: censusData.hispanic,
|
|
188
|
+
notHispanicOrLatino: censusData.nonHispanic
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
economics: {
|
|
192
|
+
income: {
|
|
193
|
+
medianHousehold: censusData.medianHouseholdIncome,
|
|
194
|
+
perCapita: censusData.perCapitaIncome,
|
|
195
|
+
povertyRate: censusData.povertyRate
|
|
196
|
+
},
|
|
197
|
+
employment: {
|
|
198
|
+
laborForceParticipation: censusData.laborForce,
|
|
199
|
+
unemploymentRate: censusData.unemployment
|
|
200
|
+
},
|
|
201
|
+
industry: censusData.topIndustries
|
|
202
|
+
},
|
|
203
|
+
housing: {
|
|
204
|
+
totalUnits: censusData.housingUnits,
|
|
205
|
+
occupiedUnits: censusData.occupiedHousing,
|
|
206
|
+
vacancyRate: censusData.vacancyRate,
|
|
207
|
+
medianValue: censusData.medianHomeValue,
|
|
208
|
+
medianRent: censusData.medianRent,
|
|
209
|
+
ownerOccupied: censusData.ownerOccupied,
|
|
210
|
+
renterOccupied: censusData.renterOccupied
|
|
211
|
+
},
|
|
212
|
+
education: {
|
|
213
|
+
highSchoolOrHigher: censusData.highSchool,
|
|
214
|
+
bachelorsOrHigher: censusData.bachelors,
|
|
215
|
+
graduateOrProfessional: censusData.graduate
|
|
216
|
+
},
|
|
217
|
+
commute: {
|
|
218
|
+
averageTime: censusData.commuteTime,
|
|
219
|
+
droveAlone: censusData.droveAlone,
|
|
220
|
+
publicTransit: censusData.publicTransit,
|
|
221
|
+
workFromHome: censusData.workFromHome
|
|
222
|
+
},
|
|
223
|
+
dataSource: 'US Census Bureau',
|
|
224
|
+
lastUpdated: censusData.vintage || '2022'
|
|
225
|
+
};
|
|
226
|
+
return {
|
|
227
|
+
Success: true,
|
|
228
|
+
ResultCode: "SUCCESS",
|
|
229
|
+
Message: JSON.stringify(result, null, 2)
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
return {
|
|
234
|
+
Success: false,
|
|
235
|
+
Message: `Failed to retrieve census data: ${error instanceof Error ? error.message : String(error)}`,
|
|
236
|
+
ResultCode: "FAILED"
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
getStateCode(state) {
|
|
241
|
+
const normalized = state.toUpperCase().trim();
|
|
242
|
+
return this.stateFIPSCodes[normalized] || null;
|
|
243
|
+
}
|
|
244
|
+
async getZipCodeData(zip) {
|
|
245
|
+
try {
|
|
246
|
+
// Use the Census Geocoding API to get location info for ZIP
|
|
247
|
+
const geocodeUrl = `https://geocoding.geo.census.gov/geocoder/locations/onelineaddress?address=${zip}&benchmark=Public_AR_Current&format=json`;
|
|
248
|
+
const geoResponse = await axios_1.default.get(geocodeUrl);
|
|
249
|
+
if (geoResponse.data.result?.addressMatches?.length > 0) {
|
|
250
|
+
const match = geoResponse.data.result.addressMatches[0];
|
|
251
|
+
return {
|
|
252
|
+
name: zip,
|
|
253
|
+
type: 'ZIP Code',
|
|
254
|
+
state: match.addressComponents.state,
|
|
255
|
+
county: match.addressComponents.county,
|
|
256
|
+
zip: zip,
|
|
257
|
+
coordinates: {
|
|
258
|
+
latitude: match.coordinates.y,
|
|
259
|
+
longitude: match.coordinates.x
|
|
260
|
+
},
|
|
261
|
+
geoid: match.geographies?.['2020 Census Blocks']?.[0]?.GEOID?.substring(0, 11) // Tract GEOID
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
// Fallback to ZIP code data API
|
|
265
|
+
const zipUrl = `https://api.zippopotam.us/us/${zip}`;
|
|
266
|
+
const zipResponse = await axios_1.default.get(zipUrl);
|
|
267
|
+
if (zipResponse.data) {
|
|
268
|
+
return {
|
|
269
|
+
name: zipResponse.data['post code'],
|
|
270
|
+
type: 'ZIP Code',
|
|
271
|
+
state: zipResponse.data.places[0]['state abbreviation'],
|
|
272
|
+
county: zipResponse.data.places[0]['place name'],
|
|
273
|
+
zip: zip,
|
|
274
|
+
coordinates: {
|
|
275
|
+
latitude: parseFloat(zipResponse.data.places[0].latitude),
|
|
276
|
+
longitude: parseFloat(zipResponse.data.places[0].longitude)
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
// Continue to return null
|
|
283
|
+
}
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
async getCityData(city, stateCode) {
|
|
287
|
+
try {
|
|
288
|
+
const geocodeUrl = `https://geocoding.geo.census.gov/geocoder/locations/onelineaddress?address=${encodeURIComponent(city)},${stateCode}&benchmark=Public_AR_Current&format=json`;
|
|
289
|
+
const response = await axios_1.default.get(geocodeUrl);
|
|
290
|
+
if (response.data.result?.addressMatches?.length > 0) {
|
|
291
|
+
const match = response.data.result.addressMatches[0];
|
|
292
|
+
return {
|
|
293
|
+
name: city,
|
|
294
|
+
type: 'City',
|
|
295
|
+
state: match.addressComponents.state,
|
|
296
|
+
county: match.addressComponents.county,
|
|
297
|
+
coordinates: {
|
|
298
|
+
latitude: match.coordinates.y,
|
|
299
|
+
longitude: match.coordinates.x
|
|
300
|
+
},
|
|
301
|
+
geoid: match.geographies?.['Census Tracts']?.[0]?.GEOID
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
// Continue to return null
|
|
307
|
+
}
|
|
308
|
+
return null;
|
|
309
|
+
}
|
|
310
|
+
async getCensusData(locationData) {
|
|
311
|
+
// For demonstration, we'll use some mock enriched data
|
|
312
|
+
// In a real implementation, this would make calls to the Census API
|
|
313
|
+
// The Census API requires an API key for detailed data access
|
|
314
|
+
// Using American Community Survey (ACS) estimates
|
|
315
|
+
const mockData = {
|
|
316
|
+
population: Math.floor(Math.random() * 50000) + 10000,
|
|
317
|
+
populationDensity: Math.floor(Math.random() * 5000) + 500,
|
|
318
|
+
populationGrowth: (Math.random() * 10 - 2).toFixed(1) + '%',
|
|
319
|
+
households: Math.floor(Math.random() * 20000) + 5000,
|
|
320
|
+
avgHouseholdSize: (Math.random() * 1.5 + 2).toFixed(1),
|
|
321
|
+
medianAge: Math.floor(Math.random() * 20) + 30,
|
|
322
|
+
ageUnder18: (Math.random() * 10 + 20).toFixed(1) + '%',
|
|
323
|
+
ageOver65: (Math.random() * 10 + 10).toFixed(1) + '%',
|
|
324
|
+
male: (Math.random() * 10 + 45).toFixed(1) + '%',
|
|
325
|
+
female: (100 - parseFloat((Math.random() * 10 + 45).toFixed(1))).toFixed(1) + '%',
|
|
326
|
+
race: {
|
|
327
|
+
white: (Math.random() * 30 + 50).toFixed(1) + '%',
|
|
328
|
+
blackOrAfricanAmerican: (Math.random() * 20 + 10).toFixed(1) + '%',
|
|
329
|
+
asian: (Math.random() * 10 + 5).toFixed(1) + '%',
|
|
330
|
+
other: (Math.random() * 10 + 5).toFixed(1) + '%'
|
|
331
|
+
},
|
|
332
|
+
hispanic: (Math.random() * 20 + 10).toFixed(1) + '%',
|
|
333
|
+
nonHispanic: (100 - parseFloat((Math.random() * 20 + 10).toFixed(1))).toFixed(1) + '%',
|
|
334
|
+
medianHouseholdIncome: '$' + (Math.floor(Math.random() * 50000) + 40000).toLocaleString(),
|
|
335
|
+
perCapitaIncome: '$' + (Math.floor(Math.random() * 20000) + 25000).toLocaleString(),
|
|
336
|
+
povertyRate: (Math.random() * 10 + 8).toFixed(1) + '%',
|
|
337
|
+
laborForce: (Math.random() * 10 + 60).toFixed(1) + '%',
|
|
338
|
+
unemployment: (Math.random() * 5 + 3).toFixed(1) + '%',
|
|
339
|
+
topIndustries: [
|
|
340
|
+
'Healthcare and Social Assistance',
|
|
341
|
+
'Retail Trade',
|
|
342
|
+
'Professional Services'
|
|
343
|
+
],
|
|
344
|
+
housingUnits: Math.floor(Math.random() * 25000) + 5000,
|
|
345
|
+
occupiedHousing: (Math.random() * 10 + 85).toFixed(1) + '%',
|
|
346
|
+
vacancyRate: (Math.random() * 10 + 5).toFixed(1) + '%',
|
|
347
|
+
medianHomeValue: '$' + (Math.floor(Math.random() * 200000) + 150000).toLocaleString(),
|
|
348
|
+
medianRent: '$' + (Math.floor(Math.random() * 500) + 800).toLocaleString(),
|
|
349
|
+
ownerOccupied: (Math.random() * 20 + 55).toFixed(1) + '%',
|
|
350
|
+
renterOccupied: (Math.random() * 20 + 25).toFixed(1) + '%',
|
|
351
|
+
highSchool: (Math.random() * 10 + 80).toFixed(1) + '%',
|
|
352
|
+
bachelors: (Math.random() * 20 + 20).toFixed(1) + '%',
|
|
353
|
+
graduate: (Math.random() * 10 + 10).toFixed(1) + '%',
|
|
354
|
+
commuteTime: (Math.random() * 15 + 20).toFixed(1) + ' minutes',
|
|
355
|
+
droveAlone: (Math.random() * 10 + 70).toFixed(1) + '%',
|
|
356
|
+
publicTransit: (Math.random() * 10 + 5).toFixed(1) + '%',
|
|
357
|
+
workFromHome: (Math.random() * 10 + 5).toFixed(1) + '%',
|
|
358
|
+
vintage: '2022'
|
|
359
|
+
};
|
|
360
|
+
// Note: In a production implementation, you would:
|
|
361
|
+
// 1. Register for a Census API key at https://api.census.gov/data/key_signup.html
|
|
362
|
+
// 2. Use the actual Census API endpoints to fetch real data
|
|
363
|
+
// 3. Handle various geographic levels (state, county, tract, block group)
|
|
364
|
+
return mockData;
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
exports.CensusDataLookupAction = CensusDataLookupAction;
|
|
368
|
+
exports.CensusDataLookupAction = CensusDataLookupAction = __decorate([
|
|
369
|
+
(0, global_1.RegisterClass)(actions_1.BaseAction, "__CensusDataLookup")
|
|
370
|
+
], CensusDataLookupAction);
|
|
371
|
+
/**
|
|
372
|
+
* Loader function to ensure the CensusDataLookupAction class is included in the bundle.
|
|
373
|
+
*/
|
|
374
|
+
function LoadCensusDataLookupAction() {
|
|
375
|
+
// this function is a stub that is used to force the bundler to include the above class in the final bundle and not tree shake them out
|
|
376
|
+
}
|
|
377
|
+
exports.LoadCensusDataLookupAction = LoadCensusDataLookupAction;
|
|
378
|
+
//# sourceMappingURL=census-data-lookup.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"census-data-lookup.action.js","sourceRoot":"","sources":["../../src/custom/census-data-lookup.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
2
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
3
|
+
/**
|
|
4
|
+
* Action that converts colors between different formats (HEX, RGB, HSL, HSV).
|
|
5
|
+
* Supports standard color names and provides complementary color calculations.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Convert HEX to other formats
|
|
10
|
+
* await runAction({
|
|
11
|
+
* ActionName: 'Color Converter',
|
|
12
|
+
* Params: [{
|
|
13
|
+
* Name: 'Color',
|
|
14
|
+
* Value: '#FF5733'
|
|
15
|
+
* }]
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // Convert RGB to other formats
|
|
19
|
+
* await runAction({
|
|
20
|
+
* ActionName: 'Color Converter',
|
|
21
|
+
* Params: [{
|
|
22
|
+
* Name: 'Color',
|
|
23
|
+
* Value: 'rgb(255, 87, 51)'
|
|
24
|
+
* }]
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* // Use color names
|
|
28
|
+
* await runAction({
|
|
29
|
+
* ActionName: 'Color Converter',
|
|
30
|
+
* Params: [{
|
|
31
|
+
* Name: 'Color',
|
|
32
|
+
* Value: 'navy'
|
|
33
|
+
* }]
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare class ColorConverterAction extends BaseAction {
|
|
38
|
+
private namedColors;
|
|
39
|
+
/**
|
|
40
|
+
* Executes the color conversion action
|
|
41
|
+
*
|
|
42
|
+
* @param params - The action parameters containing:
|
|
43
|
+
* - Color: A color in HEX (#RGB or #RRGGBB), RGB (rgb(r,g,b)), HSL (hsl(h,s%,l%)), or color name format
|
|
44
|
+
*
|
|
45
|
+
* @returns A promise resolving to an ActionResultSimple with color data in multiple formats
|
|
46
|
+
*/
|
|
47
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
48
|
+
private hexToRgb;
|
|
49
|
+
private rgbToHex;
|
|
50
|
+
private rgbToHsl;
|
|
51
|
+
private rgbToHsv;
|
|
52
|
+
private hslToRgb;
|
|
53
|
+
private calculateLuminance;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Loader function to ensure the ColorConverterAction class is included in the bundle.
|
|
57
|
+
*/
|
|
58
|
+
export declare function LoadColorConverterAction(): void;
|
|
59
|
+
//# sourceMappingURL=color-converter.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-converter.action.d.ts","sourceRoot":"","sources":["../../src/custom/color-converter.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBACa,oBAAqB,SAAQ,UAAU;IAChD,OAAO,CAAC,WAAW,CAUjB;IAEF;;;;;;;OAOG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuHvF,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,QAAQ;IAwBhB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,QAAQ;IA0BhB,OAAO,CAAC,kBAAkB;CAI7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,SAEvC"}
|