@epsilon-asi/actors 0.0.21 → 0.0.22
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/sites/upwork-com/upwork-com.actor.js +0 -1
- package/dist/sites/upwork-com/upwork-com.actor.js.map +1 -1
- package/dist/sites/upwork-com/util/scrapeJobListing.d.ts +1 -0
- package/dist/sites/upwork-com/util/scrapeJobListing.d.ts.map +1 -1
- package/dist/sites/upwork-com/util/scrapeJobListing.js +4 -0
- package/dist/sites/upwork-com/util/scrapeJobListing.js.map +1 -1
- package/package.json +1 -1
- package/src/sites/upwork-com/upwork-com.actor.ts +0 -1
- package/src/sites/upwork-com/util/scrapeJobListing.ts +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upwork-com.actor.js","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"upwork-com.actor.js","sourceRoot":"","sources":["../../../src/sites/upwork-com/upwork-com.actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export declare const UpworkJobListingSchema: z.ZodObject<{
|
|
|
8
8
|
id: z.ZodString;
|
|
9
9
|
title: z.ZodString;
|
|
10
10
|
url: z.ZodString;
|
|
11
|
+
alreadyApplied: z.ZodBoolean;
|
|
11
12
|
postedAtText: z.ZodNullable<z.ZodString>;
|
|
12
13
|
proposalsText: z.ZodNullable<z.ZodString>;
|
|
13
14
|
description: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrapeJobListing.d.ts","sourceRoot":"","sources":["../../../../src/sites/upwork-com/util/scrapeJobListing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,CAAC,EAAC,MAAM,QAAQ,CAAC;AAKzB,oBAAY,eAAe;IACvB,QAAQ,WAAW;IACnB,OAAO,UAAU;CACpB;AAED,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"scrapeJobListing.d.ts","sourceRoot":"","sources":["../../../../src/sites/upwork-com/util/scrapeJobListing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,CAAC,EAAC,MAAM,QAAQ,CAAC;AAKzB,oBAAY,eAAe;IACvB,QAAQ,WAAW;IACnB,OAAO,UAAU;CACpB;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgDjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAoEtE,wBAAsB,qBAAqB,CACvC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAqJ3B;AAMD,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE,IAAI,GACX,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAY7B"}
|
|
@@ -11,6 +11,7 @@ export const UpworkJobListingSchema = z.object({
|
|
|
11
11
|
id: z.string(),
|
|
12
12
|
title: z.string(),
|
|
13
13
|
url: z.string(),
|
|
14
|
+
alreadyApplied: z.boolean(),
|
|
14
15
|
postedAtText: z.string().nullable(),
|
|
15
16
|
proposalsText: z.string().nullable(),
|
|
16
17
|
description: z.string(),
|
|
@@ -106,6 +107,7 @@ export async function parseUpworkJobListing(article) {
|
|
|
106
107
|
const titleAnchor = node.querySelector('[data-test="job-tile-title-link UpLink"]');
|
|
107
108
|
const jobInfoItems = Array.from(node.querySelectorAll('[data-test="JobInfo"] li')).map((li) => li.textContent?.trim() ?? "");
|
|
108
109
|
const clientInfoItems = Array.from(node.querySelectorAll('[data-test="JobInfoClient"] li')).map((li) => li.textContent?.trim() ?? "");
|
|
110
|
+
const alreadyApplied = !!node.querySelector('[data-test="JobBadgeApplied"]');
|
|
109
111
|
const hourlyItem = jobInfoItems.find((x) => x.toLowerCase().includes("hourly")) ?? null;
|
|
110
112
|
const fixedItem = jobInfoItems.find((x) => x.toLowerCase().includes("fixed")) ?? null;
|
|
111
113
|
const experienceLevel = node
|
|
@@ -127,6 +129,7 @@ export async function parseUpworkJobListing(article) {
|
|
|
127
129
|
id: node.getAttribute("data-ev-job-uid") ??
|
|
128
130
|
node.getAttribute("data-test-key") ??
|
|
129
131
|
"",
|
|
132
|
+
alreadyApplied,
|
|
130
133
|
title: titleAnchor?.textContent?.trim() ?? "",
|
|
131
134
|
url: titleAnchor?.href ?? "",
|
|
132
135
|
postedAtText: getText('[data-test="job-pubilshed-date"] span:first-child') ?? null,
|
|
@@ -154,6 +157,7 @@ export async function parseUpworkJobListing(article) {
|
|
|
154
157
|
const ratingMatch = extracted.ratingText?.match(/(\d+(\.\d+)?)/);
|
|
155
158
|
const parsed = {
|
|
156
159
|
id: cleanText(extracted.id),
|
|
160
|
+
alreadyApplied: extracted.alreadyApplied,
|
|
157
161
|
title: cleanText(extracted.title),
|
|
158
162
|
url: cleanText(extracted.url),
|
|
159
163
|
postedAtText: cleanText(extracted.postedAtText),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrapeJobListing.js","sourceRoot":"","sources":["../../../../src/sites/upwork-com/util/scrapeJobListing.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,QAAQ,CAAC;AAEzB;;uGAEuG;AACvG,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"scrapeJobListing.js","sourceRoot":"","sources":["../../../../src/sites/upwork-com/util/scrapeJobListing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@ export const UpworkJobListingSchema = z.object({
|
|
|
14
14
|
|
|
15
15
|
title: z.string(),
|
|
16
16
|
url: z.string(),
|
|
17
|
-
|
|
17
|
+
alreadyApplied: z.boolean(),
|
|
18
18
|
postedAtText: z.string().nullable(),
|
|
19
19
|
proposalsText: z.string().nullable(),
|
|
20
20
|
|
|
@@ -155,6 +155,7 @@ export async function parseUpworkJobListing(
|
|
|
155
155
|
node.querySelectorAll('[data-test="JobInfoClient"] li'),
|
|
156
156
|
).map((li) => li.textContent?.trim() ?? "");
|
|
157
157
|
|
|
158
|
+
const alreadyApplied = !!node.querySelector('[data-test="JobBadgeApplied"]');
|
|
158
159
|
const hourlyItem =
|
|
159
160
|
jobInfoItems.find((x) => x.toLowerCase().includes("hourly")) ?? null;
|
|
160
161
|
|
|
@@ -191,7 +192,7 @@ export async function parseUpworkJobListing(
|
|
|
191
192
|
node.getAttribute("data-ev-job-uid") ??
|
|
192
193
|
node.getAttribute("data-test-key") ??
|
|
193
194
|
"",
|
|
194
|
-
|
|
195
|
+
alreadyApplied,
|
|
195
196
|
title: titleAnchor?.textContent?.trim() ?? "",
|
|
196
197
|
|
|
197
198
|
url: titleAnchor?.href ?? "",
|
|
@@ -237,7 +238,7 @@ export async function parseUpworkJobListing(
|
|
|
237
238
|
|
|
238
239
|
const parsed: UpworkJobListing = {
|
|
239
240
|
id: cleanText(extracted.id),
|
|
240
|
-
|
|
241
|
+
alreadyApplied: extracted.alreadyApplied,
|
|
241
242
|
title: cleanText(extracted.title),
|
|
242
243
|
|
|
243
244
|
url: cleanText(extracted.url),
|