Skip to content

Instantly share code, notes, and snippets.

View m-arrieta-r's full-sized avatar

Minor Arrieta Rojas m-arrieta-r

View GitHub Profile
@m-arrieta-r
m-arrieta-r / EmailSender.ts
Last active April 29, 2024 02:17
Email Sender with attachments using: - SES AWS SDK v3 (SendRawEmail) - Nodemailer (MailComposer)
import { Logger } from "@aws-lambda-powertools/logger";
import { SESClient, SendRawEmailCommand } from "@aws-sdk/client-ses";
import MailComposer from 'nodemailer/lib/mail-composer/index.js';
type RawEmailCommandInput = {
from: string;
to: string;
subject: string;
text?: string;
import { AmplifyAuth } from '@aws-amplify/auth-construct-alpha';
import { AmplifyData, AmplifyDataDefinition } from '@aws-amplify/data-construct';
import { NodejsFunction, NodejsFunctionProps } from 'aws-cdk-lib/aws-lambda-nodejs';
import { aws_lambda }from 'aws-cdk-lib';
import * as cdk from 'aws-cdk-lib';
import { UserPool } from 'aws-cdk-lib/aws-cognito';
import { Construct } from 'constructs';
import { DynamoEventSource, DynamoEventSourceProps } from 'aws-cdk-lib/aws-lambda-event-sources';
type LambdaTriggerToDynamoProps = {
import jsdom from 'jsdom';
const originalHTML = '<html><head></head><body><oembed url="https://www.youtube.com/watch?v=dQw4w9WgXcQ"></oembed><p>Some text.</p><oembed url="https://vimeo.com/123456789"></oembed></body></html>';
const dom = new jsdom.JSDOM(originalHTML, { contentType: 'text/html' });
const document = dom.window.document;
const oembeds = document.querySelectorAll('oembed');
const promises = Array.from(embeds).map(async () => {
const url = element.attributes.url.value;
const contentResponse = await fetch(`https://oembed.ameliarueda.com/oembed?url=${url}`);
@m-arrieta-r
m-arrieta-r / iframely-experiment.html
Created June 22, 2023 13:48
iframely experiment
<html>
<head>
<title>Iframely Experiment</title>
</head>
<body>
<h1>Iframely Experiment</h1>
<div>
<figure class="media">
<oembed url="https://twitter.com/ice_panel/status/1668998855969628176"></oembed>
</figure>
@m-arrieta-r
m-arrieta-r / cdk-remix-run.stack.ts
Created November 29, 2022 01:57
Remix.run - AWS API Gateway v2 - S3 Integration - Lambda
import * as cdk from 'aws-cdk-lib';
import type { Construct } from "constructs";
import { NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
import { RemovalPolicy } from 'aws-cdk-lib';
import { RetentionDays } from 'aws-cdk-lib/aws-logs';
import { Alias, Runtime } from 'aws-cdk-lib/aws-lambda';
import {
HttpApi, HttpMethod,
} from '@aws-cdk/aws-apigatewayv2-alpha';
import { HttpLambdaIntegration, HttpUrlIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha';
@m-arrieta-r
m-arrieta-r / prismaVSmysqlDriver.ts
Last active September 25, 2022 22:04
Simple performance test - Prisma 2 vs mysql Driver
function getOrdersById(id: number) {
console.time('NewPrismaClient');
const prisma = new PrismaClient();
console.timeEnd('NewPrismaClient');
console.time('OrmQuery');
await prisma.tb_orders.findMany({
where: {
orderId: id,
},
});
@m-arrieta-r
m-arrieta-r / someUsefulRegexStr.js
Last active May 15, 2020 15:07
Regex: remove underscore - add spaces before uppercase - remove double spaces - remove duplicate words
let str = "Hello__helloWorld__minor"
str = str.replace(/_/g, ' ').trim() // remove underscore
str = str.replace(/([A-Z])/g, ' $1') // add spaces before uppercase
str = str.replace(/ +/g, ' '); // remove double space
str = str.replace(/(\b\S+\b)(?=.*\1)/ig, '') // remove duplicate words https://stackoverflow.com/a/46364625
console.log(str.trim())
@m-arrieta-r
m-arrieta-r / FrontEndRequest.ts
Last active February 9, 2020 14:57
FrontEndRequest
import { FrontEndRequest } from '../../src/types/globalInterfaces'
const request: FrontEndRequest = {
Emisor: {
Nombre: 'SRL',
Identificacion: {
Tipo: '02',
Numero: '3102759157'
},
NombreComercial: 'CIENCIA DEL SABOR',
Ubicacion: {
@m-arrieta-r
m-arrieta-r / parents.js
Created August 11, 2017 19:32 — forked from ziggi/parents.js
Vanilla JS jQuery.parents() realisation
Element.prototype.parents = function(selector) {
var elements = [];
var elem = this;
var ishaveselector = selector !== undefined;
while ((elem = elem.parentElement) !== null) {
if (elem.nodeType !== Node.ELEMENT_NODE) {
continue;
}