pages s3
This commit is contained in:
parent
39e2248ad7
commit
148b3e2395
@ -1,55 +1,43 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { prisma } from '@/lib/prisma';
|
||||
import { createClient } from 'webdav';
|
||||
|
||||
// This file serves as an adapter to redirect requests from the old NextCloud
|
||||
// content endpoint to the new MinIO S3 content endpoint
|
||||
|
||||
export async function GET(request: Request) {
|
||||
try {
|
||||
const { searchParams } = new URL(request.url);
|
||||
const path = searchParams.get('path');
|
||||
|
||||
if (!path) {
|
||||
return NextResponse.json({ error: 'Path parameter is required' }, { status: 400 });
|
||||
}
|
||||
|
||||
// Get session
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
// Get credentials without logging
|
||||
const credentials = await prisma.webDAVCredentials.findUnique({
|
||||
where: { userId: session.user.id }
|
||||
});
|
||||
|
||||
if (!credentials) {
|
||||
return NextResponse.json({ error: 'Nextcloud credentials not found' }, { status: 404 });
|
||||
// Get query parameters
|
||||
const { searchParams } = new URL(request.url);
|
||||
const path = searchParams.get('path');
|
||||
const id = searchParams.get('id');
|
||||
|
||||
// Create a new URL for the storage API with the same parameters
|
||||
const newUrl = new URL('/api/storage/files/content', request.url);
|
||||
if (path) {
|
||||
newUrl.searchParams.set('path', path);
|
||||
}
|
||||
|
||||
// Create WebDAV client
|
||||
const client = createClient(process.env.NEXTCLOUD_URL!, {
|
||||
username: credentials.username,
|
||||
password: credentials.password,
|
||||
});
|
||||
|
||||
try {
|
||||
const content = await client.getFileContents(path, { format: 'text' });
|
||||
|
||||
// For VCF files, don't log the content
|
||||
if (path.endsWith('.vcf')) {
|
||||
return NextResponse.json({ content });
|
||||
if (id) {
|
||||
newUrl.searchParams.set('id', id);
|
||||
}
|
||||
|
||||
// Forward the request to the new endpoint
|
||||
const response = await fetch(newUrl, {
|
||||
headers: {
|
||||
'Cookie': request.headers.get('cookie') || ''
|
||||
}
|
||||
|
||||
return NextResponse.json({ content });
|
||||
} catch (error) {
|
||||
// Log error without sensitive information
|
||||
console.error('Error fetching file content:', error instanceof Error ? error.message : 'Unknown error');
|
||||
return NextResponse.json({ error: 'Failed to fetch file content' }, { status: 500 });
|
||||
}
|
||||
});
|
||||
|
||||
// Return the response from the new endpoint
|
||||
return NextResponse.json(await response.json(), { status: response.status });
|
||||
} catch (error) {
|
||||
// Log error without sensitive information
|
||||
console.error('Error in GET request:', error instanceof Error ? error.message : 'Unknown error');
|
||||
console.error('Error in NextCloud content adapter:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
@ -1,274 +1,131 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { createClient } from 'webdav';
|
||||
import { prisma } from '@/lib/prisma';
|
||||
import { Buffer } from 'buffer';
|
||||
|
||||
// Use a single PrismaClient instance
|
||||
declare global {
|
||||
var prisma: PrismaClient | undefined;
|
||||
}
|
||||
|
||||
const prismaClient = global.prisma || new PrismaClient();
|
||||
if (process.env.NODE_ENV !== 'production') global.prisma = prismaClient;
|
||||
|
||||
// Helper function to create WebDAV client
|
||||
const createWebDAVClient = async (userId: string) => {
|
||||
const credentials = await prismaClient.webDAVCredentials.findUnique({
|
||||
where: { userId },
|
||||
});
|
||||
|
||||
if (!credentials) {
|
||||
throw new Error('No WebDAV credentials found');
|
||||
}
|
||||
|
||||
const baseURL = process.env.NEXTCLOUD_URL;
|
||||
if (!baseURL) {
|
||||
throw new Error('NEXTCLOUD_URL environment variable is not set');
|
||||
}
|
||||
|
||||
const normalizedBaseURL = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;
|
||||
const webdavURL = `${normalizedBaseURL}/remote.php/dav`;
|
||||
|
||||
return {
|
||||
client: createClient(webdavURL, {
|
||||
username: credentials.username,
|
||||
password: credentials.password,
|
||||
authType: 'password',
|
||||
}),
|
||||
username: credentials.username
|
||||
};
|
||||
};
|
||||
|
||||
// Helper function to extract text content from XML
|
||||
function extractTextContent(xml: string, tag: string): string | null {
|
||||
const regex = new RegExp(`<${tag}[^>]*>(.*?)</${tag}>`, 's');
|
||||
const match = xml.match(regex);
|
||||
return match ? match[1].trim() : null;
|
||||
}
|
||||
|
||||
// Helper function to check if a response is a collection
|
||||
function isCollection(xml: string): boolean {
|
||||
return xml.includes('<d:collection/>');
|
||||
}
|
||||
// This file serves as an adapter to redirect requests from the old NextCloud
|
||||
// endpoints to the new MinIO S3 endpoints
|
||||
|
||||
export async function GET(request: Request) {
|
||||
try {
|
||||
const { searchParams } = new URL(request.url);
|
||||
const folder = searchParams.get('folder');
|
||||
|
||||
if (!folder) {
|
||||
return NextResponse.json({ error: 'Folder parameter is required' }, { status: 400 });
|
||||
}
|
||||
|
||||
// Get session
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
// Get credentials without logging
|
||||
const credentials = await prisma.webDAVCredentials.findUnique({
|
||||
where: { userId: session.user.id }
|
||||
});
|
||||
|
||||
if (!credentials) {
|
||||
return NextResponse.json({ error: 'Nextcloud credentials not found' }, { status: 404 });
|
||||
// Get query parameters
|
||||
const { searchParams } = new URL(request.url);
|
||||
const folder = searchParams.get('folder');
|
||||
|
||||
// Create a new URL for the storage API with the same parameters
|
||||
const newUrl = new URL('/api/storage/files', request.url);
|
||||
if (folder) {
|
||||
newUrl.searchParams.set('folder', folder);
|
||||
}
|
||||
|
||||
const nextcloudUrl = process.env.NEXTCLOUD_URL;
|
||||
if (!nextcloudUrl) {
|
||||
return NextResponse.json({ error: 'Nextcloud URL not configured' }, { status: 500 });
|
||||
}
|
||||
|
||||
const path = `/files/${credentials.username}/Private/${folder}`;
|
||||
const url = `${nextcloudUrl}/remote.php/dav${path}`;
|
||||
|
||||
// Make PROPFIND request to get directory contents
|
||||
const response = await fetch(url, {
|
||||
method: 'PROPFIND',
|
||||
|
||||
// Forward the request to the new endpoint
|
||||
const response = await fetch(newUrl, {
|
||||
headers: {
|
||||
'Authorization': `Basic ${Buffer.from(`${credentials.username}:${credentials.password}`).toString('base64')}`,
|
||||
'Depth': '1',
|
||||
'Content-Type': 'application/xml',
|
||||
},
|
||||
body: '<?xml version="1.0" encoding="UTF-8"?><d:propfind xmlns:d="DAV:"><d:prop><d:resourcetype/><d:getlastmodified/><d:getcontentlength/><d:getcontenttype/><d:getetag/></d:prop></d:propfind>',
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
console.error('Error fetching directory contents:', response.status, response.statusText);
|
||||
return NextResponse.json({ error: 'Failed to fetch directory contents' }, { status: response.status });
|
||||
}
|
||||
|
||||
const text = await response.text();
|
||||
const files: any[] = [];
|
||||
|
||||
// Split the response into individual file entries
|
||||
const fileEntries = text.split('<d:response>').slice(1);
|
||||
|
||||
for (const entry of fileEntries) {
|
||||
const href = extractTextContent(entry, 'd:href');
|
||||
if (!href) continue;
|
||||
|
||||
// Skip if it's a collection (directory)
|
||||
if (isCollection(entry)) continue;
|
||||
|
||||
const lastmod = extractTextContent(entry, 'd:getlastmodified');
|
||||
const size = extractTextContent(entry, 'd:getcontentlength');
|
||||
const mime = extractTextContent(entry, 'd:getcontenttype');
|
||||
const etag = extractTextContent(entry, 'd:getetag');
|
||||
|
||||
const filename = href.split('/').pop() || '';
|
||||
|
||||
// For Contacts folder, return all files
|
||||
if (folder === 'Contacts') {
|
||||
files.push({
|
||||
filename: href,
|
||||
basename: filename,
|
||||
lastmod,
|
||||
size,
|
||||
type: 'file',
|
||||
etag,
|
||||
mime
|
||||
});
|
||||
}
|
||||
// For other folders, only return markdown files
|
||||
else if (filename.endsWith('.md')) {
|
||||
files.push({
|
||||
id: href,
|
||||
title: filename.replace('.md', ''),
|
||||
lastModified: new Date(lastmod || '').toISOString(),
|
||||
size,
|
||||
type: 'file',
|
||||
mime,
|
||||
etag
|
||||
});
|
||||
'Cookie': request.headers.get('cookie') || ''
|
||||
}
|
||||
}
|
||||
|
||||
return NextResponse.json(files);
|
||||
});
|
||||
|
||||
// Return the response from the new endpoint
|
||||
return NextResponse.json(await response.json(), { status: response.status });
|
||||
} catch (error) {
|
||||
// Log error without sensitive information
|
||||
console.error('Error fetching files:', error instanceof Error ? error.message : 'Unknown error');
|
||||
console.error('Error in NextCloud adapter (GET):', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
export async function POST(request: Request) {
|
||||
try {
|
||||
// Get session
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
if (!session?.user) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { title, content, folder } = await request.json();
|
||||
if (!title || !content || !folder) {
|
||||
return NextResponse.json({ error: 'Missing required fields' }, { status: 400 });
|
||||
}
|
||||
|
||||
const { client, username } = await createWebDAVClient(session.user.id);
|
||||
// Get request body
|
||||
const body = await request.json();
|
||||
|
||||
try {
|
||||
const path = `/files/${username}/Private/${folder}/${title}.md`;
|
||||
console.log('Saving note to path:', path);
|
||||
|
||||
await client.putFileContents(path, content);
|
||||
|
||||
// Get the file details after saving
|
||||
const fileDetails = await client.stat(path);
|
||||
|
||||
return NextResponse.json({
|
||||
id: fileDetails.filename,
|
||||
title: fileDetails.basename.replace('.md', ''),
|
||||
lastModified: new Date(fileDetails.lastmod).toISOString(),
|
||||
size: fileDetails.size,
|
||||
type: 'file',
|
||||
mime: fileDetails.mime,
|
||||
etag: fileDetails.etag
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error saving note:', error);
|
||||
return NextResponse.json({ error: 'Failed to save note' }, { status: 500 });
|
||||
}
|
||||
// Forward the request to the new endpoint
|
||||
const response = await fetch('/api/storage/files', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Cookie': request.headers.get('cookie') || ''
|
||||
},
|
||||
body: JSON.stringify(body)
|
||||
});
|
||||
|
||||
// Return the response from the new endpoint
|
||||
return NextResponse.json(await response.json(), { status: response.status });
|
||||
} catch (error) {
|
||||
console.error('Error in POST request:', error);
|
||||
console.error('Error in NextCloud adapter (POST):', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
export async function PUT(request: Request) {
|
||||
try {
|
||||
// Get session
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
if (!session?.user) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { id, title, content, folder, mime } = await request.json();
|
||||
if (!id || !title || !content || !folder) {
|
||||
return NextResponse.json({ error: 'Missing required fields' }, { status: 400 });
|
||||
}
|
||||
|
||||
const { client, username } = await createWebDAVClient(session.user.id);
|
||||
// Get request body
|
||||
const body = await request.json();
|
||||
|
||||
try {
|
||||
// Use the provided path directly
|
||||
const path = id;
|
||||
console.log('Updating file at path:', path);
|
||||
|
||||
// Set the correct content type based on file extension or provided mime type
|
||||
const contentType = mime || (title.endsWith('.vcf') ? 'text/vcard' : 'text/markdown');
|
||||
await client.putFileContents(path, content, { contentType });
|
||||
|
||||
// Get the updated file details
|
||||
const fileDetails = await client.stat(path);
|
||||
|
||||
return NextResponse.json({
|
||||
id: fileDetails.filename,
|
||||
title: fileDetails.basename,
|
||||
lastModified: new Date(fileDetails.lastmod).toISOString(),
|
||||
size: fileDetails.size,
|
||||
type: 'file',
|
||||
mime: fileDetails.mime,
|
||||
etag: fileDetails.etag
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error updating file:', error);
|
||||
return NextResponse.json({ error: 'Failed to update file' }, { status: 500 });
|
||||
}
|
||||
// Forward the request to the new endpoint
|
||||
const response = await fetch('/api/storage/files', {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Cookie': request.headers.get('cookie') || ''
|
||||
},
|
||||
body: JSON.stringify(body)
|
||||
});
|
||||
|
||||
// Return the response from the new endpoint
|
||||
return NextResponse.json(await response.json(), { status: response.status });
|
||||
} catch (error) {
|
||||
console.error('Error in PUT request:', error);
|
||||
console.error('Error in NextCloud adapter (PUT):', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
export async function DELETE(request: Request) {
|
||||
try {
|
||||
// Get session
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
if (!session?.user) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { id, folder } = await request.json();
|
||||
if (!id || !folder) {
|
||||
return NextResponse.json({ error: 'Missing required fields' }, { status: 400 });
|
||||
}
|
||||
|
||||
const { client, username } = await createWebDAVClient(session.user.id);
|
||||
// Get query parameters
|
||||
const { searchParams } = new URL(request.url);
|
||||
const id = searchParams.get('id');
|
||||
|
||||
try {
|
||||
const path = `/files/${username}/Private/${folder}/${id.split('/').pop()}`;
|
||||
console.log('Deleting note at path:', path);
|
||||
|
||||
await client.deleteFile(path);
|
||||
|
||||
return NextResponse.json({ success: true });
|
||||
} catch (error) {
|
||||
console.error('Error deleting note:', error);
|
||||
return NextResponse.json({ error: 'Failed to delete note' }, { status: 500 });
|
||||
// Create a new URL for the storage API with the same parameters
|
||||
const newUrl = new URL('/api/storage/files', request.url);
|
||||
if (id) {
|
||||
newUrl.searchParams.set('id', id);
|
||||
}
|
||||
|
||||
// Forward the request to the new endpoint
|
||||
const response = await fetch(newUrl, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
'Cookie': request.headers.get('cookie') || ''
|
||||
}
|
||||
});
|
||||
|
||||
// Return the response from the new endpoint
|
||||
return NextResponse.json(await response.json(), { status: response.status });
|
||||
} catch (error) {
|
||||
console.error('Error in DELETE request:', error);
|
||||
console.error('Error in NextCloud adapter (DELETE):', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
@ -1,60 +1,30 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { prisma } from '@/lib/prisma';
|
||||
import { Buffer } from 'buffer';
|
||||
|
||||
export async function POST() {
|
||||
// This file serves as an adapter to redirect requests from the old NextCloud
|
||||
// init endpoint to the new MinIO S3 init endpoint
|
||||
|
||||
export async function POST(request: Request) {
|
||||
try {
|
||||
// Get session
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const nextcloudUrl = process.env.NEXTCLOUD_URL;
|
||||
const adminUsername = process.env.NEXTCLOUD_ADMIN_USERNAME;
|
||||
const adminPassword = process.env.NEXTCLOUD_ADMIN_PASSWORD;
|
||||
|
||||
if (!nextcloudUrl || !adminUsername || !adminPassword) {
|
||||
return NextResponse.json({ error: 'Nextcloud configuration missing' }, { status: 500 });
|
||||
}
|
||||
|
||||
const username = `cube-${session.user.id}`;
|
||||
const userId = session.user.id;
|
||||
|
||||
// Get or create WebDAV credentials
|
||||
const password = await getWebDAVCredentials(nextcloudUrl, username, adminUsername, adminPassword, userId);
|
||||
|
||||
// Ensure folder structure exists
|
||||
await ensureFolderStructure(nextcloudUrl, username, password);
|
||||
|
||||
// Store initialization state in session
|
||||
const updatedSession = {
|
||||
...session,
|
||||
user: {
|
||||
...session.user,
|
||||
nextcloudInitialized: true
|
||||
// Forward the request to the new endpoint
|
||||
const response = await fetch('/api/storage/init', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Cookie': request.headers.get('cookie') || ''
|
||||
}
|
||||
};
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Nextcloud initialized successfully'
|
||||
});
|
||||
|
||||
// Return the response from the new endpoint
|
||||
return NextResponse.json(await response.json(), { status: response.status });
|
||||
} catch (error) {
|
||||
console.error('Nextcloud initialization failed:', error);
|
||||
return NextResponse.json({
|
||||
error: 'Failed to initialize Nextcloud',
|
||||
details: error instanceof Error ? error.message : 'Unknown error'
|
||||
}, { status: 500 });
|
||||
console.error('Error in NextCloud init adapter:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
// Helper functions from status/route.ts
|
||||
async function getWebDAVCredentials(nextcloudUrl: string, username: string, adminUsername: string, adminPassword: string, userId: string) {
|
||||
// ... existing getWebDAVCredentials implementation ...
|
||||
}
|
||||
|
||||
async function ensureFolderStructure(nextcloudUrl: string, username: string, password: string) {
|
||||
// ... existing ensureFolderStructure implementation ...
|
||||
}
|
||||
@ -1,378 +1,29 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { DOMParser } from '@xmldom/xmldom';
|
||||
import { Buffer } from 'buffer';
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import { prisma } from '@/lib/prisma';
|
||||
|
||||
// Cache for folder structure and credentials
|
||||
const folderCache = new Map<string, { folders: string[]; timestamp: number }>();
|
||||
const credentialsCache = new Map<string, { password: string; timestamp: number }>();
|
||||
|
||||
// Cache for Nextcloud connectivity check
|
||||
let lastConnectivityCheck = 0;
|
||||
let isNextcloudAccessible = false;
|
||||
|
||||
async function sleep(ms: number) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
async function checkNextcloudConnectivity(nextcloudUrl: string): Promise<boolean> {
|
||||
const now = Date.now();
|
||||
if (now - lastConnectivityCheck < 5 * 60 * 1000) { // 5 minutes cache
|
||||
return isNextcloudAccessible;
|
||||
}
|
||||
|
||||
try {
|
||||
const testResponse = await fetch(`${nextcloudUrl}/status.php`);
|
||||
isNextcloudAccessible = testResponse.ok;
|
||||
lastConnectivityCheck = now;
|
||||
return isNextcloudAccessible;
|
||||
} catch (error) {
|
||||
console.error('Nextcloud connectivity check failed:', error);
|
||||
isNextcloudAccessible = false;
|
||||
lastConnectivityCheck = now;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function parseXMLResponse(response: Response): Promise<any> {
|
||||
const text = await response.text();
|
||||
const parser = new DOMParser();
|
||||
const xmlDoc = parser.parseFromString(text, 'text/xml');
|
||||
|
||||
// Check for parsing errors
|
||||
const parserError = xmlDoc.getElementsByTagName('parsererror');
|
||||
if (parserError.length > 0) {
|
||||
console.error('XML Parsing Error:', parserError[0].textContent);
|
||||
throw new Error('Failed to parse XML response');
|
||||
}
|
||||
|
||||
const result: any = {};
|
||||
const root = xmlDoc.documentElement;
|
||||
|
||||
if (root && root.nodeName === 'ocs') {
|
||||
const data = root.getElementsByTagName('data')[0];
|
||||
if (data) {
|
||||
const children = data.childNodes;
|
||||
for (let i = 0; i < children.length; i++) {
|
||||
const child = children[i];
|
||||
if (child.nodeType === 1) { // Element node
|
||||
result[child.nodeName] = child.textContent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
async function createFolder(nextcloudUrl: string, username: string, password: string, folderPath: string) {
|
||||
try {
|
||||
// First check if folder exists
|
||||
const checkResponse = await fetch(`${nextcloudUrl}/remote.php/dav/files/${encodeURIComponent(username)}/${folderPath}`, {
|
||||
method: 'PROPFIND',
|
||||
headers: {
|
||||
'Authorization': `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`,
|
||||
'Depth': '0',
|
||||
},
|
||||
});
|
||||
|
||||
if (checkResponse.ok) {
|
||||
console.log(`Folder ${folderPath} already exists`);
|
||||
return;
|
||||
}
|
||||
|
||||
// If folder doesn't exist, create it
|
||||
const response = await fetch(`${nextcloudUrl}/remote.php/dav/files/${encodeURIComponent(username)}/${folderPath}`, {
|
||||
method: 'MKCOL',
|
||||
headers: {
|
||||
'Authorization': `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`,
|
||||
},
|
||||
});
|
||||
|
||||
if (!response.ok && response.status !== 405) { // 405 means folder already exists
|
||||
const errorText = await response.text();
|
||||
console.error(`Failed to create folder ${folderPath}:`, {
|
||||
status: response.status,
|
||||
statusText: response.statusText,
|
||||
error: errorText,
|
||||
url: `${nextcloudUrl}/remote.php/dav/files/${encodeURIComponent(username)}/${folderPath}`
|
||||
});
|
||||
throw new Error(`Failed to create folder ${folderPath}: ${response.status} ${response.statusText}`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`Error creating folder ${folderPath}:`, error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
async function ensureFolderStructure(nextcloudUrl: string, username: string, password: string) {
|
||||
try {
|
||||
// First, ensure the Private folder exists
|
||||
await createFolder(nextcloudUrl, username, password, 'Private');
|
||||
|
||||
// Create all required subfolders
|
||||
const subfolders = [
|
||||
'Private/Diary',
|
||||
'Private/Health',
|
||||
'Private/Contacts',
|
||||
'Private/Notes'
|
||||
];
|
||||
|
||||
for (const folder of subfolders) {
|
||||
await createFolder(nextcloudUrl, username, password, folder);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error creating folder structure:', error);
|
||||
// Don't throw the error, just log it
|
||||
// This way we don't trigger password regeneration
|
||||
}
|
||||
}
|
||||
|
||||
async function getWebDAVCredentials(nextcloudUrl: string, username: string, adminUsername: string, adminPassword: string, userId: string) {
|
||||
try {
|
||||
// First check if user exists in Nextcloud
|
||||
const userInfoResponse = await fetch(`${nextcloudUrl}/ocs/v1.php/cloud/users/${encodeURIComponent(username)}`, {
|
||||
headers: {
|
||||
'Authorization': `Basic ${Buffer.from(`${adminUsername}:${adminPassword}`).toString('base64')}`,
|
||||
'OCS-APIRequest': 'true',
|
||||
},
|
||||
});
|
||||
|
||||
if (userInfoResponse.status === 404) {
|
||||
console.log(`User ${username} does not exist in Nextcloud`);
|
||||
throw new Error(`User ${username} does not exist in Nextcloud`);
|
||||
}
|
||||
|
||||
if (!userInfoResponse.ok) {
|
||||
throw new Error(`Failed to get user info: ${userInfoResponse.status} ${userInfoResponse.statusText}`);
|
||||
}
|
||||
|
||||
// Check database for existing credentials
|
||||
const existingCredentials = await prisma.webDAVCredentials.findUnique({
|
||||
where: { userId }
|
||||
});
|
||||
|
||||
if (existingCredentials) {
|
||||
// Verify if the existing credentials still work
|
||||
const verifyResponse = await fetch(`${nextcloudUrl}/remote.php/dav/files/${encodeURIComponent(username)}/`, {
|
||||
method: 'PROPFIND',
|
||||
headers: {
|
||||
'Authorization': `Basic ${Buffer.from(`${username}:${existingCredentials.password}`).toString('base64')}`,
|
||||
'Depth': '1',
|
||||
'Content-Type': 'application/xml',
|
||||
},
|
||||
body: '<?xml version="1.0" encoding="UTF-8"?><d:propfind xmlns:d="DAV:"><d:prop><d:resourcetype/></d:prop></d:propfind>',
|
||||
});
|
||||
|
||||
if (verifyResponse.ok) {
|
||||
console.log('Using existing credentials from database');
|
||||
// Update cache
|
||||
credentialsCache.set(userId, {
|
||||
password: existingCredentials.password,
|
||||
timestamp: Date.now()
|
||||
});
|
||||
return existingCredentials.password;
|
||||
}
|
||||
|
||||
// If verification failed, delete the invalid credentials
|
||||
console.log('Existing credentials verification failed, removing from database');
|
||||
await prisma.webDAVCredentials.delete({
|
||||
where: { userId }
|
||||
});
|
||||
}
|
||||
|
||||
// If we get here, we need to generate a new password
|
||||
const newPassword = Math.random().toString(36).slice(-12);
|
||||
console.log('Setting new password for user');
|
||||
|
||||
// Set the user's password in Nextcloud
|
||||
const setPasswordResponse = await fetch(`${nextcloudUrl}/ocs/v1.php/cloud/users/${encodeURIComponent(username)}`, {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'Authorization': `Basic ${Buffer.from(`${adminUsername}:${adminPassword}`).toString('base64')}`,
|
||||
'OCS-APIRequest': 'true',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
body: new URLSearchParams({
|
||||
key: 'password',
|
||||
value: newPassword,
|
||||
}).toString(),
|
||||
});
|
||||
|
||||
if (!setPasswordResponse.ok) {
|
||||
throw new Error(`Failed to set password: ${setPasswordResponse.status} ${setPasswordResponse.statusText}`);
|
||||
}
|
||||
|
||||
// Store the new credentials in the database
|
||||
await prisma.webDAVCredentials.upsert({
|
||||
where: { userId },
|
||||
update: {
|
||||
username: username,
|
||||
password: newPassword
|
||||
},
|
||||
create: {
|
||||
userId,
|
||||
username: username,
|
||||
password: newPassword
|
||||
}
|
||||
});
|
||||
|
||||
// Update cache
|
||||
credentialsCache.set(userId, {
|
||||
password: newPassword,
|
||||
timestamp: Date.now()
|
||||
});
|
||||
|
||||
return newPassword;
|
||||
} catch (error) {
|
||||
console.error('Error in getWebDAVCredentials:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
async function getFolderStructure(nextcloudUrl: string, username: string, password: string): Promise<string[]> {
|
||||
try {
|
||||
const webdavUrl = `${nextcloudUrl}/remote.php/dav/files/${encodeURIComponent(username)}/Private/`;
|
||||
console.log('Fetching folders from:', webdavUrl);
|
||||
|
||||
const foldersResponse = await fetch(webdavUrl, {
|
||||
method: 'PROPFIND',
|
||||
headers: {
|
||||
'Authorization': `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`,
|
||||
'Depth': '1',
|
||||
'Content-Type': 'application/xml',
|
||||
},
|
||||
body: '<?xml version="1.0" encoding="UTF-8"?><d:propfind xmlns:d="DAV:"><d:prop><d:resourcetype/><d:displayname/></d:prop></d:propfind>',
|
||||
});
|
||||
|
||||
console.log('Folders response status:', foldersResponse.status);
|
||||
|
||||
if (foldersResponse.status === 429) {
|
||||
// Rate limited, wait and retry
|
||||
const retryAfter = foldersResponse.headers.get('Retry-After');
|
||||
console.log('Rate limited, retrying after:', retryAfter);
|
||||
await sleep((retryAfter ? parseInt(retryAfter) : 5) * 1000);
|
||||
return getFolderStructure(nextcloudUrl, username, password);
|
||||
}
|
||||
|
||||
if (!foldersResponse.ok) {
|
||||
console.error('Failed to fetch folders:', {
|
||||
status: foldersResponse.status,
|
||||
statusText: foldersResponse.statusText,
|
||||
url: webdavUrl
|
||||
});
|
||||
throw new Error(`Failed to fetch folders: ${foldersResponse.status} ${foldersResponse.statusText}`);
|
||||
}
|
||||
|
||||
const folderData = await foldersResponse.text();
|
||||
console.log('Folder data:', folderData);
|
||||
|
||||
// Parse the XML response to get folder names
|
||||
const parser = new DOMParser();
|
||||
const xmlDoc = parser.parseFromString(folderData, 'text/xml');
|
||||
const responses = Array.from(xmlDoc.getElementsByTagName('d:response'));
|
||||
|
||||
const folders: string[] = [];
|
||||
for (const response of responses) {
|
||||
const resourceType = response.getElementsByTagName('d:resourcetype')[0];
|
||||
const isCollection = resourceType?.getElementsByTagName('d:collection').length > 0;
|
||||
|
||||
if (isCollection) {
|
||||
const href = response.getElementsByTagName('d:href')[0]?.textContent;
|
||||
if (href) {
|
||||
// Extract folder name from href
|
||||
const parts = href.split('/').filter(Boolean);
|
||||
const folderName = decodeURIComponent(parts[parts.length - 1]);
|
||||
if (folderName && folderName !== 'Private') {
|
||||
folders.push(folderName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Parsed folders:', folders);
|
||||
return folders;
|
||||
} catch (error) {
|
||||
console.error('Error getting folder structure:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// This file serves as an adapter to redirect requests from the old NextCloud
|
||||
// status endpoint to the new MinIO S3 status endpoint
|
||||
|
||||
export async function GET() {
|
||||
try {
|
||||
// Get session
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.email || !session?.user?.id || !session?.accessToken) {
|
||||
if (!session?.user) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const nextcloudUrl = process.env.NEXTCLOUD_URL;
|
||||
const adminUsername = process.env.NEXTCLOUD_ADMIN_USERNAME;
|
||||
const adminPassword = process.env.NEXTCLOUD_ADMIN_PASSWORD;
|
||||
|
||||
if (!nextcloudUrl || !adminUsername || !adminPassword) {
|
||||
console.error('Missing Nextcloud configuration');
|
||||
return NextResponse.json({ error: 'Nextcloud configuration is missing' }, { status: 500 });
|
||||
}
|
||||
|
||||
// Check Nextcloud connectivity with caching
|
||||
const isAccessible = await checkNextcloudConnectivity(nextcloudUrl);
|
||||
if (!isAccessible) {
|
||||
return NextResponse.json({ error: "Nextcloud n'est pas accessible" }, { status: 503 });
|
||||
}
|
||||
|
||||
// Use the Keycloak ID as the Nextcloud username
|
||||
const nextcloudUsername = `cube-${session.user.id}`;
|
||||
console.log('Using Nextcloud username:', nextcloudUsername);
|
||||
|
||||
// Check cache first
|
||||
const cachedData = folderCache.get(nextcloudUsername);
|
||||
if (cachedData) {
|
||||
const cacheAge = Date.now() - cachedData.timestamp;
|
||||
if (cacheAge < 5 * 60 * 1000) { // 5 minutes cache
|
||||
return NextResponse.json({
|
||||
isConnected: true,
|
||||
folders: cachedData.folders
|
||||
});
|
||||
// Forward the request to the new endpoint
|
||||
const response = await fetch('/api/storage/status', {
|
||||
headers: {
|
||||
'Cookie': session ? 'next-auth.session-token=' + (session as any).accessToken : ''
|
||||
}
|
||||
}
|
||||
|
||||
// Get or create WebDAV credentials
|
||||
const webdavPassword = await getWebDAVCredentials(
|
||||
nextcloudUrl,
|
||||
nextcloudUsername,
|
||||
adminUsername,
|
||||
adminPassword,
|
||||
session.user.id
|
||||
);
|
||||
|
||||
if (!webdavPassword) {
|
||||
throw new Error('Failed to get WebDAV credentials');
|
||||
}
|
||||
|
||||
// Ensure the folder structure exists
|
||||
await ensureFolderStructure(nextcloudUrl, nextcloudUsername, webdavPassword);
|
||||
|
||||
// Get folder structure
|
||||
const folders = await getFolderStructure(nextcloudUrl, nextcloudUsername, webdavPassword);
|
||||
|
||||
// Update cache
|
||||
folderCache.set(nextcloudUsername, {
|
||||
folders,
|
||||
timestamp: Date.now()
|
||||
});
|
||||
|
||||
return NextResponse.json({
|
||||
isConnected: true,
|
||||
folders
|
||||
});
|
||||
|
||||
// Return the response from the new endpoint
|
||||
return NextResponse.json(await response.json(), { status: response.status });
|
||||
} catch (error) {
|
||||
console.error('Error in Nextcloud status endpoint:', error);
|
||||
return NextResponse.json(
|
||||
{ error: error instanceof Error ? error.message : 'An error occurred' },
|
||||
{ status: 500 }
|
||||
);
|
||||
console.error('Error in NextCloud status adapter:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
72
app/api/storage/files/content/route.ts
Normal file
72
app/api/storage/files/content/route.ts
Normal file
@ -0,0 +1,72 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { getObjectContent } from '@/lib/s3';
|
||||
|
||||
export async function GET(request: Request) {
|
||||
try {
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { searchParams } = new URL(request.url);
|
||||
const path = searchParams.get('path');
|
||||
const id = searchParams.get('id');
|
||||
|
||||
if (!path && !id) {
|
||||
return NextResponse.json({ error: 'Path or ID parameter is required' }, { status: 400 });
|
||||
}
|
||||
|
||||
// Determine the key to use
|
||||
let key: string;
|
||||
|
||||
if (id) {
|
||||
// If id is provided directly, use it as the key
|
||||
key = id;
|
||||
|
||||
// Ensure the user can only access their own files
|
||||
if (!key.startsWith(`user-${session.user.id}/`)) {
|
||||
return NextResponse.json({ error: 'Unauthorized access to file' }, { status: 403 });
|
||||
}
|
||||
} else if (path) {
|
||||
// If a path is provided, ensure it contains the user's ID
|
||||
if (!path.includes(`/files/cube-${session.user.id}/`) && !path.includes(`user-${session.user.id}/`)) {
|
||||
// For backward compatibility, convert NextCloud path to S3 path
|
||||
if (path.startsWith('/files/') || path.includes('/Private/')) {
|
||||
// Extract folder and filename from path
|
||||
const parts = path.split('/').filter(Boolean);
|
||||
const file = parts[parts.length - 1];
|
||||
let folder = 'notes'; // Default folder
|
||||
|
||||
// Try to determine folder from path
|
||||
if (path.includes('/Notes/')) folder = 'notes';
|
||||
else if (path.includes('/Diary/')) folder = 'diary';
|
||||
else if (path.includes('/Contacts/')) folder = 'contacts';
|
||||
else if (path.includes('/Health/')) folder = 'health';
|
||||
|
||||
key = `user-${session.user.id}/${folder}/${file}`;
|
||||
} else {
|
||||
return NextResponse.json({ error: 'Unauthorized access to file' }, { status: 403 });
|
||||
}
|
||||
} else {
|
||||
// If it already contains user ID, use the path directly
|
||||
key = path;
|
||||
}
|
||||
} else {
|
||||
return NextResponse.json({ error: 'Invalid parameters' }, { status: 400 });
|
||||
}
|
||||
|
||||
// Get the file content
|
||||
const content = await getObjectContent(key);
|
||||
|
||||
if (!content) {
|
||||
return NextResponse.json({ error: 'File not found' }, { status: 404 });
|
||||
}
|
||||
|
||||
return NextResponse.json({ content });
|
||||
} catch (error) {
|
||||
console.error('Error fetching file content:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
129
app/api/storage/files/route.ts
Normal file
129
app/api/storage/files/route.ts
Normal file
@ -0,0 +1,129 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { listUserObjects, putObject, deleteObject } from '@/lib/s3';
|
||||
|
||||
// GET endpoint to list files in a folder
|
||||
export async function GET(request: Request) {
|
||||
try {
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { searchParams } = new URL(request.url);
|
||||
const folder = searchParams.get('folder');
|
||||
|
||||
if (!folder) {
|
||||
return NextResponse.json({ error: 'Folder parameter is required' }, { status: 400 });
|
||||
}
|
||||
|
||||
// Normalize folder name to lowercase to match S3 convention
|
||||
const normalizedFolder = folder.toLowerCase();
|
||||
|
||||
// List objects for the user in the specified folder
|
||||
const files = await listUserObjects(session.user.id, normalizedFolder);
|
||||
|
||||
return NextResponse.json(files);
|
||||
} catch (error) {
|
||||
console.error('Error listing files:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
// POST endpoint to create a new file
|
||||
export async function POST(request: Request) {
|
||||
try {
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { title, content, folder } = await request.json();
|
||||
if (!title || !content || !folder) {
|
||||
return NextResponse.json({ error: 'Missing required fields' }, { status: 400 });
|
||||
}
|
||||
|
||||
// Normalize folder name
|
||||
const normalizedFolder = folder.toLowerCase();
|
||||
|
||||
// Create the full key (path) for the S3 object
|
||||
const key = `user-${session.user.id}/${normalizedFolder}/${title}${title.endsWith('.md') ? '' : '.md'}`;
|
||||
|
||||
// Save the file to S3
|
||||
const file = await putObject(key, content);
|
||||
|
||||
return NextResponse.json(file);
|
||||
} catch (error) {
|
||||
console.error('Error creating file:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
// PUT endpoint to update an existing file
|
||||
export async function PUT(request: Request) {
|
||||
try {
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { id, title, content, folder, mime } = await request.json();
|
||||
|
||||
// Check if this is using the direct id (key) or needs to construct one
|
||||
let key: string;
|
||||
|
||||
if (id) {
|
||||
// Ensure the user can only access their own files
|
||||
if (!id.startsWith(`user-${session.user.id}/`)) {
|
||||
return NextResponse.json({ error: 'Unauthorized access to file' }, { status: 403 });
|
||||
}
|
||||
key = id;
|
||||
} else {
|
||||
// If id is not provided, construct it from folder and title
|
||||
if (!title || !folder) {
|
||||
return NextResponse.json({ error: 'Missing required fields' }, { status: 400 });
|
||||
}
|
||||
const normalizedFolder = folder.toLowerCase();
|
||||
key = `user-${session.user.id}/${normalizedFolder}/${title}${title.endsWith('.md') ? '' : '.md'}`;
|
||||
}
|
||||
|
||||
// Update the file
|
||||
const file = await putObject(key, content, mime);
|
||||
|
||||
return NextResponse.json(file);
|
||||
} catch (error) {
|
||||
console.error('Error updating file:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
// DELETE endpoint to delete a file
|
||||
export async function DELETE(request: Request) {
|
||||
try {
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const { searchParams } = new URL(request.url);
|
||||
const id = searchParams.get('id');
|
||||
|
||||
if (!id) {
|
||||
return NextResponse.json({ error: 'Missing file id' }, { status: 400 });
|
||||
}
|
||||
|
||||
// Ensure the user can only delete their own files
|
||||
if (!id.startsWith(`user-${session.user.id}/`)) {
|
||||
return NextResponse.json({ error: 'Unauthorized access to file' }, { status: 403 });
|
||||
}
|
||||
|
||||
// Delete the file
|
||||
await deleteObject(id);
|
||||
|
||||
return NextResponse.json({ success: true });
|
||||
} catch (error) {
|
||||
console.error('Error deleting file:', error);
|
||||
return NextResponse.json({ error: 'Internal server error' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
28
app/api/storage/init/route.ts
Normal file
28
app/api/storage/init/route.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { createUserFolderStructure } from '@/lib/s3';
|
||||
|
||||
export async function POST() {
|
||||
try {
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
// Create folder structure for the user
|
||||
await createUserFolderStructure(session.user.id);
|
||||
|
||||
// Return success response
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Storage initialized successfully'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Storage initialization failed:', error);
|
||||
return NextResponse.json({
|
||||
error: 'Failed to initialize storage',
|
||||
details: error instanceof Error ? error.message : 'Unknown error'
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
100
app/api/storage/status/route.ts
Normal file
100
app/api/storage/status/route.ts
Normal file
@ -0,0 +1,100 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/app/api/auth/[...nextauth]/route';
|
||||
import { S3Client, ListBucketsCommand } from '@aws-sdk/client-s3';
|
||||
import { createUserFolderStructure, listUserObjects } from '@/lib/s3';
|
||||
|
||||
// Cache for folder lists
|
||||
const folderCache = new Map<string, { folders: string[], timestamp: number }>();
|
||||
const CACHE_TTL = 5 * 60 * 1000; // 5 minutes
|
||||
|
||||
export async function GET() {
|
||||
try {
|
||||
const session = await getServerSession(authOptions);
|
||||
if (!session?.user?.id) {
|
||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
|
||||
}
|
||||
|
||||
const userId = session.user.id;
|
||||
|
||||
// Check if we have cached folders for this user
|
||||
const cachedData = folderCache.get(userId);
|
||||
if (cachedData && (Date.now() - cachedData.timestamp < CACHE_TTL)) {
|
||||
return NextResponse.json({
|
||||
status: 'ready',
|
||||
folders: cachedData.folders
|
||||
});
|
||||
}
|
||||
|
||||
// Check S3 connectivity
|
||||
const s3Client = new S3Client({
|
||||
region: process.env.MINIO_AWS_REGION || 'eu-east-1',
|
||||
endpoint: process.env.MINIO_S3_UPLOAD_BUCKET_URL || 'https://dome-api.slm-lab.net/',
|
||||
forcePathStyle: true
|
||||
});
|
||||
|
||||
try {
|
||||
// Simple check by listing buckets
|
||||
await s3Client.send(new ListBucketsCommand({}));
|
||||
} catch (error) {
|
||||
console.error('S3 connectivity check failed:', error);
|
||||
return NextResponse.json({
|
||||
error: 'S3 storage service is not accessible',
|
||||
status: 'error'
|
||||
}, { status: 503 });
|
||||
}
|
||||
|
||||
// List the user's base folders
|
||||
try {
|
||||
// Standard folder list for the user
|
||||
const standardFolders = ['notes', 'diary', 'health', 'contacts'];
|
||||
let userFolders: string[] = [];
|
||||
|
||||
// Try to list existing folders
|
||||
for (const folder of standardFolders) {
|
||||
try {
|
||||
const files = await listUserObjects(userId, folder);
|
||||
if (files.length > 0 || folder === 'notes') {
|
||||
userFolders.push(folder);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`Error checking folder ${folder}:`, error);
|
||||
}
|
||||
}
|
||||
|
||||
// If no folders found, create the standard structure
|
||||
if (userFolders.length === 0) {
|
||||
await createUserFolderStructure(userId);
|
||||
userFolders = standardFolders;
|
||||
}
|
||||
|
||||
// Convert to Pascal case for backwards compatibility with NextCloud
|
||||
const formattedFolders = userFolders.map(folder =>
|
||||
folder.charAt(0).toUpperCase() + folder.slice(1)
|
||||
);
|
||||
|
||||
// Update cache
|
||||
folderCache.set(userId, {
|
||||
folders: formattedFolders,
|
||||
timestamp: Date.now()
|
||||
});
|
||||
|
||||
return NextResponse.json({
|
||||
status: 'ready',
|
||||
folders: formattedFolders
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error fetching user folders:', error);
|
||||
return NextResponse.json({
|
||||
error: 'Failed to fetch folders',
|
||||
status: 'error'
|
||||
}, { status: 500 });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error in storage status check:', error);
|
||||
return NextResponse.json({
|
||||
error: 'Internal server error',
|
||||
status: 'error'
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
140
lib/s3.ts
Normal file
140
lib/s3.ts
Normal file
@ -0,0 +1,140 @@
|
||||
import { S3Client, ListObjectsV2Command, GetObjectCommand, PutObjectCommand, DeleteObjectCommand } from '@aws-sdk/client-s3';
|
||||
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
|
||||
|
||||
// Environment variables for S3 configuration
|
||||
const S3_BUCKET_URL = process.env.MINIO_S3_UPLOAD_BUCKET_URL || 'https://dome-api.slm-lab.net/';
|
||||
const S3_REGION = process.env.MINIO_AWS_REGION || 'eu-east-1';
|
||||
const S3_BUCKET_NAME = process.env.MINIO_AWS_S3_UPLOAD_BUCKET_NAME || 'pages';
|
||||
|
||||
// Create S3 client with MinIO configuration
|
||||
export const s3Client = new S3Client({
|
||||
region: S3_REGION,
|
||||
endpoint: S3_BUCKET_URL,
|
||||
forcePathStyle: true, // Required for MinIO
|
||||
});
|
||||
|
||||
// Helper functions for S3 operations
|
||||
|
||||
// List objects in a "folder" for a specific user
|
||||
export async function listUserObjects(userId: string, folder: string) {
|
||||
try {
|
||||
const prefix = `user-${userId}/${folder}/`;
|
||||
const command = new ListObjectsV2Command({
|
||||
Bucket: S3_BUCKET_NAME,
|
||||
Prefix: prefix,
|
||||
Delimiter: '/'
|
||||
});
|
||||
|
||||
const response = await s3Client.send(command);
|
||||
|
||||
// Transform S3 objects to match the expected format for the frontend
|
||||
// This ensures compatibility with existing NextCloud based components
|
||||
return response.Contents?.map(item => ({
|
||||
id: item.Key,
|
||||
title: item.Key?.split('/').pop()?.replace('.md', '') || '',
|
||||
lastModified: item.LastModified?.toISOString(),
|
||||
size: item.Size,
|
||||
type: 'file',
|
||||
mime: item.Key?.endsWith('.md') ? 'text/markdown' : 'application/octet-stream',
|
||||
etag: item.ETag
|
||||
})) || [];
|
||||
} catch (error) {
|
||||
console.error('Error listing objects:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
// Get object content
|
||||
export async function getObjectContent(key: string) {
|
||||
try {
|
||||
const command = new GetObjectCommand({
|
||||
Bucket: S3_BUCKET_NAME,
|
||||
Key: key
|
||||
});
|
||||
|
||||
const response = await s3Client.send(command);
|
||||
|
||||
// Convert the stream to string
|
||||
return await response.Body?.transformToString();
|
||||
} catch (error) {
|
||||
console.error('Error getting object content:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
// Put object (create or update a file)
|
||||
export async function putObject(key: string, content: string, contentType?: string) {
|
||||
try {
|
||||
const command = new PutObjectCommand({
|
||||
Bucket: S3_BUCKET_NAME,
|
||||
Key: key,
|
||||
Body: content,
|
||||
ContentType: contentType || (key.endsWith('.md') ? 'text/markdown' : 'text/plain')
|
||||
});
|
||||
|
||||
const response = await s3Client.send(command);
|
||||
|
||||
return {
|
||||
id: key,
|
||||
title: key.split('/').pop()?.replace('.md', '') || '',
|
||||
lastModified: new Date().toISOString(),
|
||||
size: content.length,
|
||||
type: 'file',
|
||||
mime: contentType || (key.endsWith('.md') ? 'text/markdown' : 'text/plain'),
|
||||
etag: response.ETag
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('Error putting object:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
// Delete object
|
||||
export async function deleteObject(key: string) {
|
||||
try {
|
||||
const command = new DeleteObjectCommand({
|
||||
Bucket: S3_BUCKET_NAME,
|
||||
Key: key
|
||||
});
|
||||
|
||||
await s3Client.send(command);
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error('Error deleting object:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
// Create folder structure (In S3, folders are just prefix notations)
|
||||
export async function createUserFolderStructure(userId: string) {
|
||||
try {
|
||||
// Define the standard folders to create
|
||||
const folders = ['notes', 'diary', 'health', 'contacts'];
|
||||
|
||||
// For S3, creating a folder means creating an empty object with the folder name as a prefix
|
||||
for (const folder of folders) {
|
||||
const key = `user-${userId}/${folder}/`;
|
||||
await putObject(key, '', 'application/x-directory');
|
||||
}
|
||||
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error('Error creating folder structure:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
// Generate pre-signed URL for direct browser upload (optional feature)
|
||||
export async function generatePresignedUrl(key: string, expiresIn = 3600) {
|
||||
try {
|
||||
const command = new PutObjectCommand({
|
||||
Bucket: S3_BUCKET_NAME,
|
||||
Key: key
|
||||
});
|
||||
|
||||
return await getSignedUrl(s3Client, command, { expiresIn });
|
||||
} catch (error) {
|
||||
console.error('Error generating presigned URL:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
1642
node_modules/.package-lock.json
generated
vendored
1642
node_modules/.package-lock.json
generated
vendored
File diff suppressed because it is too large
Load Diff
100
node_modules/@aws-crypto/crc32/CHANGELOG.md
generated
vendored
Normal file
100
node_modules/@aws-crypto/crc32/CHANGELOG.md
generated
vendored
Normal file
@ -0,0 +1,100 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [5.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.1.0...v5.2.0) (2023-10-16)
|
||||
|
||||
### Features
|
||||
|
||||
- support ESM artifacts in all packages ([#752](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/752)) ([e930ffb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e930ffba5cfef66dd242049e7d514ced232c1e3b))
|
||||
|
||||
# [5.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.0.0...v5.1.0) (2023-09-22)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Update tsc to 2.x ([#735](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/735)) ([782e0de](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/782e0de9f5fef41f694130580a69d940894b6b8c))
|
||||
|
||||
### Features
|
||||
|
||||
- Use @smithy/util-utf8 ([#730](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/730)) ([00fb851](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/00fb851ca3559d5a1f370f9256814de1210826b8)), closes [#699](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/699)
|
||||
|
||||
# [5.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v4.0.1...v5.0.0) (2023-07-13)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [4.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v3.0.0...v4.0.0) (2023-02-20)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
|
||||
|
||||
- feat!: replace Hash implementations with Checksum interface (#492) ([da43dc0](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/da43dc0fdf669d9ebb5bfb1b1f7c79e46c4aaae1)), closes [#492](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/492)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- All classes that implemented `Hash` now implement `Checksum`.
|
||||
|
||||
## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
|
||||
|
||||
## [2.0.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.0...v2.0.1) (2021-12-09)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
## [1.2.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.1...v1.2.2) (2021-10-12)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **crc32c:** ie11 does not support Array.from ([#221](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/221)) ([5f49547](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/5f495472ab8988cf203e0f2a70a51f7e1fcd7e60))
|
||||
|
||||
## [1.2.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.0...v1.2.1) (2021-09-17)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [1.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.1.1...v1.2.0) (2021-09-17)
|
||||
|
||||
### Features
|
||||
|
||||
- Add AwsCrc32 Hash ([f5d7e81](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/f5d7e815fcbe0f8da1edb855fea3bd33eb1edc15))
|
||||
|
||||
# [1.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@1.0.0...@aws-crypto/crc32@1.1.0) (2021-08-11)
|
||||
|
||||
### Features
|
||||
|
||||
- Create CRC-32C implementation ([#201](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/201)) ([e43c7ec](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e43c7ecd30d6499fa696f5839ecc30502a34b8b6))
|
||||
|
||||
# [1.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@1.0.0-alpha.0...@aws-crypto/crc32@1.0.0) (2020-10-22)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [1.0.0-alpha.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.4...@aws-crypto/crc32@1.0.0-alpha.0) (2020-02-07)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32
|
||||
|
||||
# [0.1.0-preview.4](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.2...@aws-crypto/crc32@0.1.0-preview.4) (2020-01-16)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
|
||||
- lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
|
||||
|
||||
# [0.1.0-preview.3](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.2...@aws-crypto/crc32@0.1.0-preview.3) (2019-11-15)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Changed package.json files to point to the right Git repo ([#9](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/9)) ([028245d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/028245d72e642ca98d82226afb300eb154503c4a)), closes [#8](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/8)
|
||||
- lerna version maintains package-lock ([#14](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/14)) ([2ef29e1](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/2ef29e13779703a5c9b32e93d18918fcb33b7272)), closes [#13](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/13)
|
||||
|
||||
# [0.1.0-preview.2](https://github.com/aws/aws-javascript-crypto-helpers/compare/@aws-crypto/crc32@0.1.0-preview.1...@aws-crypto/crc32@0.1.0-preview.2) (2019-10-30)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- remove /src/ from .npmignore (for sourcemaps) ([#5](https://github.com/aws/aws-javascript-crypto-helpers/issues/5)) ([ec52056](https://github.com/aws/aws-javascript-crypto-helpers/commit/ec52056))
|
||||
201
node_modules/@aws-crypto/crc32/LICENSE
generated
vendored
Normal file
201
node_modules/@aws-crypto/crc32/LICENSE
generated
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
16
node_modules/@aws-crypto/crc32/README.md
generated
vendored
Normal file
16
node_modules/@aws-crypto/crc32/README.md
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
# @aws-crypto/crc32
|
||||
|
||||
Pure JS implementation of CRC32 https://en.wikipedia.org/wiki/Cyclic_redundancy_check
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
import { Crc32 } from '@aws-crypto/crc32';
|
||||
|
||||
const crc32Digest = (new Crc32).update(buffer).digest()
|
||||
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
`npm test`
|
||||
7
node_modules/@aws-crypto/crc32/build/main/aws_crc32.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32/build/main/aws_crc32.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import { SourceData, Checksum } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32 implements Checksum {
|
||||
private crc32;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
31
node_modules/@aws-crypto/crc32/build/main/aws_crc32.js
generated
vendored
Normal file
31
node_modules/@aws-crypto/crc32/build/main/aws_crc32.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32 = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
var index_1 = require("./index");
|
||||
var AwsCrc32 = /** @class */ (function () {
|
||||
function AwsCrc32() {
|
||||
this.crc32 = new index_1.Crc32();
|
||||
}
|
||||
AwsCrc32.prototype.update = function (toHash) {
|
||||
if ((0, util_1.isEmptyData)(toHash))
|
||||
return;
|
||||
this.crc32.update((0, util_1.convertToBuffer)(toHash));
|
||||
};
|
||||
AwsCrc32.prototype.digest = function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
return [2 /*return*/, (0, util_1.numToUint8)(this.crc32.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32.prototype.reset = function () {
|
||||
this.crc32 = new index_1.Crc32();
|
||||
};
|
||||
return AwsCrc32;
|
||||
}());
|
||||
exports.AwsCrc32 = AwsCrc32;
|
||||
//# sourceMappingURL=aws_crc32.js.map
|
||||
1
node_modules/@aws-crypto/crc32/build/main/aws_crc32.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32/build/main/aws_crc32.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32.js","sourceRoot":"","sources":["../../src/aws_crc32.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,sCAAsC;;;;AAGtC,yCAA4E;AAC5E,iCAAgC;AAEhC;IAAA;QACU,UAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAe9B,CAAC;IAbC,yBAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,IAAA,kBAAW,EAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAA,sBAAe,EAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAA,iBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACxC;IAED,wBAAK,GAAL;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC3B,CAAC;IACH,eAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,4BAAQ"}
|
||||
7
node_modules/@aws-crypto/crc32/build/main/index.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32/build/main/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export declare function crc32(data: Uint8Array): number;
|
||||
export declare class Crc32 {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
108
node_modules/@aws-crypto/crc32/build/main/index.js
generated
vendored
Normal file
108
node_modules/@aws-crypto/crc32/build/main/index.js
generated
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32 = exports.Crc32 = exports.crc32 = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
function crc32(data) {
|
||||
return new Crc32().update(data).digest();
|
||||
}
|
||||
exports.crc32 = crc32;
|
||||
var Crc32 = /** @class */ (function () {
|
||||
function Crc32() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32;
|
||||
}());
|
||||
exports.Crc32 = Crc32;
|
||||
// prettier-ignore
|
||||
var a_lookUpTable = [
|
||||
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
|
||||
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
|
||||
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
|
||||
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
|
||||
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
|
||||
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
|
||||
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
|
||||
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
|
||||
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
|
||||
0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
|
||||
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
|
||||
0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
|
||||
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
|
||||
0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
|
||||
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
|
||||
0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
|
||||
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
|
||||
0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
|
||||
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
|
||||
0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
|
||||
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
|
||||
0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
|
||||
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
|
||||
0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
|
||||
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
|
||||
0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
|
||||
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
|
||||
0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
|
||||
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
|
||||
0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
|
||||
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
|
||||
0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
|
||||
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
|
||||
0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
|
||||
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
|
||||
0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
|
||||
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
|
||||
0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
|
||||
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
|
||||
0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
|
||||
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
|
||||
0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
|
||||
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
|
||||
0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
|
||||
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
|
||||
0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
|
||||
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
|
||||
0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
|
||||
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
|
||||
0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
|
||||
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
|
||||
0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
|
||||
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
|
||||
0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
|
||||
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
|
||||
0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
|
||||
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
|
||||
0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
|
||||
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
|
||||
0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
|
||||
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
];
|
||||
var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);
|
||||
var aws_crc32_1 = require("./aws_crc32");
|
||||
Object.defineProperty(exports, "AwsCrc32", { enumerable: true, get: function () { return aws_crc32_1.AwsCrc32; } });
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@aws-crypto/crc32/build/main/index.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32/build/main/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,yCAAiD;AAEjD,SAAgB,KAAK,CAAC,IAAgB;IACpC,OAAO,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC;AAFD,sBAEC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,sBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,iBAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,YAAC;AAAD,CAAC,AAfD,IAeC;AAfY,sBAAK;AAiBlB,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/C,CAAC;AACF,IAAM,WAAW,GAAgB,IAAA,sBAAe,EAAC,aAAa,CAAC,CAAA;AAC/D,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA"}
|
||||
7
node_modules/@aws-crypto/crc32/build/module/aws_crc32.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32/build/module/aws_crc32.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import { SourceData, Checksum } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32 implements Checksum {
|
||||
private crc32;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
28
node_modules/@aws-crypto/crc32/build/module/aws_crc32.js
generated
vendored
Normal file
28
node_modules/@aws-crypto/crc32/build/module/aws_crc32.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
import { __awaiter, __generator } from "tslib";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32 } from "./index";
|
||||
var AwsCrc32 = /** @class */ (function () {
|
||||
function AwsCrc32() {
|
||||
this.crc32 = new Crc32();
|
||||
}
|
||||
AwsCrc32.prototype.update = function (toHash) {
|
||||
if (isEmptyData(toHash))
|
||||
return;
|
||||
this.crc32.update(convertToBuffer(toHash));
|
||||
};
|
||||
AwsCrc32.prototype.digest = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
return [2 /*return*/, numToUint8(this.crc32.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32.prototype.reset = function () {
|
||||
this.crc32 = new Crc32();
|
||||
};
|
||||
return AwsCrc32;
|
||||
}());
|
||||
export { AwsCrc32 };
|
||||
//# sourceMappingURL=aws_crc32.js.map
|
||||
1
node_modules/@aws-crypto/crc32/build/module/aws_crc32.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32/build/module/aws_crc32.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32.js","sourceRoot":"","sources":["../../src/aws_crc32.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sCAAsC;;AAGtC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;IAAA;QACU,UAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAe9B,CAAC;IAbC,yBAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACxC;IAED,wBAAK,GAAL;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC;IACH,eAAC;AAAD,CAAC,AAhBD,IAgBC"}
|
||||
7
node_modules/@aws-crypto/crc32/build/module/index.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32/build/module/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export declare function crc32(data: Uint8Array): number;
|
||||
export declare class Crc32 {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
103
node_modules/@aws-crypto/crc32/build/module/index.js
generated
vendored
Normal file
103
node_modules/@aws-crypto/crc32/build/module/index.js
generated
vendored
Normal file
@ -0,0 +1,103 @@
|
||||
import { __values } from "tslib";
|
||||
import { uint32ArrayFrom } from "@aws-crypto/util";
|
||||
export function crc32(data) {
|
||||
return new Crc32().update(data).digest();
|
||||
}
|
||||
var Crc32 = /** @class */ (function () {
|
||||
function Crc32() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32;
|
||||
}());
|
||||
export { Crc32 };
|
||||
// prettier-ignore
|
||||
var a_lookUpTable = [
|
||||
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
|
||||
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
|
||||
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
|
||||
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
|
||||
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
|
||||
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
|
||||
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
|
||||
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
|
||||
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
|
||||
0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
|
||||
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
|
||||
0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
|
||||
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
|
||||
0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
|
||||
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
|
||||
0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
|
||||
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
|
||||
0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
|
||||
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
|
||||
0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
|
||||
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
|
||||
0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
|
||||
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
|
||||
0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
|
||||
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
|
||||
0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
|
||||
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
|
||||
0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
|
||||
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
|
||||
0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
|
||||
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
|
||||
0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
|
||||
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
|
||||
0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
|
||||
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
|
||||
0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
|
||||
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
|
||||
0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
|
||||
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
|
||||
0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
|
||||
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
|
||||
0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
|
||||
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
|
||||
0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
|
||||
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
|
||||
0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
|
||||
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
|
||||
0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
|
||||
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
|
||||
0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
|
||||
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
|
||||
0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
|
||||
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
|
||||
0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
|
||||
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
|
||||
0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
|
||||
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
|
||||
0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
|
||||
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
|
||||
0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
|
||||
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
];
|
||||
var lookupTable = uint32ArrayFrom(a_lookUpTable);
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@aws-crypto/crc32/build/module/index.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32/build/module/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,KAAK,CAAC,IAAgB;IACpC,OAAO,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,sBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,YAAC;AAAD,CAAC,AAfD,IAeC;;AAED,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9C,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/C,CAAC;AACF,IAAM,WAAW,GAAgB,eAAe,CAAC,aAAa,CAAC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
||||
32
node_modules/@aws-crypto/crc32/package.json
generated
vendored
Normal file
32
node_modules/@aws-crypto/crc32/package.json
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "@aws-crypto/crc32",
|
||||
"version": "5.2.0",
|
||||
"scripts": {
|
||||
"prepublishOnly": "tsc -p tsconfig.json && tsc -p tsconfig.module.json",
|
||||
"pretest": "tsc -p tsconfig.test.json",
|
||||
"test": "mocha --require ts-node/register test/**/*test.ts"
|
||||
},
|
||||
"main": "./build/main/index.js",
|
||||
"module": "./build/module/index.js",
|
||||
"types": "./build/main/index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:aws/aws-sdk-js-crypto-helpers.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "AWS Crypto Tools Team",
|
||||
"email": "aws-cryptools@amazon.com",
|
||||
"url": "https://docs.aws.amazon.com/aws-crypto-tools/index.html?id=docs_gateway#lang/en_us"
|
||||
},
|
||||
"homepage": "https://github.com/aws/aws-sdk-js-crypto-helpers/tree/master/packages/crc32",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@aws-crypto/util": "^5.2.0",
|
||||
"@aws-sdk/types": "^3.222.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"gitHead": "c11b171b35ec5c093364f0e0d8dc4ab1af68e748"
|
||||
}
|
||||
24
node_modules/@aws-crypto/crc32/src/aws_crc32.ts
generated
vendored
Normal file
24
node_modules/@aws-crypto/crc32/src/aws_crc32.ts
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { SourceData, Checksum } from "@aws-sdk/types";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32 } from "./index";
|
||||
|
||||
export class AwsCrc32 implements Checksum {
|
||||
private crc32 = new Crc32();
|
||||
|
||||
update(toHash: SourceData) {
|
||||
if (isEmptyData(toHash)) return;
|
||||
|
||||
this.crc32.update(convertToBuffer(toHash));
|
||||
}
|
||||
|
||||
async digest(): Promise<Uint8Array> {
|
||||
return numToUint8(this.crc32.digest());
|
||||
}
|
||||
|
||||
reset(): void {
|
||||
this.crc32 = new Crc32();
|
||||
}
|
||||
}
|
||||
92
node_modules/@aws-crypto/crc32/src/index.ts
generated
vendored
Normal file
92
node_modules/@aws-crypto/crc32/src/index.ts
generated
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
import {uint32ArrayFrom} from "@aws-crypto/util";
|
||||
|
||||
export function crc32(data: Uint8Array): number {
|
||||
return new Crc32().update(data).digest();
|
||||
}
|
||||
|
||||
export class Crc32 {
|
||||
private checksum = 0xffffffff;
|
||||
|
||||
update(data: Uint8Array): this {
|
||||
for (const byte of data) {
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
digest(): number {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
}
|
||||
}
|
||||
|
||||
// prettier-ignore
|
||||
const a_lookUpTable = [
|
||||
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
|
||||
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
|
||||
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
|
||||
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
|
||||
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
|
||||
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
|
||||
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
|
||||
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
|
||||
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
|
||||
0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
|
||||
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
|
||||
0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
|
||||
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
|
||||
0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
|
||||
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
|
||||
0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
|
||||
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
|
||||
0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
|
||||
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
|
||||
0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
|
||||
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
|
||||
0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
|
||||
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
|
||||
0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
|
||||
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
|
||||
0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
|
||||
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
|
||||
0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
|
||||
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
|
||||
0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
|
||||
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
|
||||
0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
|
||||
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
|
||||
0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
|
||||
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
|
||||
0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
|
||||
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
|
||||
0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
|
||||
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
|
||||
0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
|
||||
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
|
||||
0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
|
||||
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
|
||||
0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
|
||||
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
|
||||
0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
|
||||
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
|
||||
0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
|
||||
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
|
||||
0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
|
||||
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
|
||||
0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
|
||||
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
|
||||
0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
|
||||
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
|
||||
0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
|
||||
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
|
||||
0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
|
||||
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
|
||||
0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
|
||||
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
|
||||
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
];
|
||||
const lookupTable: Uint32Array = uint32ArrayFrom(a_lookUpTable)
|
||||
export { AwsCrc32 } from "./aws_crc32";
|
||||
9
node_modules/@aws-crypto/crc32/tsconfig.json
generated
vendored
Normal file
9
node_modules/@aws-crypto/crc32/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./build/main",
|
||||
},
|
||||
"include": ["src/**/*.ts"],
|
||||
"exclude": ["node_modules/**"]
|
||||
}
|
||||
7
node_modules/@aws-crypto/crc32/tsconfig.module.json
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32/tsconfig.module.json
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "./tsconfig",
|
||||
"compilerOptions": {
|
||||
"outDir": "build/module",
|
||||
"module": "esnext",
|
||||
}
|
||||
}
|
||||
76
node_modules/@aws-crypto/crc32c/CHANGELOG.md
generated
vendored
Normal file
76
node_modules/@aws-crypto/crc32c/CHANGELOG.md
generated
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [5.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.1.0...v5.2.0) (2023-10-16)
|
||||
|
||||
### Features
|
||||
|
||||
- support ESM artifacts in all packages ([#752](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/752)) ([e930ffb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e930ffba5cfef66dd242049e7d514ced232c1e3b))
|
||||
|
||||
# [5.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.0.0...v5.1.0) (2023-09-22)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Update tsc to 2.x ([#735](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/735)) ([782e0de](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/782e0de9f5fef41f694130580a69d940894b6b8c))
|
||||
|
||||
### Features
|
||||
|
||||
- Use @smithy/util-utf8 ([#730](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/730)) ([00fb851](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/00fb851ca3559d5a1f370f9256814de1210826b8)), closes [#699](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/699)
|
||||
|
||||
# [5.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v4.0.1...v5.0.0) (2023-07-13)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [4.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v3.0.0...v4.0.0) (2023-02-20)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
|
||||
|
||||
- feat!: replace Hash implementations with Checksum interface (#492) ([da43dc0](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/da43dc0fdf669d9ebb5bfb1b1f7c79e46c4aaae1)), closes [#492](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/492)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- All classes that implemented `Hash` now implement `Checksum`.
|
||||
|
||||
## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
|
||||
|
||||
## [2.0.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.0...v2.0.1) (2021-12-09)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
## [1.2.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.1...v1.2.2) (2021-10-12)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **crc32c:** ie11 does not support Array.from ([#221](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/221)) ([5f49547](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/5f495472ab8988cf203e0f2a70a51f7e1fcd7e60))
|
||||
|
||||
## [1.2.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.0...v1.2.1) (2021-09-17)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# [1.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.1.1...v1.2.0) (2021-09-17)
|
||||
|
||||
### Features
|
||||
|
||||
- Add AwsCrc32C Hash ([4840c83](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/4840c83bdd7c461dded777ebc45a8f99258ba21c))
|
||||
|
||||
## [0.2.1](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/@aws-crypto/crc32c@0.2.0...@aws-crypto/crc32c@0.2.1) (2021-08-24)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/crc32c
|
||||
|
||||
# 0.2.0 (2021-08-11)
|
||||
|
||||
### Features
|
||||
|
||||
- Create CRC-32C implementation ([#201](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/201)) ([e43c7ec](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e43c7ecd30d6499fa696f5839ecc30502a34b8b6))
|
||||
201
node_modules/@aws-crypto/crc32c/LICENSE
generated
vendored
Normal file
201
node_modules/@aws-crypto/crc32c/LICENSE
generated
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
16
node_modules/@aws-crypto/crc32c/README.md
generated
vendored
Normal file
16
node_modules/@aws-crypto/crc32c/README.md
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
# @aws-crypto/crc32c
|
||||
|
||||
Pure JS implementation of CRC32-C https://en.wikipedia.org/wiki/Cyclic_redundancy_check
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
import { Crc32c } from '@aws-crypto/crc32c';
|
||||
|
||||
const crc32Digest = (new Crc32c).update(buffer).digest()
|
||||
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
`npm test`
|
||||
7
node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32c implements Checksum {
|
||||
private crc32c;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
31
node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js
generated
vendored
Normal file
31
node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32c = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
var index_1 = require("./index");
|
||||
var AwsCrc32c = /** @class */ (function () {
|
||||
function AwsCrc32c() {
|
||||
this.crc32c = new index_1.Crc32c();
|
||||
}
|
||||
AwsCrc32c.prototype.update = function (toHash) {
|
||||
if ((0, util_1.isEmptyData)(toHash))
|
||||
return;
|
||||
this.crc32c.update((0, util_1.convertToBuffer)(toHash));
|
||||
};
|
||||
AwsCrc32c.prototype.digest = function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
return [2 /*return*/, (0, util_1.numToUint8)(this.crc32c.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32c.prototype.reset = function () {
|
||||
this.crc32c = new index_1.Crc32c();
|
||||
};
|
||||
return AwsCrc32c;
|
||||
}());
|
||||
exports.AwsCrc32c = AwsCrc32c;
|
||||
//# sourceMappingURL=aws_crc32c.js.map
|
||||
1
node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32c/build/main/aws_crc32c.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32c.js","sourceRoot":"","sources":["../../src/aws_crc32c.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,sCAAsC;;;;AAGtC,yCAA4E;AAC5E,iCAAiC;AAEjC;IAAA;QACU,WAAM,GAAG,IAAI,cAAM,EAAE,CAAC;IAehC,CAAC;IAbC,0BAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,IAAA,kBAAW,EAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAA,sBAAe,EAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEK,0BAAM,GAAZ;;;gBACE,sBAAO,IAAA,iBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACzC;IAED,yBAAK,GAAL;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAM,EAAE,CAAC;IAC7B,CAAC;IACH,gBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,8BAAS"}
|
||||
7
node_modules/@aws-crypto/crc32c/build/main/index.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32c/build/main/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export declare function crc32c(data: Uint8Array): number;
|
||||
export declare class Crc32c {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
78
node_modules/@aws-crypto/crc32c/build/main/index.js
generated
vendored
Normal file
78
node_modules/@aws-crypto/crc32c/build/main/index.js
generated
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
"use strict";
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AwsCrc32c = exports.Crc32c = exports.crc32c = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
function crc32c(data) {
|
||||
return new Crc32c().update(data).digest();
|
||||
}
|
||||
exports.crc32c = crc32c;
|
||||
var Crc32c = /** @class */ (function () {
|
||||
function Crc32c() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32c.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32c.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32c;
|
||||
}());
|
||||
exports.Crc32c = Crc32c;
|
||||
// prettier-ignore
|
||||
var a_lookupTable = [
|
||||
0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
|
||||
0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
|
||||
0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
|
||||
0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
|
||||
0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
|
||||
0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
|
||||
0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
|
||||
0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
|
||||
0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
|
||||
0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
|
||||
0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
|
||||
0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
|
||||
0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
|
||||
0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
|
||||
0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
|
||||
0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
|
||||
0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
|
||||
0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
|
||||
0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
|
||||
0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
|
||||
0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
|
||||
0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
|
||||
0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
|
||||
0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
|
||||
0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
|
||||
0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
|
||||
0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
|
||||
0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
|
||||
0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
|
||||
0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
|
||||
0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
|
||||
0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,
|
||||
];
|
||||
var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookupTable);
|
||||
var aws_crc32c_1 = require("./aws_crc32c");
|
||||
Object.defineProperty(exports, "AwsCrc32c", { enumerable: true, get: function () { return aws_crc32c_1.AwsCrc32c; } });
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@aws-crypto/crc32c/build/main/index.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32c/build/main/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,sCAAsC;;;;AAEtC,yCAAiD;AAEjD,SAAgB,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AAFD,wBAEC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,uBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,iBAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,aAAC;AAAD,CAAC,AAfD,IAeC;AAfY,wBAAM;AAiBnB,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/F,CAAC;AAEF,IAAM,WAAW,GAAgB,IAAA,sBAAe,EAAC,aAAa,CAAC,CAAA;AAC/D,2CAAyC;AAAhC,uGAAA,SAAS,OAAA"}
|
||||
7
node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class AwsCrc32c implements Checksum {
|
||||
private crc32c;
|
||||
update(toHash: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
28
node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js
generated
vendored
Normal file
28
node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
import { __awaiter, __generator } from "tslib";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32c } from "./index";
|
||||
var AwsCrc32c = /** @class */ (function () {
|
||||
function AwsCrc32c() {
|
||||
this.crc32c = new Crc32c();
|
||||
}
|
||||
AwsCrc32c.prototype.update = function (toHash) {
|
||||
if (isEmptyData(toHash))
|
||||
return;
|
||||
this.crc32c.update(convertToBuffer(toHash));
|
||||
};
|
||||
AwsCrc32c.prototype.digest = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
return [2 /*return*/, numToUint8(this.crc32c.digest())];
|
||||
});
|
||||
});
|
||||
};
|
||||
AwsCrc32c.prototype.reset = function () {
|
||||
this.crc32c = new Crc32c();
|
||||
};
|
||||
return AwsCrc32c;
|
||||
}());
|
||||
export { AwsCrc32c };
|
||||
//# sourceMappingURL=aws_crc32c.js.map
|
||||
1
node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"aws_crc32c.js","sourceRoot":"","sources":["../../src/aws_crc32c.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sCAAsC;;AAGtC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;IAAA;QACU,WAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAehC,CAAC;IAbC,0BAAM,GAAN,UAAO,MAAkB;QACvB,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAO;QAEhC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAEK,0BAAM,GAAZ;;;gBACE,sBAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAC;;;KACzC;IAED,yBAAK,GAAL;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC7B,CAAC;IACH,gBAAC;AAAD,CAAC,AAhBD,IAgBC"}
|
||||
7
node_modules/@aws-crypto/crc32c/build/module/index.d.ts
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32c/build/module/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export declare function crc32c(data: Uint8Array): number;
|
||||
export declare class Crc32c {
|
||||
private checksum;
|
||||
update(data: Uint8Array): this;
|
||||
digest(): number;
|
||||
}
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
73
node_modules/@aws-crypto/crc32c/build/module/index.js
generated
vendored
Normal file
73
node_modules/@aws-crypto/crc32c/build/module/index.js
generated
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
import { __values } from "tslib";
|
||||
import { uint32ArrayFrom } from "@aws-crypto/util";
|
||||
export function crc32c(data) {
|
||||
return new Crc32c().update(data).digest();
|
||||
}
|
||||
var Crc32c = /** @class */ (function () {
|
||||
function Crc32c() {
|
||||
this.checksum = 0xffffffff;
|
||||
}
|
||||
Crc32c.prototype.update = function (data) {
|
||||
var e_1, _a;
|
||||
try {
|
||||
for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
|
||||
var byte = data_1_1.value;
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Crc32c.prototype.digest = function () {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
};
|
||||
return Crc32c;
|
||||
}());
|
||||
export { Crc32c };
|
||||
// prettier-ignore
|
||||
var a_lookupTable = [
|
||||
0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
|
||||
0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
|
||||
0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
|
||||
0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
|
||||
0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
|
||||
0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
|
||||
0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
|
||||
0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
|
||||
0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
|
||||
0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
|
||||
0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
|
||||
0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
|
||||
0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
|
||||
0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
|
||||
0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
|
||||
0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
|
||||
0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
|
||||
0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
|
||||
0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
|
||||
0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
|
||||
0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
|
||||
0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
|
||||
0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
|
||||
0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
|
||||
0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
|
||||
0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
|
||||
0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
|
||||
0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
|
||||
0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
|
||||
0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
|
||||
0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
|
||||
0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,
|
||||
];
|
||||
var lookupTable = uint32ArrayFrom(a_lookupTable);
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@aws-crypto/crc32c/build/module/index.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/crc32c/build/module/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,sCAAsC;;AAEtC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,MAAM,UAAU,MAAM,CAAC,IAAgB;IACrC,OAAO,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED;IAAA;QACU,aAAQ,GAAG,UAAU,CAAC;IAchC,CAAC;IAZC,uBAAM,GAAN,UAAO,IAAgB;;;YACrB,KAAmB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA,4CAAE;gBAApB,IAAM,IAAI,iBAAA;gBACb,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;aACtE;;;;;;;;;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAM,GAAN;QACE,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACH,aAAC;AAAD,CAAC,AAfD,IAeC;;AAED,kBAAkB;AAClB,IAAM,aAAa,GAAG;IACpB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC9F,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAC/F,CAAC;AAEF,IAAM,WAAW,GAAgB,eAAe,CAAC,aAAa,CAAC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
||||
32
node_modules/@aws-crypto/crc32c/package.json
generated
vendored
Normal file
32
node_modules/@aws-crypto/crc32c/package.json
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "@aws-crypto/crc32c",
|
||||
"version": "5.2.0",
|
||||
"scripts": {
|
||||
"prepublishOnly": "tsc -p tsconfig.json && tsc -p tsconfig.module.json",
|
||||
"pretest": "tsc -p tsconfig.test.json",
|
||||
"test": "mocha --require ts-node/register test/**/*test.ts"
|
||||
},
|
||||
"main": "./build/main/index.js",
|
||||
"module": "./build/module/index.js",
|
||||
"types": "./build/main/index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:aws/aws-sdk-js-crypto-helpers.git"
|
||||
},
|
||||
"author": {
|
||||
"name": "AWS Crypto Tools Team",
|
||||
"email": "aws-cryptools@amazon.com",
|
||||
"url": "https://docs.aws.amazon.com/aws-crypto-tools/index.html?id=docs_gateway#lang/en_us"
|
||||
},
|
||||
"homepage": "https://github.com/aws/aws-sdk-js-crypto-helpers/tree/master/packages/crc32c",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@aws-crypto/util": "^5.2.0",
|
||||
"@aws-sdk/types": "^3.222.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "c11b171b35ec5c093364f0e0d8dc4ab1af68e748"
|
||||
}
|
||||
24
node_modules/@aws-crypto/crc32c/src/aws_crc32c.ts
generated
vendored
Normal file
24
node_modules/@aws-crypto/crc32c/src/aws_crc32c.ts
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
import { convertToBuffer, isEmptyData, numToUint8 } from "@aws-crypto/util";
|
||||
import { Crc32c } from "./index";
|
||||
|
||||
export class AwsCrc32c implements Checksum {
|
||||
private crc32c = new Crc32c();
|
||||
|
||||
update(toHash: SourceData) {
|
||||
if (isEmptyData(toHash)) return;
|
||||
|
||||
this.crc32c.update(convertToBuffer(toHash));
|
||||
}
|
||||
|
||||
async digest(): Promise<Uint8Array> {
|
||||
return numToUint8(this.crc32c.digest());
|
||||
}
|
||||
|
||||
reset(): void {
|
||||
this.crc32c = new Crc32c();
|
||||
}
|
||||
}
|
||||
64
node_modules/@aws-crypto/crc32c/src/index.ts
generated
vendored
Normal file
64
node_modules/@aws-crypto/crc32c/src/index.ts
generated
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import {uint32ArrayFrom} from "@aws-crypto/util";
|
||||
|
||||
export function crc32c(data: Uint8Array): number {
|
||||
return new Crc32c().update(data).digest();
|
||||
}
|
||||
|
||||
export class Crc32c {
|
||||
private checksum = 0xffffffff;
|
||||
|
||||
update(data: Uint8Array): this {
|
||||
for (const byte of data) {
|
||||
this.checksum =
|
||||
(this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
digest(): number {
|
||||
return (this.checksum ^ 0xffffffff) >>> 0;
|
||||
}
|
||||
}
|
||||
|
||||
// prettier-ignore
|
||||
const a_lookupTable = [
|
||||
0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,
|
||||
0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,
|
||||
0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,
|
||||
0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,
|
||||
0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,
|
||||
0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,
|
||||
0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,
|
||||
0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,
|
||||
0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,
|
||||
0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,
|
||||
0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,
|
||||
0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,
|
||||
0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,
|
||||
0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,
|
||||
0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,
|
||||
0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,
|
||||
0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,
|
||||
0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,
|
||||
0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,
|
||||
0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,
|
||||
0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,
|
||||
0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,
|
||||
0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,
|
||||
0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,
|
||||
0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,
|
||||
0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,
|
||||
0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,
|
||||
0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,
|
||||
0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,
|
||||
0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,
|
||||
0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,
|
||||
0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,
|
||||
];
|
||||
|
||||
const lookupTable: Uint32Array = uint32ArrayFrom(a_lookupTable)
|
||||
export { AwsCrc32c } from "./aws_crc32c";
|
||||
9
node_modules/@aws-crypto/crc32c/tsconfig.json
generated
vendored
Normal file
9
node_modules/@aws-crypto/crc32c/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./build/main",
|
||||
},
|
||||
"include": ["src/**/*.ts"],
|
||||
"exclude": ["node_modules/**"]
|
||||
}
|
||||
7
node_modules/@aws-crypto/crc32c/tsconfig.module.json
generated
vendored
Normal file
7
node_modules/@aws-crypto/crc32c/tsconfig.module.json
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "./tsconfig",
|
||||
"compilerOptions": {
|
||||
"outDir": "build/module",
|
||||
"module": "esnext",
|
||||
}
|
||||
}
|
||||
62
node_modules/@aws-crypto/sha1-browser/CHANGELOG.md
generated
vendored
Normal file
62
node_modules/@aws-crypto/sha1-browser/CHANGELOG.md
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [5.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.1.0...v5.2.0) (2023-10-16)
|
||||
|
||||
### Features
|
||||
|
||||
- support ESM artifacts in all packages ([#752](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/752)) ([e930ffb](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/e930ffba5cfef66dd242049e7d514ced232c1e3b))
|
||||
|
||||
# [5.1.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v5.0.0...v5.1.0) (2023-09-22)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Update tsc to 2.x ([#735](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/735)) ([782e0de](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/782e0de9f5fef41f694130580a69d940894b6b8c))
|
||||
|
||||
### Features
|
||||
|
||||
- Use @smithy/util-utf8 ([#730](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/730)) ([00fb851](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/00fb851ca3559d5a1f370f9256814de1210826b8)), closes [#699](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/699)
|
||||
|
||||
# [5.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v4.0.1...v5.0.0) (2023-07-13)
|
||||
|
||||
- feat!: drop support for IE 11 (#629) ([6c49fb6](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/6c49fb6c1b1f18bbff02dbd77a37a21bdb40c959)), closes [#629](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/629)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- Remove support for IE11
|
||||
|
||||
Co-authored-by: texastony <5892063+texastony@users.noreply.github.com>
|
||||
|
||||
# [4.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v3.0.0...v4.0.0) (2023-02-20)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/sha1-browser
|
||||
|
||||
# [3.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.2...v3.0.0) (2023-01-12)
|
||||
|
||||
- feat!: replace Hash implementations with Checksum interface (#492) ([da43dc0](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/da43dc0fdf669d9ebb5bfb1b1f7c79e46c4aaae1)), closes [#492](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/492)
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
- All classes that implemented `Hash` now implement `Checksum`.
|
||||
|
||||
## [2.0.2](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v2.0.1...v2.0.2) (2022-09-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **#337:** update @aws-sdk/types ([#373](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/373)) ([b26a811](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/b26a811a392f5209c7ec7e57251500d4d78f97ff)), closes [#337](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/337)
|
||||
|
||||
# [2.0.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.2.2...v2.0.0) (2021-10-25)
|
||||
|
||||
**Note:** Version bump only for package @aws-crypto/sha1-browser
|
||||
|
||||
# [1.2.0](https://github.com/aws/aws-sdk-js-crypto-helpers/compare/v1.1.1...v1.2.0) (2021-09-17)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Adding ie11-detection dependency to sha1-browser ([#213](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/213)) ([138750d](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/138750d96385b8cc479b6f54c500ee1b5380648c))
|
||||
|
||||
### Features
|
||||
|
||||
- Add SHA1 ([#208](https://github.com/aws/aws-sdk-js-crypto-helpers/issues/208)) ([45c50ff](https://github.com/aws/aws-sdk-js-crypto-helpers/commit/45c50ffa3acc9e3bf4039ab59a0102e4d40455ec))
|
||||
202
node_modules/@aws-crypto/sha1-browser/LICENSE
generated
vendored
Normal file
202
node_modules/@aws-crypto/sha1-browser/LICENSE
generated
vendored
Normal file
@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
21
node_modules/@aws-crypto/sha1-browser/README.md
generated
vendored
Normal file
21
node_modules/@aws-crypto/sha1-browser/README.md
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# @aws-crypto/sha1-browser
|
||||
|
||||
SHA1 wrapper for browsers that prefers `window.crypto.subtle`.
|
||||
|
||||
SHA1 is **NOT** a cryptographically secure algorithm.
|
||||
It should _only_ be used for non cryptographic functions like checksums.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
import {Sha1} from '@aws-crypto/sha1-browser'
|
||||
|
||||
const hash = new Sha1();
|
||||
hash.update('some data');
|
||||
const result = await hash.digest();
|
||||
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
`npm test`
|
||||
10
node_modules/@aws-crypto/sha1-browser/build/main/constants.d.ts
generated
vendored
Normal file
10
node_modules/@aws-crypto/sha1-browser/build/main/constants.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
export declare const SHA_1_HASH: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
export declare const SHA_1_HMAC_ALGO: {
|
||||
name: "HMAC";
|
||||
hash: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
};
|
||||
export declare const EMPTY_DATA_SHA_1: Uint8Array;
|
||||
31
node_modules/@aws-crypto/sha1-browser/build/main/constants.js
generated
vendored
Normal file
31
node_modules/@aws-crypto/sha1-browser/build/main/constants.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EMPTY_DATA_SHA_1 = exports.SHA_1_HMAC_ALGO = exports.SHA_1_HASH = void 0;
|
||||
exports.SHA_1_HASH = { name: "SHA-1" };
|
||||
exports.SHA_1_HMAC_ALGO = {
|
||||
name: "HMAC",
|
||||
hash: exports.SHA_1_HASH,
|
||||
};
|
||||
exports.EMPTY_DATA_SHA_1 = new Uint8Array([
|
||||
218,
|
||||
57,
|
||||
163,
|
||||
238,
|
||||
94,
|
||||
107,
|
||||
75,
|
||||
13,
|
||||
50,
|
||||
85,
|
||||
191,
|
||||
239,
|
||||
149,
|
||||
96,
|
||||
24,
|
||||
144,
|
||||
175,
|
||||
216,
|
||||
7,
|
||||
9,
|
||||
]);
|
||||
//# sourceMappingURL=constants.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/main/constants.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/main/constants.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAElD,QAAA,eAAe,GAA8C;IACxE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,kBAAU;CACjB,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAI,UAAU,CAAC;IAC7C,GAAG;IACH,EAAE;IACF,GAAG;IACH,GAAG;IACH,EAAE;IACF,GAAG;IACH,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,CAAC;IACD,CAAC;CACF,CAAC,CAAC"}
|
||||
8
node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.d.ts
generated
vendored
Normal file
8
node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.d.ts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private hash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData, encoding?: "utf8" | "ascii" | "latin1"): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
29
node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js
generated
vendored
Normal file
29
node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Sha1 = void 0;
|
||||
var webCryptoSha1_1 = require("./webCryptoSha1");
|
||||
var supports_web_crypto_1 = require("@aws-crypto/supports-web-crypto");
|
||||
var util_locate_window_1 = require("@aws-sdk/util-locate-window");
|
||||
var util_1 = require("@aws-crypto/util");
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
if ((0, supports_web_crypto_1.supportsWebCrypto)((0, util_locate_window_1.locateWindow)())) {
|
||||
this.hash = new webCryptoSha1_1.Sha1(secret);
|
||||
}
|
||||
else {
|
||||
throw new Error("SHA1 not supported");
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data, encoding) {
|
||||
this.hash.update((0, util_1.convertToBuffer)(data));
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
return this.hash.digest();
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.hash.reset();
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
exports.Sha1 = Sha1;
|
||||
//# sourceMappingURL=crossPlatformSha1.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/main/crossPlatformSha1.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"crossPlatformSha1.js","sourceRoot":"","sources":["../../src/crossPlatformSha1.ts"],"names":[],"mappings":";;;AAAA,iDAAwD;AAExD,uEAAoE;AACpE,kEAA2D;AAC3D,yCAAmD;AAEnD;IAGE,cAAY,MAAmB;QAC7B,IAAI,IAAA,uCAAiB,EAAC,IAAA,iCAAY,GAAE,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,oBAAa,CAAC,MAAM,CAAC,CAAC;SACvC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;IACH,CAAC;IAED,qBAAM,GAAN,UAAO,IAAgB,EAAE,QAAsC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAM,GAAN;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IACH,WAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,oBAAI"}
|
||||
2
node_modules/@aws-crypto/sha1-browser/build/main/index.d.ts
generated
vendored
Normal file
2
node_modules/@aws-crypto/sha1-browser/build/main/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export * from "./crossPlatformSha1";
|
||||
export { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
8
node_modules/@aws-crypto/sha1-browser/build/main/index.js
generated
vendored
Normal file
8
node_modules/@aws-crypto/sha1-browser/build/main/index.js
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.WebCryptoSha1 = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
tslib_1.__exportStar(require("./crossPlatformSha1"), exports);
|
||||
var webCryptoSha1_1 = require("./webCryptoSha1");
|
||||
Object.defineProperty(exports, "WebCryptoSha1", { enumerable: true, get: function () { return webCryptoSha1_1.Sha1; } });
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/main/index.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/main/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,8DAAoC;AACpC,iDAAwD;AAA/C,8GAAA,IAAI,OAAiB"}
|
||||
2
node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.d.ts
generated
vendored
Normal file
2
node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import { SourceData } from "@aws-sdk/types";
|
||||
export declare function isEmptyData(data: SourceData): boolean;
|
||||
11
node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js
generated
vendored
Normal file
11
node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isEmptyData = void 0;
|
||||
function isEmptyData(data) {
|
||||
if (typeof data === "string") {
|
||||
return data.length === 0;
|
||||
}
|
||||
return data.byteLength === 0;
|
||||
}
|
||||
exports.isEmptyData = isEmptyData;
|
||||
//# sourceMappingURL=isEmptyData.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/main/isEmptyData.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"isEmptyData.js","sourceRoot":"","sources":["../../src/isEmptyData.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CAAC,IAAgB;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;KAC1B;IAED,OAAO,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;AAC/B,CAAC;AAND,kCAMC"}
|
||||
9
node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.d.ts
generated
vendored
Normal file
9
node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private readonly key;
|
||||
private toHash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
61
node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js
generated
vendored
Normal file
61
node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js
generated
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Sha1 = void 0;
|
||||
var util_utf8_1 = require("@smithy/util-utf8");
|
||||
var isEmptyData_1 = require("./isEmptyData");
|
||||
var constants_1 = require("./constants");
|
||||
var util_locate_window_1 = require("@aws-sdk/util-locate-window");
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
this.toHash = new Uint8Array(0);
|
||||
if (secret !== void 0) {
|
||||
this.key = new Promise(function (resolve, reject) {
|
||||
(0, util_locate_window_1.locateWindow)()
|
||||
.crypto.subtle.importKey("raw", convertToBuffer(secret), constants_1.SHA_1_HMAC_ALGO, false, ["sign"])
|
||||
.then(resolve, reject);
|
||||
});
|
||||
this.key.catch(function () { });
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data) {
|
||||
if ((0, isEmptyData_1.isEmptyData)(data)) {
|
||||
return;
|
||||
}
|
||||
var update = convertToBuffer(data);
|
||||
var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);
|
||||
typedArray.set(this.toHash, 0);
|
||||
typedArray.set(update, this.toHash.byteLength);
|
||||
this.toHash = typedArray;
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
var _this = this;
|
||||
if (this.key) {
|
||||
return this.key.then(function (key) {
|
||||
return (0, util_locate_window_1.locateWindow)()
|
||||
.crypto.subtle.sign(constants_1.SHA_1_HMAC_ALGO, key, _this.toHash)
|
||||
.then(function (data) { return new Uint8Array(data); });
|
||||
});
|
||||
}
|
||||
if ((0, isEmptyData_1.isEmptyData)(this.toHash)) {
|
||||
return Promise.resolve(constants_1.EMPTY_DATA_SHA_1);
|
||||
}
|
||||
return Promise.resolve()
|
||||
.then(function () { return (0, util_locate_window_1.locateWindow)().crypto.subtle.digest(constants_1.SHA_1_HASH, _this.toHash); })
|
||||
.then(function (data) { return Promise.resolve(new Uint8Array(data)); });
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.toHash = new Uint8Array(0);
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
exports.Sha1 = Sha1;
|
||||
function convertToBuffer(data) {
|
||||
if (typeof data === "string") {
|
||||
return (0, util_utf8_1.fromUtf8)(data);
|
||||
}
|
||||
if (ArrayBuffer.isView(data)) {
|
||||
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
||||
}
|
||||
return new Uint8Array(data);
|
||||
}
|
||||
//# sourceMappingURL=webCryptoSha1.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/main/webCryptoSha1.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"webCryptoSha1.js","sourceRoot":"","sources":["../../src/webCryptoSha1.ts"],"names":[],"mappings":";;;AACA,+CAA6C;AAC7C,6CAA4C;AAC5C,yCAA4E;AAC5E,kEAA2D;AAE3D;IAIE,cAAY,MAAmB;QAFvB,WAAM,GAAe,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAG7C,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBACrC,IAAA,iCAAY,GAAE;qBACX,MAAM,CAAC,MAAM,CAAC,SAAS,CACtB,KAAK,EACL,eAAe,CAAC,MAAM,CAAC,EACvB,2BAAe,EACf,KAAK,EACL,CAAC,MAAM,CAAC,CACT;qBACA,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,qBAAM,GAAN,UAAO,IAAgB;QACrB,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO;SACR;QAED,IAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,IAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAC3C,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,qBAAM,GAAN;QAAA,iBAgBC;QAfC,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAC,GAAG;gBACvB,OAAA,IAAA,iCAAY,GAAE;qBACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,2BAAe,EAAE,GAAG,EAAE,KAAI,CAAC,MAAM,CAAC;qBACrD,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,UAAU,CAAC,IAAI,CAAC,EAApB,CAAoB,CAAC;YAFvC,CAEuC,CACxC,CAAC;SACH;QAED,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,4BAAgB,CAAC,CAAC;SAC1C;QAED,OAAO,OAAO,CAAC,OAAO,EAAE;aACrB,IAAI,CAAC,cAAM,OAAA,IAAA,iCAAY,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAU,EAAE,KAAI,CAAC,MAAM,CAAC,EAA5D,CAA4D,CAAC;aACxE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IAC3D,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACH,WAAC;AAAD,CAAC,AAxDD,IAwDC;AAxDY,oBAAI;AA0DjB,SAAS,eAAe,CAAC,IAAgB;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC;KACvB;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAC/C,CAAC;KACH;IAED,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
||||
10
node_modules/@aws-crypto/sha1-browser/build/module/constants.d.ts
generated
vendored
Normal file
10
node_modules/@aws-crypto/sha1-browser/build/module/constants.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
export declare const SHA_1_HASH: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
export declare const SHA_1_HMAC_ALGO: {
|
||||
name: "HMAC";
|
||||
hash: {
|
||||
name: "SHA-1";
|
||||
};
|
||||
};
|
||||
export declare const EMPTY_DATA_SHA_1: Uint8Array;
|
||||
28
node_modules/@aws-crypto/sha1-browser/build/module/constants.js
generated
vendored
Normal file
28
node_modules/@aws-crypto/sha1-browser/build/module/constants.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
export var SHA_1_HASH = { name: "SHA-1" };
|
||||
export var SHA_1_HMAC_ALGO = {
|
||||
name: "HMAC",
|
||||
hash: SHA_1_HASH,
|
||||
};
|
||||
export var EMPTY_DATA_SHA_1 = new Uint8Array([
|
||||
218,
|
||||
57,
|
||||
163,
|
||||
238,
|
||||
94,
|
||||
107,
|
||||
75,
|
||||
13,
|
||||
50,
|
||||
85,
|
||||
191,
|
||||
239,
|
||||
149,
|
||||
96,
|
||||
24,
|
||||
144,
|
||||
175,
|
||||
216,
|
||||
7,
|
||||
9,
|
||||
]);
|
||||
//# sourceMappingURL=constants.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/module/constants.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/module/constants.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,UAAU,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAE/D,MAAM,CAAC,IAAM,eAAe,GAA8C;IACxE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC;IAC7C,GAAG;IACH,EAAE;IACF,GAAG;IACH,GAAG;IACH,EAAE;IACF,GAAG;IACH,EAAE;IACF,EAAE;IACF,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,EAAE;IACF,EAAE;IACF,GAAG;IACH,GAAG;IACH,GAAG;IACH,CAAC;IACD,CAAC;CACF,CAAC,CAAC"}
|
||||
8
node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.d.ts
generated
vendored
Normal file
8
node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.d.ts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private hash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData, encoding?: "utf8" | "ascii" | "latin1"): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
26
node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js
generated
vendored
Normal file
26
node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js
generated
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
import { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
import { supportsWebCrypto } from "@aws-crypto/supports-web-crypto";
|
||||
import { locateWindow } from "@aws-sdk/util-locate-window";
|
||||
import { convertToBuffer } from "@aws-crypto/util";
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
if (supportsWebCrypto(locateWindow())) {
|
||||
this.hash = new WebCryptoSha1(secret);
|
||||
}
|
||||
else {
|
||||
throw new Error("SHA1 not supported");
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data, encoding) {
|
||||
this.hash.update(convertToBuffer(data));
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
return this.hash.digest();
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.hash.reset();
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
export { Sha1 };
|
||||
//# sourceMappingURL=crossPlatformSha1.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/module/crossPlatformSha1.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"crossPlatformSha1.js","sourceRoot":"","sources":["../../src/crossPlatformSha1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;IAGE,cAAY,MAAmB;QAC7B,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;SACvC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;IACH,CAAC;IAED,qBAAM,GAAN,UAAO,IAAgB,EAAE,QAAsC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAM,GAAN;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IACH,WAAC;AAAD,CAAC,AAtBD,IAsBC"}
|
||||
2
node_modules/@aws-crypto/sha1-browser/build/module/index.d.ts
generated
vendored
Normal file
2
node_modules/@aws-crypto/sha1-browser/build/module/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export * from "./crossPlatformSha1";
|
||||
export { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
3
node_modules/@aws-crypto/sha1-browser/build/module/index.js
generated
vendored
Normal file
3
node_modules/@aws-crypto/sha1-browser/build/module/index.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export * from "./crossPlatformSha1";
|
||||
export { Sha1 as WebCryptoSha1 } from "./webCryptoSha1";
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/module/index.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/module/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
||||
2
node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.d.ts
generated
vendored
Normal file
2
node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
import { SourceData } from "@aws-sdk/types";
|
||||
export declare function isEmptyData(data: SourceData): boolean;
|
||||
7
node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js
generated
vendored
Normal file
7
node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
export function isEmptyData(data) {
|
||||
if (typeof data === "string") {
|
||||
return data.length === 0;
|
||||
}
|
||||
return data.byteLength === 0;
|
||||
}
|
||||
//# sourceMappingURL=isEmptyData.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/module/isEmptyData.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"isEmptyData.js","sourceRoot":"","sources":["../../src/isEmptyData.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;KAC1B;IAED,OAAO,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;AAC/B,CAAC"}
|
||||
9
node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.d.ts
generated
vendored
Normal file
9
node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
import { Checksum, SourceData } from "@aws-sdk/types";
|
||||
export declare class Sha1 implements Checksum {
|
||||
private readonly key;
|
||||
private toHash;
|
||||
constructor(secret?: SourceData);
|
||||
update(data: SourceData): void;
|
||||
digest(): Promise<Uint8Array>;
|
||||
reset(): void;
|
||||
}
|
||||
58
node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.js
generated
vendored
Normal file
58
node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.js
generated
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
import { fromUtf8 } from "@smithy/util-utf8";
|
||||
import { isEmptyData } from "./isEmptyData";
|
||||
import { EMPTY_DATA_SHA_1, SHA_1_HASH, SHA_1_HMAC_ALGO } from "./constants";
|
||||
import { locateWindow } from "@aws-sdk/util-locate-window";
|
||||
var Sha1 = /** @class */ (function () {
|
||||
function Sha1(secret) {
|
||||
this.toHash = new Uint8Array(0);
|
||||
if (secret !== void 0) {
|
||||
this.key = new Promise(function (resolve, reject) {
|
||||
locateWindow()
|
||||
.crypto.subtle.importKey("raw", convertToBuffer(secret), SHA_1_HMAC_ALGO, false, ["sign"])
|
||||
.then(resolve, reject);
|
||||
});
|
||||
this.key.catch(function () { });
|
||||
}
|
||||
}
|
||||
Sha1.prototype.update = function (data) {
|
||||
if (isEmptyData(data)) {
|
||||
return;
|
||||
}
|
||||
var update = convertToBuffer(data);
|
||||
var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);
|
||||
typedArray.set(this.toHash, 0);
|
||||
typedArray.set(update, this.toHash.byteLength);
|
||||
this.toHash = typedArray;
|
||||
};
|
||||
Sha1.prototype.digest = function () {
|
||||
var _this = this;
|
||||
if (this.key) {
|
||||
return this.key.then(function (key) {
|
||||
return locateWindow()
|
||||
.crypto.subtle.sign(SHA_1_HMAC_ALGO, key, _this.toHash)
|
||||
.then(function (data) { return new Uint8Array(data); });
|
||||
});
|
||||
}
|
||||
if (isEmptyData(this.toHash)) {
|
||||
return Promise.resolve(EMPTY_DATA_SHA_1);
|
||||
}
|
||||
return Promise.resolve()
|
||||
.then(function () { return locateWindow().crypto.subtle.digest(SHA_1_HASH, _this.toHash); })
|
||||
.then(function (data) { return Promise.resolve(new Uint8Array(data)); });
|
||||
};
|
||||
Sha1.prototype.reset = function () {
|
||||
this.toHash = new Uint8Array(0);
|
||||
};
|
||||
return Sha1;
|
||||
}());
|
||||
export { Sha1 };
|
||||
function convertToBuffer(data) {
|
||||
if (typeof data === "string") {
|
||||
return fromUtf8(data);
|
||||
}
|
||||
if (ArrayBuffer.isView(data)) {
|
||||
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
|
||||
}
|
||||
return new Uint8Array(data);
|
||||
}
|
||||
//# sourceMappingURL=webCryptoSha1.js.map
|
||||
1
node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.js.map
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/build/module/webCryptoSha1.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"webCryptoSha1.js","sourceRoot":"","sources":["../../src/webCryptoSha1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D;IAIE,cAAY,MAAmB;QAFvB,WAAM,GAAe,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAG7C,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBACrC,YAAY,EAAE;qBACX,MAAM,CAAC,MAAM,CAAC,SAAS,CACtB,KAAK,EACL,eAAe,CAAC,MAAM,CAAC,EACvB,eAAe,EACf,KAAK,EACL,CAAC,MAAM,CAAC,CACT;qBACA,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,qBAAM,GAAN,UAAO,IAAgB;QACrB,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO;SACR;QAED,IAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,IAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAC3C,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,qBAAM,GAAN;QAAA,iBAgBC;QAfC,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAC,GAAG;gBACvB,OAAA,YAAY,EAAE;qBACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,KAAI,CAAC,MAAM,CAAC;qBACrD,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,UAAU,CAAC,IAAI,CAAC,EAApB,CAAoB,CAAC;YAFvC,CAEuC,CACxC,CAAC;SACH;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;SAC1C;QAED,OAAO,OAAO,CAAC,OAAO,EAAE;aACrB,IAAI,CAAC,cAAM,OAAA,YAAY,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAI,CAAC,MAAM,CAAC,EAA5D,CAA4D,CAAC;aACxE,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IAC3D,CAAC;IAED,oBAAK,GAAL;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACH,WAAC;AAAD,CAAC,AAxDD,IAwDC;;AAED,SAAS,eAAe,CAAC,IAAgB;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;KACvB;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5B,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAC/C,CAAC;KACH;IAED,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
||||
201
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/LICENSE
generated
vendored
Normal file
201
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/LICENSE
generated
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
10
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/README.md
generated
vendored
Normal file
10
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/README.md
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# @smithy/is-array-buffer
|
||||
|
||||
[](https://www.npmjs.com/package/@smithy/is-array-buffer)
|
||||
[](https://www.npmjs.com/package/@smithy/is-array-buffer)
|
||||
|
||||
> An internal package
|
||||
|
||||
## Usage
|
||||
|
||||
You probably shouldn't, at least directly.
|
||||
32
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-cjs/index.js
generated
vendored
Normal file
32
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-cjs/index.js
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var src_exports = {};
|
||||
__export(src_exports, {
|
||||
isArrayBuffer: () => isArrayBuffer
|
||||
});
|
||||
module.exports = __toCommonJS(src_exports);
|
||||
var isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]", "isArrayBuffer");
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
|
||||
0 && (module.exports = {
|
||||
isArrayBuffer
|
||||
});
|
||||
|
||||
2
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-es/index.js
generated
vendored
Normal file
2
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-es/index.js
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export const isArrayBuffer = (arg) => (typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer) ||
|
||||
Object.prototype.toString.call(arg) === "[object ArrayBuffer]";
|
||||
4
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-types/index.d.ts
generated
vendored
Normal file
4
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-types/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const isArrayBuffer: (arg: any) => arg is ArrayBuffer;
|
||||
4
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-types/ts3.4/index.d.ts
generated
vendored
Normal file
4
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/dist-types/ts3.4/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const isArrayBuffer: (arg: any) => arg is ArrayBuffer;
|
||||
60
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/package.json
generated
vendored
Normal file
60
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer/package.json
generated
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
{
|
||||
"name": "@smithy/is-array-buffer",
|
||||
"version": "2.2.0",
|
||||
"description": "Provides a function for detecting if an argument is an ArrayBuffer",
|
||||
"scripts": {
|
||||
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
||||
"build:cjs": "node ../../scripts/inline is-array-buffer",
|
||||
"build:es": "yarn g:tsc -p tsconfig.es.json",
|
||||
"build:types": "yarn g:tsc -p tsconfig.types.json",
|
||||
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
|
||||
"stage-release": "rimraf ./.release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz",
|
||||
"clean": "rimraf ./dist-* && rimraf *.tsbuildinfo || exit 0",
|
||||
"lint": "eslint -c ../../.eslintrc.js \"src/**/*.ts\"",
|
||||
"format": "prettier --config ../../prettier.config.js --ignore-path ../.prettierignore --write \"**/*.{ts,md,json}\"",
|
||||
"test": "yarn g:jest"
|
||||
},
|
||||
"author": {
|
||||
"name": "AWS SDK for JavaScript Team",
|
||||
"url": "https://aws.amazon.com/javascript/"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"main": "./dist-cjs/index.js",
|
||||
"module": "./dist-es/index.js",
|
||||
"types": "./dist-types/index.d.ts",
|
||||
"dependencies": {
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"typesVersions": {
|
||||
"<4.0": {
|
||||
"dist-types/*": [
|
||||
"dist-types/ts3.4/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist-*/**"
|
||||
],
|
||||
"homepage": "https://github.com/awslabs/smithy-typescript/tree/main/packages/is-array-buffer",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/awslabs/smithy-typescript.git",
|
||||
"directory": "packages/is-array-buffer"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/recommended": "1.0.1",
|
||||
"concurrently": "7.0.0",
|
||||
"downlevel-dts": "0.10.1",
|
||||
"rimraf": "3.0.2",
|
||||
"typedoc": "0.23.23"
|
||||
},
|
||||
"typedoc": {
|
||||
"entryPoint": "src/index.ts"
|
||||
},
|
||||
"publishConfig": {
|
||||
"directory": ".release/package"
|
||||
}
|
||||
}
|
||||
201
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/LICENSE
generated
vendored
Normal file
201
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/LICENSE
generated
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
10
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/README.md
generated
vendored
Normal file
10
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/README.md
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# @smithy/util-buffer-from
|
||||
|
||||
[](https://www.npmjs.com/package/@smithy/util-buffer-from)
|
||||
[](https://www.npmjs.com/package/@smithy/util-buffer-from)
|
||||
|
||||
> An internal package
|
||||
|
||||
## Usage
|
||||
|
||||
You probably shouldn't, at least directly.
|
||||
47
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-cjs/index.js
generated
vendored
Normal file
47
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-cjs/index.js
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var src_exports = {};
|
||||
__export(src_exports, {
|
||||
fromArrayBuffer: () => fromArrayBuffer,
|
||||
fromString: () => fromString
|
||||
});
|
||||
module.exports = __toCommonJS(src_exports);
|
||||
var import_is_array_buffer = require("@smithy/is-array-buffer");
|
||||
var import_buffer = require("buffer");
|
||||
var fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {
|
||||
if (!(0, import_is_array_buffer.isArrayBuffer)(input)) {
|
||||
throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
|
||||
}
|
||||
return import_buffer.Buffer.from(input, offset, length);
|
||||
}, "fromArrayBuffer");
|
||||
var fromString = /* @__PURE__ */ __name((input, encoding) => {
|
||||
if (typeof input !== "string") {
|
||||
throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
|
||||
}
|
||||
return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input);
|
||||
}, "fromString");
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
|
||||
0 && (module.exports = {
|
||||
fromArrayBuffer,
|
||||
fromString
|
||||
});
|
||||
|
||||
14
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-es/index.js
generated
vendored
Normal file
14
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-es/index.js
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
import { isArrayBuffer } from "@smithy/is-array-buffer";
|
||||
import { Buffer } from "buffer";
|
||||
export const fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {
|
||||
if (!isArrayBuffer(input)) {
|
||||
throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
|
||||
}
|
||||
return Buffer.from(input, offset, length);
|
||||
};
|
||||
export const fromString = (input, encoding) => {
|
||||
if (typeof input !== "string") {
|
||||
throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
|
||||
}
|
||||
return encoding ? Buffer.from(input, encoding) : Buffer.from(input);
|
||||
};
|
||||
13
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-types/index.d.ts
generated
vendored
Normal file
13
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-types/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { Buffer } from "buffer";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const fromArrayBuffer: (input: ArrayBuffer, offset?: number, length?: number) => Buffer;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export type StringEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "base64" | "latin1" | "binary" | "hex";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const fromString: (input: string, encoding?: StringEncoding) => Buffer;
|
||||
13
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-types/ts3.4/index.d.ts
generated
vendored
Normal file
13
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/dist-types/ts3.4/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { Buffer } from "buffer";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const fromArrayBuffer: (input: ArrayBuffer, offset?: number, length?: number) => Buffer;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export type StringEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "base64" | "latin1" | "binary" | "hex";
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
export declare const fromString: (input: string, encoding?: StringEncoding) => Buffer;
|
||||
61
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/package.json
generated
vendored
Normal file
61
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from/package.json
generated
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
{
|
||||
"name": "@smithy/util-buffer-from",
|
||||
"version": "2.2.0",
|
||||
"scripts": {
|
||||
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
|
||||
"build:cjs": "node ../../scripts/inline util-buffer-from",
|
||||
"build:es": "yarn g:tsc -p tsconfig.es.json",
|
||||
"build:types": "yarn g:tsc -p tsconfig.types.json",
|
||||
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
|
||||
"stage-release": "rimraf ./.release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz",
|
||||
"clean": "rimraf ./dist-* && rimraf *.tsbuildinfo || exit 0",
|
||||
"lint": "eslint -c ../../.eslintrc.js \"src/**/*.ts\"",
|
||||
"format": "prettier --config ../../prettier.config.js --ignore-path ../.prettierignore --write \"**/*.{ts,md,json}\"",
|
||||
"test": "yarn g:jest"
|
||||
},
|
||||
"author": {
|
||||
"name": "AWS SDK for JavaScript Team",
|
||||
"url": "https://aws.amazon.com/javascript/"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@smithy/is-array-buffer": "^2.2.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/recommended": "1.0.1",
|
||||
"@types/node": "^14.14.31",
|
||||
"concurrently": "7.0.0",
|
||||
"downlevel-dts": "0.10.1",
|
||||
"rimraf": "3.0.2",
|
||||
"typedoc": "0.23.23"
|
||||
},
|
||||
"main": "./dist-cjs/index.js",
|
||||
"module": "./dist-es/index.js",
|
||||
"types": "./dist-types/index.d.ts",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"typesVersions": {
|
||||
"<4.0": {
|
||||
"dist-types/*": [
|
||||
"dist-types/ts3.4/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist-*/**"
|
||||
],
|
||||
"homepage": "https://github.com/awslabs/smithy-typescript/tree/main/packages/util-buffer-from",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/awslabs/smithy-typescript.git",
|
||||
"directory": "packages/util-buffer-from"
|
||||
},
|
||||
"typedoc": {
|
||||
"entryPoint": "src/index.ts"
|
||||
},
|
||||
"publishConfig": {
|
||||
"directory": ".release/package"
|
||||
}
|
||||
}
|
||||
201
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/LICENSE
generated
vendored
Normal file
201
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/LICENSE
generated
vendored
Normal file
@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
4
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/README.md
generated
vendored
Normal file
4
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/README.md
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# @smithy/util-utf8
|
||||
|
||||
[](https://www.npmjs.com/package/@smithy/util-utf8)
|
||||
[](https://www.npmjs.com/package/@smithy/util-utf8)
|
||||
1
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.browser.js
generated
vendored
Normal file
1
node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8/dist-cjs/fromUtf8.browser.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
module.exports = require("./index.js");
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user