New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

cmk-checklist

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cmk-checklist - npm Package Compare versions

Comparing version 0.90.2 to 0.90.3

8

build/checklist.d.ts

@@ -28,3 +28,3 @@ export declare type Encoding = 'Shift_JIS' | 'ISO-2022-JP' | 'EUC-JP' | 'UTF-8';

circleNameYomi: string;
penName: string;
penName?: string;
bookName?: string;

@@ -50,3 +50,3 @@ url?: string;

circleNameYomi: string;
penName: string;
penName?: string;
memo?: string;

@@ -73,5 +73,7 @@ colorNumber?: number;

colors: ChecklistColor[];
constructor(header: ChecklistHeader, circles?: ChecklistCircle[] | null, unknowns?: ChecklistUnknown[] | null, colors?: ChecklistColor[] | null);
constructor();
constructor(comiketNumber: number);
constructor(header: ChecklistHeader, circle?: ChecklistCircle[], unknowns?: ChecklistUnknown[], colors?: ChecklistColor[]);
getComiketNumber(): number | null;
setComiketNumber(num: number): void;
}
"use strict";
const main_1 = require('./main');
class Checklist {
constructor(header, circles, unknowns, colors) {
this.header = header;
this.circles = circles || [];
this.unknowns = unknowns || [];
this.colors = colors || [];
constructor(p1, p2, p3, p4) {
if (!p1 || typeof p1 === 'number') {
const comiketNumber = p1 || main_1.CompliantComiketNumber;
this.header = {
eventName: 'ComicMarket' + comiketNumber,
encoding: 'UTF-8',
programSignature: 'cmk-checklist ' + main_1.Version,
};
this.circles = [];
this.unknowns = [];
this.colors = [];
}
else {
this.header = p1;
this.circles = p2 || [];
this.unknowns = p3 || [];
this.colors = p4 || [];
}
}

@@ -9,0 +23,0 @@ getComiketNumber() {

@@ -36,5 +36,3 @@ "use strict";

if (typeof input === 'string') {
if (detected === 'UNICODE' || detected == 'ASCII') {
resolve(ret);
}
resolve(ret);
}

@@ -140,3 +138,2 @@ if (detected === 'ASCII') {

let circleNameYomi = readAsStr(row[11]);
const penName = readAsStr(row[12]);
let spaceNumberSub = readAsNum(row[21]);

@@ -150,3 +147,3 @@ if (serialNumber === undefined) {

if (circleNameYomi === undefined) {
throw new Error(`Circle name yomigana is not defined(row: ${rowNumber})`);
throw new Error(`Circle name yomigana is not defined (row: ${rowNumber})`);
}

@@ -156,5 +153,2 @@ else {

}
if (penName === undefined) {
throw new Error(`Pen name is not defined (row: ${rowNumber})`);
}
if (week && ['日', '月', '火', '水', '木', '金', '土'].indexOf(week) < 0) {

@@ -181,3 +175,3 @@ week = undefined;

circleNameYomi: circleNameYomi,
penName: penName,
penName: readAsStr(row[12]),
bookName: readAsStr(row[13]),

@@ -207,3 +201,2 @@ url: readAsStr(row[14]),

let circleNameYomi = readAsStr(row[2]);
const penName = readAsStr(row[3]);
if (circleName === undefined) {

@@ -213,3 +206,3 @@ throw new Error(`Circle name is not defined (row: ${rowNumber})`);

if (circleNameYomi === undefined) {
throw new Error(`Circle name yomigana is not defined(row: ${rowNumber})`);
throw new Error(`Circle name yomigana is not defined (row: ${rowNumber})`);
}

@@ -219,9 +212,6 @@ else {

}
if (penName === undefined) {
throw new Error(`Pen name is not defined (row: ${rowNumber})`);
}
return {
circleName: circleName,
circleNameYomi: circleNameYomi,
penName: penName,
penName: readAsStr(row[3]),
memo: readAsStr(row[4]),

@@ -228,0 +218,0 @@ colorNumber: readAsNum(row[5]),

/// <reference types="node" />
import { Checklist, Encoding } from './checklist';
export declare const Version: string;
export declare const CompliantComiketNumber: number;
export { Checklist } from './checklist';
export declare function parseChecklistCSV(input: string | Uint8Array | Buffer): Promise<string[][]>;

@@ -5,0 +7,0 @@ export declare function parseChecklistCSV(input: string | Uint8Array | Buffer, callback: (error?: Error, cells?: string[][]) => void): void;

"use strict";
const lib = require('./lib');
exports.Version = require('./../package.json').version;
exports.CompliantComiketNumber = require('./../package.json').compliantComiketNumber;
var checklist_1 = require('./checklist');
exports.Checklist = checklist_1.Checklist;
function parseChecklistCSV(input, callback) {

@@ -5,0 +8,0 @@ if (!callback) {

{
"name": "cmk-checklist",
"version": "0.90.2",
"version": "0.90.3",
"compliantComiketNumber": 90,

@@ -5,0 +5,0 @@ "description": "Read/Write CSV files for Comiket catalog checklist",

@@ -7,2 +7,77 @@ # cmk-checklist

## installation
```
npm install cmk-checklist
```
## Usage
### read
```javascript
const checklist = require('cmk-checklist');
const fs = require('fs');
// checklist.csvを読み込み
const file = fs.readFileSync('./checklist.csv');
checklist.read(file).then((result) => {
console.log(result.header.eventName);
}).catch((error) => {
console.log(error);
});
// Async/Await形式で読み込み
async function read() {
const result = await checklist.read(file);
console.log(result.header.eventName);
});
// Callbackを設定
checklist.read(file, (err, result) => {
if (err) console.log(err);
else console.log(result.header.eventName);
});
```
### write
```javascript
const checklist = require('cmk-checklist');
const fs = require('fs');
async function write() {
// 既存のチェックリストを読み込み
const file = fs.readFileSync('./checklist.csv');
let checklist = await checklist.read(file);
// チェックリストを新規作成
checklist = new checklist.Checklist();
// コミケ開催番号を指定して作成
checklist = new checklist.Checklist(90);
// サークルを追加
checklist.circles.append({
serialNumber: 129936,
colorNumber: 1,
pageNumber: 831,
cutIndex: 21,
week: '金',
area: '西',
block: 'れ',
spaceNumber: 19,
spaceNumberSub: 'a',
genreCode: 112,
circleName: 'apricot+',
circleNameYomi: 'アプリコットプラス',
penName: '蒼樹うめ',
});
// チェックリストを書き込み
const output = await checklist.write(checklist);
fs.writeFileSync('./output.csv', new Buffer(output));
}
```
## license

@@ -9,0 +84,0 @@

@@ -0,1 +1,3 @@

import {Version, CompliantComiketNumber} from './main';
export type Encoding = 'Shift_JIS' | 'ISO-2022-JP' | 'EUC-JP' | 'UTF-8';

@@ -33,3 +35,3 @@

circleNameYomi: string;
penName: string;
penName?: string;
bookName?: string;

@@ -56,3 +58,3 @@ url?: string;

circleNameYomi: string;
penName: string;
penName?: string;
memo?: string;

@@ -82,12 +84,28 @@ colorNumber?: number;

constructor();
constructor(comiketNumber: number);
constructor(header: ChecklistHeader, circle?: ChecklistCircle[], unknowns?: ChecklistUnknown[], colors?: ChecklistColor[]);
constructor(
header: ChecklistHeader,
circles?: ChecklistCircle[] | null,
unknowns?: ChecklistUnknown[] | null,
colors?: ChecklistColor[] | null
p1?: ChecklistHeader | number,
p2?: ChecklistCircle[],
p3?: ChecklistUnknown[],
p4?: ChecklistColor[]
) {
this.header = header;
this.circles = circles || [];
this.unknowns = unknowns || [];
this.colors = colors || [];
if (!p1 || typeof p1 === 'number') {
const comiketNumber = p1 || CompliantComiketNumber;
this.header = {
eventName: 'ComicMarket' + comiketNumber,
encoding: 'UTF-8',
programSignature: 'cmk-checklist ' + Version,
};
this.circles = [];
this.unknowns = [];
this.colors = [];
}
else {
this.header = p1;
this.circles = p2 || [];
this.unknowns = p3 || [];
this.colors = p4 || [];
}
}

@@ -94,0 +112,0 @@

@@ -33,5 +33,3 @@ import * as parse from 'csv-parse';

if (typeof input === 'string') {
if (detected === 'UNICODE' || detected == 'ASCII') {
resolve(ret);
}
resolve(ret);
}

@@ -140,3 +138,2 @@ if (detected === 'ASCII') {

let circleNameYomi = readAsStr(row[11]);
const penName = readAsStr(row[12]);
let spaceNumberSub = readAsNum(row[21]);

@@ -150,9 +147,6 @@ if (serialNumber === undefined) {

if (circleNameYomi === undefined) {
throw new Error(`Circle name yomigana is not defined(row: ${rowNumber})`);
throw new Error(`Circle name yomigana is not defined (row: ${rowNumber})`);
} else {
circleNameYomi = Encoding.toZenkanaCase(circleNameYomi);
}
if (penName === undefined) {
throw new Error(`Pen name is not defined (row: ${rowNumber})`);
}
if (week && ['日', '月', '火', '水', '木', '金', '土'].indexOf(week) < 0) {

@@ -180,3 +174,3 @@ week = undefined;

circleNameYomi: circleNameYomi,
penName: penName,
penName: readAsStr(row[12]),
bookName: readAsStr(row[13]),

@@ -208,3 +202,2 @@ url: readAsStr(row[14]),

let circleNameYomi = readAsStr(row[2]);
const penName = readAsStr(row[3]);
if (circleName === undefined) {

@@ -214,9 +207,6 @@ throw new Error(`Circle name is not defined (row: ${rowNumber})`);

if (circleNameYomi === undefined) {
throw new Error(`Circle name yomigana is not defined(row: ${rowNumber})`);
throw new Error(`Circle name yomigana is not defined (row: ${rowNumber})`);
} else {
circleNameYomi = Encoding.toZenkanaCase(circleNameYomi);
}
if (penName === undefined) {
throw new Error(`Pen name is not defined (row: ${rowNumber})`);
}

@@ -226,3 +216,3 @@ return {

circleNameYomi: circleNameYomi,
penName: penName,
penName: readAsStr(row[3]),
memo: readAsStr(row[4]),

@@ -229,0 +219,0 @@ colorNumber: readAsNum(row[5]),

import * as lib from './lib';
import {Checklist, Encoding} from './checklist';
export const Version: string = require('./../package.json').version;
export const CompliantComiketNumber: number = require('./../package.json').compliantComiketNumber;
export {Checklist} from './checklist';
export function parseChecklistCSV(input: string | Uint8Array | Buffer): Promise<string[][]>

@@ -7,0 +10,0 @@ export function parseChecklistCSV(input: string | Uint8Array | Buffer, callback: (error?: Error, cells?: string[][]) => void): void;

@@ -0,1 +1,4 @@

/// <reference path="./../node_modules/typescript/lib/lib.es6.d.ts" />
/// <reference path="./../node_modules/@types/mocha/index.d.ts" />
import * as assert from 'power-assert';

@@ -180,2 +183,37 @@ import * as fs from 'fs';

it('should fail on missing required column', () => {
const header = 'Header,ComicMarketCD-ROMCatalog,ComicMarket90,UTF-8,Web 1.90.1\n';
const str1 = header + `Circle,212965,0,,,×,×,×,XX,100,"name","yomi","","","","","","",,,"",0,"","","",""`;
const str2 = header + `Circle,,0,,,×,×,×,XX,100,"name","yomi","","","","","","",,,"",0,"","","",""`;
const str3 = header + `Circle,212965,0,,,×,×,×,XX,100,,"yomi","","","","","","",,,"",0,"","","",""`;
const str4 = header + `Circle,212965,0,,,×,×,×,XX,100,"name",,"","","","","","",,,"",0,"","","",""`;
const str5 = header + `UnKnown,"name","yomi","","",0,"","","",""`;
const str6 = header + `UnKnown,,"yomi","","",0,"","","",""`;
const str7 = header + `UnKnown,"name",,"","",0,"","","",""`;
return Promise.all([
index.read(str1).then((result) => {
assert.equal(result.circles[0].serialNumber, 212965);
}),
index.read(str2).then(assert.fail, (error) => {
assert.equal(error.message, 'Circle serial number is not defined (row: 2)');
}),
index.read(str3).then(assert.fail, (error) => {
assert.equal(error.message, 'Circle name is not defined (row: 2)');
}),
index.read(str4).then(assert.fail, (error) => {
assert.equal(error.message, 'Circle name yomigana is not defined (row: 2)');
}),
index.read(str5).then((result) => {
assert.equal(result.unknowns[0].colorNumber, 0);
}),
index.read(str6).then(assert.fail, (error) => {
assert.equal(error.message, 'Circle name is not defined (row: 2)');
}),
index.read(str7).then(assert.fail, (error) => {
assert.equal(error.message, 'Circle name yomigana is not defined (row: 2)');
}),
]);
});
it('should convert zenkaku to hankaku', () => {

@@ -182,0 +220,0 @@ const header = 'Header,ComicMarketCD-ROMCatalog,ComicMarket90,UTF-8,Web 1.90.1\n';

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc