Abstract class definitions and type structures for Scriptable-iOS, providing the foundation for building mock implementations and type-safe Scriptable development tools.
npm install scriptable-abstractAbstract class definitions and type structures for Scriptable-iOS, providing the foundation for building mock implementations and type-safe Scriptable development tools.
- Complete type definitions extracted from @types/scriptable-ios
- Abstract class implementations with structural information
- Automatic code generation for class structures
- Used as the foundation for scriptable-mocks and other tools
- ESM and CommonJS module support
- Version tracking of source type definitions
``bash`
npm install scriptable-abstractor
pnpm add scriptable-abstract
`typescript
import { AbsAlert } from 'scriptable-abstract';
class MockAlert extends AbsAlert {
private _title: string = '';
private _message: string = '';
get title(): string {
return this._title;
}
set title(value: string) {
this._title = value;
}
get message(): string {
return this._message;
}
set message(value: string) {
this._message = value;
}
async present(): Promise
// Mock implementation
return 0;
}
}
`
`typescript
import { AbsCallbackURL } from 'scriptable-abstract';
// With type parameter for shortcuts
const shortcutURL = new AbsCallbackURL<shortcuts://x-callback-url/${string}>();`
``
scriptable-abstract/
├── src/
│ ├── core/ # Core parsing and generation
│ ├── generators/ # Structure generators
│ └── types/ # Type definitions
├── generated/ # Generated class structures
└── dist/ # Compiled output
- pnpm generate - Generate abstract structurespnpm build
- - Build the projectpnpm clean
- - Clean generated filespnpm format
- - Format codepnpm lint
- - Lint code
MIT
This package uses semantic versioning independently from @types/scriptable-ios. Each version specifies the compatible version of @types/scriptable-ios in its dependencies.
For example:
- Package version: 1.0.0 works with @types/scriptable-ios@1.7.71.1.0
- Package version: works with @types/scriptable-ios@1.7.8
This package uses automated version management to stay in sync with @types/scriptable-ios:
- Automatic daily checks for updates
- Version synchronization across all dependencies
- Automated releases for minor and patch updates
- Manual review process for major version updates
- pnpm sync - Check version consistencypnpm check-update
- - Check for updatespnpm auto-release` - Automated release process
-
1. Daily checks for @types/scriptable-ios updates
2. Automatic version synchronization
3. Automated testing and building
4. Automatic releases for compatible updates
5. Issue creation for major version changes