2020年5月以降(早くて4月中旬以降)を目処に、副業先を探しています。
TwitterのDM或いは、以下のメールアドレス宛にお願いします。([at]→@)
melodydance.k.s+biz[at]gmail.com
| import 'dart:async'; | |
| import 'package:macros/macros.dart'; | |
| macro class FirestoreModel implements ClassDeclarationsMacro { | |
| const FirestoreModel(this.collectionPath); | |
| final String collectionPath; | |
| @override | |
| FutureOr<void> buildDeclarationsForClass(ClassDeclaration clazz, MemberDeclarationBuilder builder) async { |
| import 'dart:math' as math; | |
| import 'package:flutter/material.dart'; | |
| extension SliverListEx on SliverList { | |
| static SliverList separated({ | |
| required int itemCount, | |
| required NullableIndexedWidgetBuilder itemBuilder, | |
| required NullableIndexedWidgetBuilder separatorBuilder, | |
| }) { | |
| return SliverList( |
| { | |
| "prvdr": { | |
| "prefix": "prvdr", | |
| "body": [ | |
| "import 'package:hooks_riverpod/hooks_riverpod.dart';", | |
| "final ${1:${TM_FILENAME_BASE/((^[a-z])|_([a-z]))/${2:/downcase}${3:/upcase}/g}} = Provider$2((ref) => ${TM_FILENAME_BASE/((^[a-z])|_([a-z]))/${2:/upcase}${3:/upcase}/g}(ref.read));", | |
| "", | |
| "class ${TM_FILENAME_BASE/((^[a-z])|_([a-z]))/${2:/upcase}${3:/upcase}/g} {", | |
| " const ${TM_FILENAME_BASE/((^[a-z])|_([a-z]))/${2:/upcase}${3:/upcase}/g}(this._read);", | |
| " final Reader _read;", |
| import 'package:flutter/material.dart'; | |
| void main() { | |
| runApp(MyApp()); | |
| } | |
| class MyApp extends StatelessWidget { | |
| // This widget is the root of your application. | |
| @override | |
| Widget build(BuildContext context) { |
| import * as firebase from '@firebase/testing' | |
| import * as fs from 'fs' | |
| const REAL_FIREBASE_PROJECT_ID = '<please input your firebase project id here>' | |
| export const makeTestProjectID = (projectName = 'test') => { | |
| const hrTime = process.hrtime() | |
| return `${projectName}${(hrTime[0] * 1000000 + hrTime[1] / 1000) * 1000}` | |
| } |
| Widget buld(BuildContext context) { | |
| return BouncedWidget.create( | |
| child: const SomeListTile(), | |
| bounce: 0.1, | |
| duration: const Duration(milliseconds: 350), | |
| ); | |
| } |
| import 'package:flutter/material.dart'; | |
| @immutable | |
| class ProgressButton extends StatelessWidget { | |
| const ProgressButton({ | |
| @required this.title, | |
| @required this.onPressed, | |
| this.processing = false, | |
| this.enabled = true, | |
| }); |
| import * as f from 'firebase-functions' | |
| const functions = (runtimeOptions: f.RuntimeOptions = {}) => | |
| f.runWith(runtimeOptions).region('asia-northeast1') | |
| export default functions |
2020年5月以降(早くて4月中旬以降)を目処に、副業先を探しています。
TwitterのDM或いは、以下のメールアドレス宛にお願いします。([at]→@)
melodydance.k.s+biz[at]gmail.com